StFmsHit, StFmsCluster and StFmsPoint are the data model defined for storing FMS data in StEvent/StMuDST:
protected:
UShort_t mDetectorId; // Detector Id
UShort_t mChannel; // Channel in the detector
UShort_t mQTCrtSlotCh; // QT Crate/Slot/Ch, 4 bits for Crate and Slot, 8 bits for channal
UShort_t mAdc; // ADC values
UShort_t mTdc; // TDC values
Float_t mEnergy; // corrected energy
protected:
Int_t mDetectorId;
Float_t mTotalEnergy ; // total energy contained in this cluster (0th moment)
Float_t mX ; // mean x ("center of gravity") in local grid coordinate (1st moment)
Float_t mY ; // mean y ("center of gravity") in local grid coordinate (1st moment)
Float_t mThetaAxis; // theta angle in x-y plane that define the direction of least-2nd-sigma axis
Float_t mSigmaX ; // 2nd moment in x
Float_t mSigmaY ; // 2nd moment in y
Float_t mSigmaMin; // 2nd sigma w.r.t to the least-2nd-sigma axis
Float_t mSigmaMax; // 2nd sigma w.r.t to the axis orthogonal to the least-2nd-sigma axis
StPtrVecFmsHit mHits;
protected:
Int_t mDetectorId;
Int_t mCategory ; // catagory (1: 1-photon, 2: 2-photon, 0: could be either 1- or 2-photon)
Float_t mFittedEnergy ; // fitted energy of the hit
Float_t mX ; // fitted x in local grid coordinate (1st moment)
Float_t mY ; // fitted y in local grid coordinate (1st moment)
Float_t mChiSquare; // Chi-square of the fitting
StPtrVecFmsCluster mMotherCluster;
StPtrVecFmsPoint mSiblingPoint;
StFmsCollection is the entry point to FMS related data in StEvent/StMuDST.
public:
void addHit(StFmsHit*);
void addCluster(StFmsCluster*);
void addPoint(StFmsPoint*);
unsigned int nHits() const;
unsigned int nClusters() const;
unsigned int nPoints() const;
StSPtrVecFmsHit& hits();
const StSPtrVecFmsHit& hits() const;
StSPtrVecFmsCluster& clusters();
const StSPtrVecFmsCluster& clusters() const;
StSPtrVecFmsPoint& points();
const StSPtrVecFmsPoint& points() const;
protected:
StSPtrVecFmsHit mHits;
StSPtrVecFmsCluster mClusters;
StSPtrVecFmsPoint mPoints;