35 #include "StLorentzVectorF.hh"
36 #include "StThreeVectorF.hh"
38 #include "StFmsCluster.h"
46 enum StFmsPointPidFlag {
63 const char* pidName(
int i);
64 unsigned short detectorId()
const;
71 int parentClusterId()
const;
72 int nParentClusterPhotons()
const;
75 void setDetectorId(
unsigned short detector);
76 void setEnergy(
float energy);
77 void setX(
float xpos);
78 void setY(
float ypos);
81 void setParentClusterId(
int cluid);
82 void setNParentClusterPhotons(
int nclph);
87 int fpsNCandidate(
int layer);
88 float fpsMip(
int layer,
int candidate=0);
89 int fpsSlatId(
int layer,
int candidate=0);
90 float fpsDistance(
int layer,
int candidate=0);
92 void setFpsPid(
int v);
93 void setFps(
int layer,
float mip,
int slatid,
float dist);
95 void orderFpsCandidates(
int layer=0);
97 void print(
int option=0);
100 UShort_t mDetectorId;
105 Int_t mParentClusterId;
106 Int_t mNParentClusterPhotons;
116 Int_t mFpsNCandidate[kFpsNLayer];
117 Float_t mFpsMip[kFpsNLayer][kFpsNCandidate];
118 Int_t mFpsSlatId[kFpsNLayer][kFpsNCandidate];
119 Float_t mFpsDistance[kFpsNLayer][kFpsNCandidate];
124 inline unsigned short StFmsPoint::detectorId()
const {
return mDetectorId; }
125 inline float StFmsPoint::energy()
const {
return mEnergy; }
126 inline float StFmsPoint::x()
const {
return mX; }
127 inline float StFmsPoint::y()
const {
return mY; }
128 inline int StFmsPoint::id()
const {
return mId; }
129 inline StFmsCluster* StFmsPoint::cluster() {
return mCluster; }
130 inline const StFmsCluster* StFmsPoint::cluster()
const {
return mCluster; }
131 inline int StFmsPoint::parentClusterId()
const {
return mParentClusterId; }
133 inline int StFmsPoint::nParentClusterPhotons()
const {
return mNParentClusterPhotons; }
135 inline const StThreeVectorF& StFmsPoint::XYZ()
const {
return mXYZ; }
136 inline const StLorentzVectorF& StFmsPoint::fourMomentum()
const {
return mFourMomentum; }
137 inline void StFmsPoint::setDetectorId(
unsigned short detector) { mDetectorId = detector; }
138 inline void StFmsPoint::setEnergy(
float energy) { mEnergy = energy; }
139 inline void StFmsPoint::setX(
float xpos) { mX = xpos; }
140 inline void StFmsPoint::setY(
float ypos) { mY = ypos; }
141 inline void StFmsPoint::setId(
int phid) { mId = phid; }
142 inline void StFmsPoint::setCluster(
StFmsCluster* cluster) { mCluster = cluster; }
143 inline void StFmsPoint::setParentClusterId(
int cluid) { mParentClusterId = cluid; }
144 inline void StFmsPoint::setNParentClusterPhotons(
int nclph) { mNParentClusterPhotons = nclph; }
145 inline void StFmsPoint::setXYZ(
const StThreeVectorF& p3) { mXYZ = p3; }
146 inline void StFmsPoint::setFourMomentum(
const StLorentzVectorF& p4) { mFourMomentum = p4; }
147 inline int StFmsPoint::fpsPid() {
return mFpsPid;}
148 inline void StFmsPoint::setFpsPid(
int v) {mFpsPid=v;}
149 inline const char* StFmsPoint::pidName(
int i) {
151 case kFpsPidNoFps:
return "NoDet ";
152 case kFpsPidBad:
return "Bad ";
153 case kFpsPidGamma1:
return "GNC ";
154 case kFpsPidGamma2:
return "GC ";
155 case kFpsPidGamma3:
return "GNCwL1H";
156 case kFpsPidGamma4:
return "GNCwL2H";
157 case kFpsPidGamma5:
return "GCwL1H ";
158 case kFpsPidGamma6:
return "GCwL2H ";
159 case kFpsPidGamma7:
return "G2e+e- ";
160 case kFpsPidMip:
return "MIP ";
161 case kFpsPidElectron1:
return "Egolden";
162 case kFpsPidElectron2:
return "EwL1H ";
163 case kFpsPidElectron3:
return "EwL2H ";
164 case kFpsPidUnknown:
return "NOL3 ";
165 default:
return "???? ";
170 #endif // StFmsPoint_h