00001
00009 #ifndef StMuEmcTowerData__h
00010 #define StMuEmcTowerData__h
00011
00012 #include "TObject.h"
00013 #include "Stiostream.h"
00014 #include "StEnumerations.h"
00015
00016 enum {bemc=1, bprs=2, bsmde=3, bsmdp=4, eemc=5, eprs=6, esmdu=7, esmdv=8};
00017
00018 class StMuEmcTowerData: public TObject
00019 {
00020 public:
00021 StMuEmcTowerData();
00022 StMuEmcTowerData(const StMuEmcTowerData&);
00023 virtual ~StMuEmcTowerData();
00024 int towerADC(int id, int detector = bemc) const;
00025 StEmcCrateStatus crateStatus(int crate, int detector = bemc) const;
00026 void clearBemc();
00027 void clearEemc();
00028
00029
00030 int getNEndcapTowerADC() const { return nEndcapTowers;}
00031 void getEndcapTowerADC(int ihit, int &adc, int &sec, int &sub, int & eta) const;
00032
00033 void setTowerADC(int,int, int detector = bemc);
00034 void setCrateStatus(StEmcCrateStatus status, int crate, int detector = bemc);
00035
00036 enum { nBTowCrates=30, nBSmdCrates=8, nBPrsCrates=4, nETowCrates=6,
00037 nESmdCrates=36, nEPrsCrates=12};
00038
00039 protected:
00040 enum {nEmcTowers=4800, nEndcapTowers=720};
00041 unsigned short mTowerADC[nEmcTowers];
00042 unsigned short mEndcapTowerADC[nEndcapTowers];
00043 unsigned char mBTowCrateFlags[nBTowCrates];
00044 unsigned char mBSmdCrateFlags[nBSmdCrates];
00045 unsigned char mBPrsCrateFlags[nBPrsCrates];
00046 unsigned char mETowCrateFlags[nETowCrates];
00047 unsigned char mESmdCrateFlags[nESmdCrates];
00048 unsigned char mEPrsCrateFlags[nEPrsCrates];
00049 ClassDef(StMuEmcTowerData,1)
00050 };
00051
00052
00053
00054 #endif
00055