#ifndef TFwdDetDataBlock_hh #define TFwdDetDataBlock_hh #include class TFwdDetDataBlock: public TStnDataBlock { friend Int_t StntupleInitFwdDetDataBlock(TStnDataBlock* block, AbsEvent* event, int mode); public: enum { BscNCh = 18, BscThresh = 250, RptNCh = 3, RptThresh = 250, RpsNLayers = 6, RpsNFibers = 40, RpsThresh = 1, MpNSides = 2, MpNTowers = 84, MpNSumTowers = 18, MpTowerThresh = 100, MpSumTowerThresh = 300 }; protected: Short_t fBscData[BscNCh]; Short_t fRptData[RptNCh]; Short_t fRpsData[RpsNLayers][RpsNFibers]; Short_t fMpTowerData[MpNSides][MpNTowers]; Short_t fMpSumTowerData[MpNSides][MpNSumTowers]; Short_t fNBscHits; Short_t fNRptHits; Short_t fNRpsHits[RpsNLayers]; Short_t fNMpHits[MpNSides][2]; //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: // ****** constructors and destructor TFwdDetDataBlock(); virtual ~TFwdDetDataBlock(); // ****** accessors Short_t GetBscData(int ich) const { return fBscData[ich]; } Short_t GetRptData(int ich) const { return fRptData[ich]; } Short_t GetRpsData(int il, int ifib) const { return fRpsData[il][ifib]; } Short_t GetMpTowerData(int is, int it) const { return fMpTowerData[is][it]; } Short_t GetMpSumTowerData(int is, int it) const { return fMpSumTowerData[is][it];} Short_t GetNBscHits() const { return fNBscHits; } Short_t GetNRptHits() const { return fNRptHits; } Short_t GetNRpsHits(int il) const { return fNRpsHits[il]; } Short_t GetNMpHits(int is, int it) const { return fNMpHits[is][it]; } // ****** overloaded methods of // TObject void Clear(Option_t* opt = ""); void Print(Option_t* opt = "") const; char GetBscSide(int ch); int GetBscStation(int ch); int GetBscCounter(int ch); ClassDef(TFwdDetDataBlock,1) // data from the forward detectors }; #endif