PandaRoot
PndFsmEffTracker.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //--------------------------------------------------------------------------
14 // File and Version Information:
15 // $Id: FsmTpc.hh,v 1.4 2006/08/10 09:58:41 klausg Exp $
16 //
17 // Description:
18 // Class FsmEffTracker
19 //
20 // Implementation of an effective Tracker for the FastSim
21 // which provides resolution for mom, tht, phi from full sim
22 // NOTE: should be used INSTEAD Tpc/Stt, Mvd and the Mdc's
23 //
24 // This software was developed for the PANDA collaboration. If you
25 // use all or part of it, please give an appropriate acknowledgement.
26 //
27 // Author List:
28 // Klaus Goetzen Original Author
29 //
30 // Copyright Information:
31 // Copyright (C) 2006 GSI
32 //
33 //------------------------------------------------------------------------
34 
35 #ifndef PNDFSMEFFTRACKER_H
36 #define PNDFSMEFFTRACKER_H
37 
38 //----------------------
39 // Base Class Headers --
40 //----------------------
41 
42 //-------------------------------
43 // Collaborating class Headers --
44 //-------------------------------
45 #include <iosfwd>
46 #include "ArgList.h"
47 #include "PndFsmAbsDet.h"
48 
49 //--------------------------------------------
50 // Collaborating class forward declarations --
51 // -------------------------------------------
52 class PndFsmTrack;
53 class PndFsmResponse;
54 
56  public:
57  //--------------------
58  // Public interface --
59  //--------------------
60 
61  //
62  // Constructors
63  //
64 
70  virtual ~PndFsmEffTracker();
71 
76  virtual PndFsmResponse *respond(PndFsmTrack *t);
77 
78  private:
79  bool detected(PndFsmTrack *t) const;
80  double dp(PndFsmTrack *t) const;
81  double dphi(PndFsmTrack *t) const;
82  double dtheta(PndFsmTrack *t) const;
83 
84  double compdEdx(double p, double M);
85  double gauss(double x, double x0, double s);
86 
87  void initParameters();
88  void print(std::ostream &o);
89  bool setParameter(std::string &name, double value);
90 
91  bool readParameters();
92 
93  //
94  // Modifiers
95  //
96 
97  double _thtMin;
98  double _thtMax;
99  double _radiationLength; // material budget
100  double _pmin;
101  double _pRes;
102  double _phiRes;
103  double _thetaRes;
104  double _dEdxRes;
105 
106  std::string _parFileName;
107 
108  int _rows;
109  int _cols;
110 
111  double _sigPhi[6][12];
112  double _sigTht[6][12];
113  double _sigMom[6][12];
114 };
115 
116 #endif
virtual PndFsmResponse * respond(PndFsmTrack *t)
std::list< std::string > ArgList
Definition: ArgList.h:19
virtual ~PndFsmEffTracker()