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
00035
00036
00037
00038
00039
00040
00041
00042
00043 #ifndef StEmcDetector_hh
00044 #define StEmcDetector_hh
00045
00046 #include "StObject.h"
00047 #include "StEnumerations.h"
00048
00049 class StEmcRawHit;
00050 class StEmcModule;
00051 class StEmcClusterCollection;
00052
00053 class StEmcDetector : public StObject {
00054 public:
00055 StEmcDetector();
00056 StEmcDetector(StDetectorId, unsigned int);
00057 ~StEmcDetector();
00058
00059 StDetectorId detectorId() const;
00060 unsigned int numberOfModules() const;
00061
00062 bool addHit(StEmcRawHit*);
00063 unsigned int numberOfHits() const;
00064 void printNumberOfHits() const;
00065 double getEnergy(const int pri=0) const;
00066
00067 StEmcModule* module(unsigned int);
00068 const StEmcModule* module(unsigned int) const;
00069
00070 StEmcClusterCollection* cluster();
00071 const StEmcClusterCollection* cluster() const;
00072
00073 StEmcCrateStatus crateStatus(int) const;
00074
00075 void setCluster(StEmcClusterCollection*);
00076 void setModule(StEmcModule*, int);
00077 void setCrateStatus(int, StEmcCrateStatus);
00078
00079 virtual bool IsFolder() const;
00080 virtual void Browse(TBrowser *b);
00081
00082 protected:
00083 void clear();
00084
00085 private:
00086 enum { mMaxNumberOfCrates = 36 };
00087 StDetectorId mDetectorId;
00088 UInt_t mNumberOfModules;
00089 StEmcModule *mModules[120];
00090 StEmcClusterCollection *mClusters;
00091 StEmcCrateStatus mCrateStatusFlag[mMaxNumberOfCrates];
00092
00093 ClassDef(StEmcDetector,2)
00094 };
00095 #endif