StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMtdPidTraits.h
1 
5 /***************************************************************************
6  *
7  * $Id: StMtdPidTraits.h,v 2.3 2014/07/22 01:45:13 ullrich Exp $
8  *
9  * Author: Frank Geurts (Rice)
10  ***************************************************************************
11  *
12  * $Log: StMtdPidTraits.h,v $
13  * Revision 2.3 2014/07/22 01:45:13 ullrich
14  * Added residuals (dz,dy) between matched track-hit pairs nd access functions (Rongrong Ma)
15  *
16  * Revision 2.2 2014/05/29 16:58:06 ullrich
17  * Added new member mExpTimeOfFlight and referring access methods.
18  *
19  * Revision 1.2 2014/05/22 19:04:22 marr
20  * locally backup /star/u/marr/data02/mtd/dev/StRoot/StEvent/StMtdPidTraits.h
21  *
22  * Revision 2.1 2013/02/21 00:23:09 ullrich
23  * Initial Revision.
24  *
25  ***************************************************************************/
26 #ifndef StMtdPidTraits_hh
27 #define StMtdPidTraits_hh
28 
29 #include "StTrackPidTraits.h"
30 #include "StMtdHit.h"
31 #include "StThreeVectorF.hh"
32 
34 public:
36  ~StMtdPidTraits();
37 
38  StMtdHit* mtdHit();
39  const StMtdHit* mtdHit() const;
40 
42  unsigned char matchFlag() const;
43  float yLocal() const;
44  float zLocal() const;
45  float thetaLocal() const;
46  float deltaY() const;
47  float deltaZ() const;
48 
49  StThreeVectorF& position();
50  const StThreeVectorF& position() const;
51 
53  float timeOfFlight() const;
54  float expTimeOfFlight() const;
55  float pathLength() const;
56  float beta() const;
57 
59  float sigmaMuon() const;
60 
61  float probMuon() const;
62 
64  void setMtdHit(StMtdHit*);
65 
66  void setMatchFlag(unsigned char);
67  void setYLocal(float);
68  void setZLocal(float);
69  void setThetaLocal(float);
70  void setPosition( const StThreeVectorF&);
71  void setDeltaY(float);
72  void setDeltaZ(float);
73 
74  void setTimeOfFlight(float);
75  void setExpTimeOfFlight(float);
76  void setPathLength(float);
77  void setBeta(float);
78 
79  void setSigmaMuon(float);
80 
81  void setProbMuon(float);
82 
83 private:
84 #ifdef __CINT__
85  StObjLink mMtdHit;
86 #else
87  StLink<StMtdHit> mMtdHit;
88 #endif //__CINT__
89 
90  UChar_t mMatchFlag;
91  Float_t mYLocal;
92  Float_t mZLocal;
93  Float_t mThetaLocal;
94  StThreeVectorF mPosition;
95 
96  Float_t mTimeOfFlight; // Measured time-of-flight
97  Float_t mPathLength; // Path length obtained from track extrapolation
98  Float_t mBeta;
99 
100  Float_t mSigmaMuon;
101 
102  Float_t mProbMuon;
103  Float_t mExpTimeOfFlight; // Expected time-of-flight obtained from track extrapolation
104 
105  Float_t mDeltaY; // DeltaY between matched track-hit pair
106  Float_t mDeltaZ; // DeltaZ between matched track-hit pair
107 
108 
109  ClassDef(StMtdPidTraits,3)
110 };
111 
112 inline unsigned char StMtdPidTraits::matchFlag() const { return mMatchFlag; }
113 inline float StMtdPidTraits::yLocal() const { return mYLocal; }
114 inline float StMtdPidTraits::zLocal() const { return mZLocal; }
115 inline float StMtdPidTraits::deltaY() const { return mDeltaY; }
116 inline float StMtdPidTraits::deltaZ() const { return mDeltaZ; }
117 inline float StMtdPidTraits::thetaLocal() const { return mThetaLocal; }
118 inline float StMtdPidTraits::timeOfFlight() const { return mTimeOfFlight; }
119 inline float StMtdPidTraits::expTimeOfFlight() const { return mExpTimeOfFlight; }
120 inline float StMtdPidTraits::pathLength() const { return mPathLength; }
121 inline float StMtdPidTraits::beta() const { return mBeta; }
122 inline float StMtdPidTraits::sigmaMuon() const { return mSigmaMuon; }
123 inline float StMtdPidTraits::probMuon() const { return mProbMuon; }
124 
125 inline void StMtdPidTraits::setMatchFlag(unsigned char flag) { mMatchFlag=flag; }
126 inline void StMtdPidTraits::setYLocal(float y) { mYLocal=y; }
127 inline void StMtdPidTraits::setZLocal(float z) { mZLocal=z; }
128 inline void StMtdPidTraits::setDeltaY(float y) { mDeltaY=y; }
129 inline void StMtdPidTraits::setDeltaZ(float z) { mDeltaZ=z; }
130 inline void StMtdPidTraits::setThetaLocal(float theta) { mThetaLocal=theta; }
131 inline void StMtdPidTraits::setTimeOfFlight(float t) { mTimeOfFlight=t; }
132 inline void StMtdPidTraits::setExpTimeOfFlight(float t) { mExpTimeOfFlight=t; }
133 inline void StMtdPidTraits::setPathLength(float s) { mPathLength=s; }
134 inline void StMtdPidTraits::setBeta(float beta) { mBeta=beta; }
135 inline void StMtdPidTraits::setSigmaMuon(float sigma) { mSigmaMuon=sigma; }
136 inline void StMtdPidTraits::setProbMuon(float prob) { mProbMuon=prob; }
137 
138 #endif
float sigmaMuon() const
PID functions.
float timeOfFlight() const
timing for PID
unsigned char matchFlag() const
Matching information.