00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef StEmcTriggerDetector_hh
00035 #define StEmcTriggerDetector_hh
00036 #include "StObject.h"
00037 #include "StEnumerations.h"
00038
00039 class dst_TrgDet_st;
00040 class StTriggerData;
00041
00042 class StEmcTriggerDetector : public StObject {
00043 public:
00044 StEmcTriggerDetector();
00045 StEmcTriggerDetector(const dst_TrgDet_st&);
00046 StEmcTriggerDetector(const StTriggerData&);
00047
00048
00049 ~StEmcTriggerDetector();
00050
00051 int numberOfTowers() const;
00052
00053 int highTower(unsigned int) const;
00054 int patch(unsigned int) const;
00055 int highTowerEndcap(unsigned int) const;
00056 int patchEndcap(unsigned int) const;
00057 unsigned short bemcLayer1(int idx) const;
00058 unsigned short eemcLayer1(int idx) const;
00059 unsigned short emcLayer2(int idx) const;
00060
00061 void setHighTower(unsigned int, int);
00062 void setPatch(unsigned int, int);
00063 void setHighTowerEndcap(unsigned int, int);
00064 void setPatchEndcap(unsigned int, int);
00065
00066 protected:
00067 enum {mNPatch = 300, mENPatch = 90, mNBemcLayer1 = 48,
00068 mNEemcLayer1 = 16, mNEmcLayer2 = 8};
00069
00070 private:
00071
00072 char mBeg[1];
00073 Char_t mHighTower[mNPatch];
00074 Char_t mPatch[mNPatch];
00075
00076 Char_t mEHighTower[mENPatch];
00077 Char_t mEPatch[mENPatch];
00078
00079
00080 unsigned short mBemcLayer1[mNBemcLayer1];
00081 unsigned short mEemcLayer1[mNEemcLayer1];
00082 unsigned short mEmcLayer2[mNEmcLayer2];
00083 char mEnd[1];
00084
00085 ClassDef(StEmcTriggerDetector,3)
00086 };
00087 #endif