StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHltTrack.h
1 /***************************************************************************
2  *
3  * $Id: StHltTrack.h,v 2.1 2011/02/01 19:45:47 ullrich Exp $
4  *
5  * Author: Liang Xue, Aihong Tang, Jan 2011
6  ***************************************************************************
7  *
8  * Description:
9  *
10  ***************************************************************************
11  *
12  * $Log: StHltTrack.h,v $
13  * Revision 2.1 2011/02/01 19:45:47 ullrich
14  * Initial Revision
15  *
16  **************************************************************************/
17 #ifndef StHltTrack_hh
18 #define StHltTrack_hh
19 
20 #include <Stiostream.h>
21 #include "StObject.h"
22 #include "StArray.h"
23 #include "StEnumerations.h"
24 
25 class StHltTrackNode;
26 
27 class StHltTrack : public StObject {
28 public:
29  StHltTrack();
30  virtual ~StHltTrack();
31 
32  StTrackType type() const;
33  int id() const;
34  unsigned int flag() const;
35  int innerMostRow() const;
36  int outerMostRow() const;
37  unsigned int nHits() const;
38  unsigned int ndedx() const;
39  int q() const;
40  float chi2(int) const;
41  float dedx() const;
42  float pt() const;
43  float phi0() const;
44  float psi() const;
45  float r0() const;
46  float tanl() const;
47  float z0() const;
48  float length() const;
49  float dpt() const;
50  float dpsi() const;
51  float dz0() const;
52  float dtanl() const;
53 
54  StHltTrackNode* trackNode();
55  const StHltTrackNode* trackNode() const;
56 
57  void setType(StTrackType);
58  void setId(int);
59  void setFlag(unsigned short);
60  void setInnerMostRow(char);
61  void setOuterMostRow(char);
62  void setNHits(unsigned char);
63  void setNDedx(unsigned char);
64  void setQ(char);
65  void setChi2(int,float);
66  void setDedx(float);
67  void setPt(float);
68  void setPhi0(float);
69  void setPsi(float);
70  void setR0(float);
71  void setTanl(float);
72  void setZ0(float);
73  void setLength(float);
74  void setDpt(float);
75  void setDpsi(float);
76  void setDz0(float);
77  void setDtanl(float);
78 
79  void setTrackNode(StHltTrackNode*);
80 
81 protected:
82  StTrackType mType;
83  int mId;
84  unsigned short mFlag;
85  char mInnerMostRow;
86  char mOuterMostRow;
87  unsigned char mNHits;
88  unsigned char mNDedx;
89  char mQ;
90  float mChi2[2];
91  float mDedx;
92  float mPt;
93  float mPhi0;
94  float mPsi;
95  float mR0;
96  float mTanl;
97  float mZ0;
98  float mLength;
99  float mDpt;
100  float mDpsi;
101  float mDz0;
102  float mDtanl;
103 
104 #ifdef __CINT__
105  StObjLink mTrackNode;
106 #else
107  StLink<StHltTrackNode> mTrackNode;
108 #endif //__CINT__
109 
110  ClassDef(StHltTrack,1)
111 };
112 
113 inline StTrackType StHltTrack::type() const {return mType;}
114 inline int StHltTrack::id() const {return mId;}
115 inline unsigned int StHltTrack::flag() const {return mFlag;}
116 inline int StHltTrack::innerMostRow() const {return mInnerMostRow;}
117 inline int StHltTrack::outerMostRow() const {return mOuterMostRow;}
118 inline unsigned int StHltTrack::nHits() const {return mNHits;}
119 inline unsigned int StHltTrack::ndedx() const {return mNDedx;}
120 inline int StHltTrack::q() const {return mQ;}
121 inline float StHltTrack::chi2(int i) const { if (i==0 || i==1) return mChi2[i]; else return 0;}
122 inline float StHltTrack::dedx() const {return mDedx;}
123 inline float StHltTrack::pt() const {return mPt;}
124 inline float StHltTrack::phi0() const {return mPhi0;}
125 inline float StHltTrack::psi() const {return mPsi;}
126 inline float StHltTrack::r0() const {return mR0;}
127 inline float StHltTrack::tanl() const {return mTanl;}
128 inline float StHltTrack::z0() const {return mZ0;}
129 inline float StHltTrack::length() const {return mLength;}
130 inline float StHltTrack::dpt() const {return mDpt;}
131 inline float StHltTrack::dpsi() const {return mDpsi;}
132 inline float StHltTrack::dz0() const {return mDz0;}
133 inline float StHltTrack::dtanl() const {return mDtanl;}
134 
135 inline StHltTrackNode* StHltTrack::trackNode() {return mTrackNode;}
136 inline const StHltTrackNode* StHltTrack::trackNode() const {return mTrackNode;}
137 
138 
139 ostream& operator<<(ostream&, const StHltTrack&);
140 
141 #endif
142 
143 
144 
145 
146 
147 
148 
float mZ0
z coordinate of point where parameters are given
Definition: StHltTrack.h:97
int mId
primary key
Definition: StHltTrack.h:83
float mR0
r (in cyl. coord.) for point where parameters are given
Definition: StHltTrack.h:95
float mPhi0
azimuthal angle of point where parameters are given
Definition: StHltTrack.h:93
char mQ
charge
Definition: StHltTrack.h:89
StTrackType mType
track Type
Definition: StHltTrack.h:82
float mPsi
azimuthal angle of the momentum at (r,...
Definition: StHltTrack.h:94
float mPt
pt at (r, phi,z)
Definition: StHltTrack.h:92
float mChi2[2]
chi squared of the momentum fit
Definition: StHltTrack.h:90
float mTanl
tg of the dip angle at (r,phi,z)
Definition: StHltTrack.h:96