00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef StBTofPidTraits_hh
00026 #define StBTofPidTraits_hh
00027
00028 #include "StTrackPidTraits.h"
00029 #include "StBTofHit.h"
00030 #include "StThreeVectorF.hh"
00031
00032 class StBTofPidTraits : public StTrackPidTraits {
00033 public:
00034 StBTofPidTraits();
00035 ~StBTofPidTraits();
00036
00037 StBTofHit* tofHit();
00038 const StBTofHit* tofHit() const;
00039
00041 unsigned char matchFlag() const;
00042 float yLocal() const;
00043 float zLocal() const;
00044 float thetaLocal() const;
00045
00046 StThreeVectorF& position();
00047 const StThreeVectorF& position() const;
00048
00050 float tot() const;
00051 float timeOfFlight() const;
00052 float pathLength() const;
00053 float beta() const;
00054
00056 float sigmaElectron() const;
00057 float sigmaPion() const;
00058 float sigmaKaon() const;
00059 float sigmaProton() const;
00060
00061 float probElectron() const;
00062 float probPion() const;
00063 float probKaon() const;
00064 float probProton() const;
00065
00067 void setTofHit(StBTofHit*);
00068
00069 void setMatchFlag(unsigned char);
00070 void setYLocal(float);
00071 void setZLocal(float);
00072 void setThetaLocal(float);
00073 void setPosition( const StThreeVectorF&);
00074
00075 void setTimeOfFlight(float);
00076 void setPathLength(float);
00077 void setBeta(float);
00078
00079 void setSigmaElectron(float);
00080 void setSigmaPion(float);
00081 void setSigmaKaon(float);
00082 void setSigmaProton(float);
00083
00084 void setProbElectron(float);
00085 void setProbPion(float);
00086 void setProbKaon(float);
00087 void setProbProton(float);
00088
00089 private:
00090
00091 #ifdef __CINT__
00092 StObjLink mBTofHit;
00093 #else
00094 StLink<StBTofHit> mBTofHit;
00095 #endif //__CINT__
00096
00097 UChar_t mMatchFlag;
00098 Float_t mYLocal;
00099 Float_t mZLocal;
00100 Float_t mThetaLocal;
00101 StThreeVectorF mPosition;
00102
00103 Float_t mTimeOfFlight;
00104 Float_t mPathLength;
00105 Float_t mBeta;
00106
00107 Float_t mSigmaElectron;
00108 Float_t mSigmaPion;
00109 Float_t mSigmaKaon;
00110 Float_t mSigmaProton;
00111
00112 Float_t mProbElectron;
00113 Float_t mProbPion;
00114 Float_t mProbKaon;
00115 Float_t mProbProton;
00116
00117 ClassDef(StBTofPidTraits,1)
00118 };
00119
00120 inline unsigned char StBTofPidTraits::matchFlag() const { return mMatchFlag; }
00121 inline float StBTofPidTraits::yLocal() const { return mYLocal; }
00122 inline float StBTofPidTraits::zLocal() const { return mZLocal; }
00123 inline float StBTofPidTraits::thetaLocal() const { return mThetaLocal; }
00124 inline float StBTofPidTraits::timeOfFlight() const { return mTimeOfFlight; }
00125 inline float StBTofPidTraits::pathLength() const { return mPathLength; }
00126 inline float StBTofPidTraits::beta() const { return mBeta; }
00127 inline float StBTofPidTraits::sigmaElectron() const { return mSigmaElectron; }
00128 inline float StBTofPidTraits::sigmaPion() const { return mSigmaPion; }
00129 inline float StBTofPidTraits::sigmaKaon() const { return mSigmaKaon; }
00130 inline float StBTofPidTraits::sigmaProton() const { return mSigmaProton; }
00131 inline float StBTofPidTraits::probElectron() const { return mProbElectron; }
00132 inline float StBTofPidTraits::probPion() const { return mProbPion; }
00133 inline float StBTofPidTraits::probKaon() const { return mProbKaon; }
00134 inline float StBTofPidTraits::probProton() const { return mProbProton; }
00135
00136 inline void StBTofPidTraits::setMatchFlag(unsigned char flag) { mMatchFlag=flag; }
00137 inline void StBTofPidTraits::setYLocal(float y) { mYLocal=y; }
00138 inline void StBTofPidTraits::setZLocal(float z) { mZLocal=z; }
00139 inline void StBTofPidTraits::setThetaLocal(float theta) { mThetaLocal=theta; }
00140 inline void StBTofPidTraits::setTimeOfFlight(float t) { mTimeOfFlight=t; }
00141 inline void StBTofPidTraits::setPathLength(float s) { mPathLength=s; }
00142 inline void StBTofPidTraits::setBeta(float beta) { mBeta=beta; }
00143 inline void StBTofPidTraits::setSigmaElectron(float sigma) { mSigmaElectron=sigma; }
00144 inline void StBTofPidTraits::setSigmaPion(float sigma) { mSigmaPion=sigma; }
00145 inline void StBTofPidTraits::setSigmaKaon(float sigma) { mSigmaKaon=sigma; }
00146 inline void StBTofPidTraits::setSigmaProton(float sigma) { mSigmaProton=sigma; }
00147 inline void StBTofPidTraits::setProbElectron(float prob) { mProbElectron=prob; }
00148 inline void StBTofPidTraits::setProbPion(float prob) { mProbPion=prob; }
00149 inline void StBTofPidTraits::setProbKaon(float prob) { mProbKaon=prob; }
00150 inline void StBTofPidTraits::setProbProton(float prob) { mProbProton=prob; }
00151
00152 #endif