00001 #ifndef CalibData_EmcCalibData_h 00002 #define CalibData_EmcCalibData_h 00003 00004 /* @class CalibData_EmcCalibData_h 00005 00006 calibration data class 00007 calibration infrastructure 00008 00009 @author ChunXiu Liu 00010 */ 00011 00012 #include "CalibData/CalibModel.h" 00013 #include "CalibData/CalibBase1.h" 00014 #include <vector> 00015 00016 using namespace std; 00017 00018 namespace CalibData { 00019 class EmcCalibData: public CalibBase1{ 00020 00021 public: 00022 EmcCalibData(); 00023 virtual ~EmcCalibData(){ 00024 if(m_DigiCalibConst) delete m_DigiCalibConst; 00025 if(m_IxtalNumber) delete m_IxtalNumber; 00026 } 00027 00028 00029 // Re-implemented from DataObject 00030 inline virtual const CLID& clID() const { return classID(); } 00031 00032 inline static const CLID& classID() { return CLID_Calib_EmcCal; } 00033 00034 virtual StatusCode update(CalibBase1& other, MsgStream* log); 00035 00036 //set the Calibdata of Emc 00037 void setDigiCalibConst(const vector<double>* DigiCalibConst); 00038 00039 //set the Calibdata of Emc 00040 void setIxtalNumber(const vector<int>* IxtalNumber); 00041 00042 //get the CalibData of Emc 00043 // const vector<double>* getDigiCalibConst() const { return m_DigiCalibConst;} 00044 // const vector<double>* getEnCoeff() const { return m_EnCoeff;} 00045 // const vector<double>* getPosCoeff() const { return m_PosCoeff;} 00046 00047 double getDigiCalibConst(int No) const { return *((m_DigiCalibConst->begin())+No);} 00048 00049 double getIxtalNumber(int No) const { return *((m_IxtalNumber->begin())+No);} 00050 00051 //get the size of the vectors 00052 int getDigiCalibConstNo() { return m_DigiCalibConst -> size();} 00053 00054 //get the size of the vectors 00055 int getIxtalNumberNo() { return m_IxtalNumber -> size();} 00056 00057 private: 00058 vector<double>* m_DigiCalibConst; 00059 vector<int>* m_IxtalNumber; 00060 }; 00061 } 00062 00063 00064 #endif //CalibData_EmcCalibData_h