StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StL3RareTrack.h
1 //
2 // StL3RareTrack.h
3 //
4 
5 #ifndef STL3RARETRACK_HH
6 #define STL3RARETRACK_HH
7 
8 #include "Rtypes.h"
9 #include "TObject.h"
10 #include "TClonesArray.h"
11 #include "TMath.h"
12 class StL3EventSummary;
13 class StGlobalTrack;
14 
15 
16 class StL3RareTrack : public TObject
17 {
18  public:
19  StL3RareTrack();
21  ~StL3RareTrack(){};
22  int tracknumber() const;
23  int flag() const;
24  float px() const;
25  float py() const;
26  float pz() const;
27  float p() const;
28  short chargesign() const;
29  float rapidity(float mass) const;
30  float pt() const;
31  float dca2d() const;
32  float dedx() const;
33  short ndedx() const;
34  float chisqxy() const;
35  float chisqz() const;
36  short npntpossible() const;
37  short npntfit() const;
38  float dedxExpected(float mass, float charge = 1) const;
39  float dedxPi() const;
40  float dedxProton() const;
41  float dedxDeuteron() const;
42  float dedxTriton() const;
43  float dedxHe3() const;
44  float dedxHe4() const;
45  void SetTrigType(int type);
46  int trigtype() const; //33 = random track
47 
48  private:
49  int mTracknumber;
50  int mFlag;
51  float mPx;
52  float mPy;
53  float mPz;
54  short mChargesign;
55  float mDca2d;
56  float mDedx;
57  short mNDedx;
58  float mChisqXY;
59  float mChisqSZ;
60  short mNPntfit;
61  short mNPntpossible;
62  int mTrigType;
63 
64  ClassDef(StL3RareTrack,2)
65 };
66 
67 inline int StL3RareTrack::tracknumber() const {return mTracknumber;}
68 inline int StL3RareTrack::flag() const {return mFlag;}
69 inline float StL3RareTrack::px() const {return mPx;}
70 inline float StL3RareTrack::py() const {return mPy;}
71 inline float StL3RareTrack::pz() const {return mPz;}
72 inline float StL3RareTrack::p() const {return ::sqrt(mPx*mPx+mPy*mPy+mPz*mPz);}
73 inline float StL3RareTrack::pt() const {return ::sqrt(mPx*mPx+mPy*mPy);}
74 inline short StL3RareTrack::chargesign() const {return mChargesign;}
75 inline float StL3RareTrack::dca2d() const {return mDca2d;}
76 inline float StL3RareTrack::dedx() const {return mDedx;}
77 inline short StL3RareTrack::ndedx() const {return mNDedx;}
78 inline float StL3RareTrack::chisqxy() const {return mChisqXY;}
79 inline float StL3RareTrack::chisqz() const {return mChisqSZ;}
80 inline short StL3RareTrack::npntfit() const {return mNPntfit;}
81 inline short StL3RareTrack::npntpossible() const {return mNPntpossible;}
82 inline float StL3RareTrack::dedxPi() const {return dedxExpected(0.139,1);}
83 inline float StL3RareTrack::dedxProton() const {return dedxExpected(0.939,1);}
84 inline float StL3RareTrack::dedxDeuteron() const {return dedxExpected(1.88,1);}
85 inline float StL3RareTrack::dedxTriton() const {return dedxExpected(2.82,1);}
86 inline float StL3RareTrack::dedxHe3() const {return dedxExpected(2.82,2);}
87 inline float StL3RareTrack::dedxHe4() const {return dedxExpected(3.76,2);}
88 inline int StL3RareTrack::trigtype() const {return mTrigType;}
89 
90 #endif