1 #ifndef __StMuRpsTrackPoint_hh__
2 #define __StMuRpsTrackPoint_hh__
14 enum StMuRpsTrackPointQuality {rpsNormal, rpsGolden, rpsNotSet};
15 enum {mNumberOfPmtsInRp = 2, mNumberOfPlanesInRp = 4};
23 Int_t mClusterId[mNumberOfPlanesInRp];
25 StMuRpsTrackPointQuality mQuality;
27 double mTime[mNumberOfPmtsInRp];
36 TVector3 positionVec()
const;
38 Int_t clusterId(
unsigned int planeId )
const;
39 double time(
unsigned int)
const;
40 StMuRpsTrackPointQuality quality()
const;
46 void setPosition(
const TVector3&);
48 void setClusterId(Int_t,
unsigned int);
49 void setQuality(StMuRpsTrackPointQuality quality);
50 unsigned int planesUsed()
const;
52 void setTime(
double,
unsigned int);
60 inline TVector3 StMuRpsTrackPoint::positionVec()
const {
return mPosition; }
61 inline Int_t StMuRpsTrackPoint::rpId()
const {
return mRpId; }
62 inline Int_t StMuRpsTrackPoint::clusterId(
unsigned int planeId )
const {
63 return planeId<mNumberOfPlanesInRp ? mClusterId[planeId] : -1;
65 inline StMuRpsTrackPoint::StMuRpsTrackPointQuality StMuRpsTrackPoint::quality()
const {
return mQuality; }
66 inline double StMuRpsTrackPoint::x()
const {
return mPosition.x(); }
67 inline double StMuRpsTrackPoint::y()
const {
return mPosition.y(); }
68 inline double StMuRpsTrackPoint::z()
const {
return mPosition.z(); }
70 inline void StMuRpsTrackPoint::setPosition(
const TVector3& position){
73 inline void StMuRpsTrackPoint::setRpId(Int_t rpId) { mRpId = rpId; }
74 inline void StMuRpsTrackPoint::setClusterId(
int clusterId,
unsigned int planeId) {
75 if( planeId<mNumberOfPlanesInRp )
76 mClusterId[planeId] = clusterId;
78 inline void StMuRpsTrackPoint::setQuality(StMuRpsTrackPointQuality quality ) {
81 inline double StMuRpsTrackPoint::time(
unsigned int pmtId)
const {
82 return pmtId<mNumberOfPmtsInRp ? mTime[pmtId] : -1;
84 inline void StMuRpsTrackPoint::setTime(
double timeVal,
unsigned int pmtId){
85 if( pmtId<mNumberOfPmtsInRp ) mTime[pmtId] = timeVal;