00001 #ifndef IEMCCALIBCONSTSVC_H_ 00002 #define IEMCCALIBCONSTSVC_H_ 00003 00004 #include "GaudiKernel/IInterface.h" 00005 #include "GaudiKernel/Kernel.h" 00006 #include "EmcRecGeoSvc/IEmcRecGeoSvc.h" 00007 #include "EmcRecGeoSvc/EmcRecGeoSvc.h" 00008 #include "EmcGeneralClass/EmcStructure.h" 00009 00010 /* Declaration of the interface ID */ 00011 static const InterfaceID IID_IEmcCalibConstSvc("IEmcCalibConstSvc",1,0); 00012 00013 class IEmcCalibConstSvc: virtual public IInterface{ 00014 public: 00015 static const InterfaceID& interfaceID() { return IID_IEmcCalibConstSvc; } 00016 00017 virtual double getDigiCalibConst(int No) const =0; 00018 00019 virtual int getIxtalNumber(int No) const =0; 00020 00021 //get the size of the vectors 00022 virtual int getDigiCalibConstNo() const =0; 00023 virtual int getIxtalNumberNo() const =0; 00024 00025 //getPartID()=0, or 1, or 2, here endcap_east(0), barrel(1), endcap_west(2) 00026 virtual int getIndex( unsigned int PartId, 00027 unsigned int ThetaIndex, 00028 unsigned int PhiIndex) const =0; 00029 virtual unsigned int getPartID(int Index) const=0; 00030 virtual unsigned int getThetaIndex( int Index) const =0; 00031 virtual unsigned int getPhiIndex( int Index) const =0; 00032 00033 virtual double getCrystalEmaxData( int Index) const =0; 00034 00035 virtual void Dump() = 0; 00036 public: 00037 EmcStructure *m_theEmcStruc; 00038 double m_CrystalEmaxData[6240]; 00039 private: 00040 00041 // IEmcRecGeoSvc* m_emcRecGeoSvc; 00042 }; 00043 00044 #endif /* IEMCCALIBCONSTSVC_H_ */