22 #ifndef StRpsTrackPoint_hh
23 #define StRpsTrackPoint_hh
26 #include "StThreeVectorF.hh"
36 enum StRpsTrackPointQuality {rpsNormal, rpsGolden, rpsNotSet};
40 int clusterId(
unsigned int)
const;
41 double time(
unsigned int)
const;
42 StRpsTrackPointQuality quality()
const;
43 unsigned int planesUsed()
const;
51 void setClusterId(
int,
unsigned int);
52 void setTime(
double,
unsigned int);
53 void setQuality(StRpsTrackPointQuality);
55 enum {mNumberOfPmtsInRp = 2, mNumberOfPlanesInRp = 4};
59 int mClusterId[mNumberOfPlanesInRp];
60 double mTime[mNumberOfPmtsInRp];
63 StRpsTrackPointQuality mQuality;
68 inline StThreeVectorF StRpsTrackPoint::positionVec()
const {
return mPosition; }
69 inline int StRpsTrackPoint::rpId()
const {
return mRpId; }
70 inline int StRpsTrackPoint::clusterId(
unsigned int planeId )
const
72 return planeId<mNumberOfPlanesInRp ? mClusterId[planeId] : -1;
74 inline double StRpsTrackPoint::time(
unsigned int pmtId)
const
76 return pmtId<mNumberOfPmtsInRp ? mTime[pmtId] : -1;
78 inline StRpsTrackPoint::StRpsTrackPointQuality StRpsTrackPoint::quality()
const {
return mQuality; }
79 inline double StRpsTrackPoint::x()
const {
return mPosition.x(); }
80 inline double StRpsTrackPoint::y()
const {
return mPosition.y(); }
81 inline double StRpsTrackPoint::z()
const {
return mPosition.z(); }
83 inline void StRpsTrackPoint::setPosition(
const StThreeVectorF& position)
87 inline void StRpsTrackPoint::setRpId(
int rpId) { mRpId = rpId; }
88 inline void StRpsTrackPoint::setClusterId(
int clusterId,
unsigned int planeId)
90 if( planeId<mNumberOfPlanesInRp )
91 mClusterId[planeId] = clusterId;
93 inline void StRpsTrackPoint::setTime(
double timeVal,
unsigned int pmtId)
95 if( pmtId<mNumberOfPmtsInRp ) mTime[pmtId] = timeVal;
97 inline void StRpsTrackPoint::setQuality(StRpsTrackPoint::StRpsTrackPointQuality quality )