00001 #ifndef __EMCSTATICDATA_H__ 00002 #define __EMCSTATICDATA_H__ 00003 00004 #include <vector> 00005 #include <cassert> 00006 00007 class EmcSector; 00008 class PbScCalibrationData; 00009 class PbGlCalibrationData; 00010 class PHTimeStamp; 00011 00026 class EmcStaticData 00027 { 00028 public: 00034 static EmcStaticData * buildEmcStaticData(); 00036 static int deleteEmcStaticData(); 00038 EmcSector * getSector(int SectorNumber) { 00039 assert(SectorNumber>=0 && SectorNumber<(int)Sectors.size()) ; 00040 return Sectors[SectorNumber];} 00042 void buildEmcSector(const char * , PHTimeStamp* ts = 0); 00044 PbScCalibrationData * getPbScData(){return PbScData;} 00046 PbGlCalibrationData * getPbGlData(){return PbGlData;} 00047 00048 protected: 00049 EmcStaticData() ; 00050 ~EmcStaticData() ; 00051 00052 private: 00053 00054 static EmcStaticData * single; 00055 static int access_count; 00056 PbScCalibrationData * PbScData; 00057 PbGlCalibrationData * PbGlData; 00058 std::vector<EmcSector*> Sectors ; 00059 00060 }; 00061 #endif