9 #ifndef StMuFwdTrack_hh
10 #define StMuFwdTrack_hh
15 #include "TRefArray.h"
17 #include "StMuFcsCluster.h"
29 mDetId = other.mDetId;
30 memcpy( mCov, other.mCov,
sizeof( mCov ) );
36 set( detId, xyz, mom, c );
39 void set(
unsigned short detId,
46 memcpy( mCov, c,
sizeof(mCov) );
49 mDetId = other.mDetId;
52 memcpy( mCov, other.mCov,
sizeof(mCov) );
60 return sqrt( mCov[0] );
63 return sqrt( mCov[4] );
66 return sqrt( mCov[8] );
76 unsigned short trackId,
81 memcpy( mCov, cov,
sizeof( mCov ));
85 unsigned short mTrackId;
98 std::vector<StMuFwdTrackProjection> mProjections;
99 std::vector<StMuFwdTrackSeedPoint> mFTTPoints;
100 std::vector<StMuFwdTrackSeedPoint> mFSTPoints;
102 bool getProjectionFor(
int detectorId,
106 TVector3 momentum()
const;
107 TVector3 momentumAt(
size_t _id = 0)
const;
112 bool didFitConverge()
const;
113 bool didFitConvergeFully()
const;
114 short numberOfFailedPoints()
const;
120 short numberOfFitPoints()
const;
124 short numberOfSeedPoints()
const;
127 void setPrimaryMomentum( TVector3 mom ) { mPrimaryMomentum = mom; }
128 void setDidFitConverge(
bool lDidFitConverge ) { mDidFitConverge = lDidFitConverge; }
129 void setDidFitConvergeFully(
bool lDidFitConvergeFully ) { mDidFitConvergeFully = lDidFitConvergeFully;}
130 void setNumberOfFailedPoints(
short lNumberOfFailedPoints ) { mNumberOfFailedPoints = lNumberOfFailedPoints;}
131 void setNumberOfSeedPoints(
short lNumberOfSeedPoints ) { mNumberOfSeedPoints = lNumberOfSeedPoints;}
132 void setNumberOfFitPoints(
short lNumberOfFitPoints ) { mNumberOfFitPoints = lNumberOfFitPoints;}
133 void setChi2(
float lChi2 ) { mChi2 = lChi2;}
134 void setNDF(
float lNDF ) { mNDF = lNDF;}
135 void setPval(
float lPval ) { mPval = lPval;}
136 void setCharge(
short lCharge ) { mCharge = lCharge;}
154 TRefArray mEcalClusters;
155 TRefArray mHcalClusters;
157 void setMc( UShort_t idt, UShort_t qual ) { mIdTruth = idt; mQATruth = qual; }
158 void setDCA( TVector3 dca ) { mDCA[0] = dca.X(); mDCA[1] = dca.Y(); mDCA[2] = dca.Z(); }
159 void setDCA(
float dcaX,
float dcaY,
float dcaZ ) { mDCA[0] = dcaX; mDCA[1] = dcaY; mDCA[2] = dcaZ; }
160 void setVtxIndex( UChar_t vtxIndex ) { mVtxIndex = vtxIndex; }
163 UShort_t idTruth()
const {
return mIdTruth; }
164 UShort_t qaTruth()
const {
return mQATruth; }
165 TVector3 dca()
const {
return TVector3( mDCA[0], mDCA[1], mDCA[2] ); }
166 UChar_t vertexIndex()
const {
return mVtxIndex; }
167 bool isPrimary()
const {
return mVtxIndex != UCHAR_MAX; }
172 bool mDidFitConverge;
173 bool mDidFitConvergeFully;
174 short mNumberOfFailedPoints;
175 short mNumberOfSeedPoints;
176 short mNumberOfFitPoints;
181 TVector3 mPrimaryMomentum;