00001 // $Header: /bes/bes/BossCvs/Calibration/CalibData/CalibData/CalibModel.h,v 1.16 2011/12/20 00:10:29 zhangy Exp $ 00002 00003 #ifndef CalibData_CalibModel_h 00004 #define CalibData_CalibModel_h 00005 00014 #include <string> 00015 #include <vector> 00016 #include "GaudiKernel/ClassID.h" 00017 00018 00019 // Start class ids at 6000 to stay well away from Gaudi classes and 00020 // our TDS event classes. Layout could be 00021 // 6000 - 6099 internals 00022 // 6100 - 6199 tracker 00023 // 6200 - 6299 calorimeter 00024 // 6300 - 6399 ACD 00025 // 6400 - 6499 this space intentionally left blank in case 00026 // we have calibrations spanning subsystems 00027 // 6500 - 6599 test 00028 // 6600 - 6699 NAS: anything not associated with a single subsystem 00029 // 6400 - 6499 MDC 00030 00031 const CLID CLID_Calib_CalibCLIDNode = 6000; 00032 00033 const CLID CLID_Calib_CalibBase = 6001; 00034 00035 const CLID CLID_Calib_CalibTest1 = 6500; 00036 00037 const CLID CLID_Calib_NAS_TowerCfg = 6600; 00038 00039 00040 //MDC CLID 00041 const CLID CLID_Calib_MdcCal = 6405; 00042 //TOF CLID 00043 const CLID CLID_Calib_TofCal = 6406; 00044 //Dedx CLID 00045 const CLID CLID_Calib_DedxCal = 6407; 00046 //EMC CLID 00047 const CLID CLID_Calib_EmcCal = 6408; 00048 //MUC CLID 00049 const CLID CLID_Calib_MucCal = 6409; 00050 //EsTime CLID 00051 const CLID CLID_Calib_EsTimeCal = 6410; 00052 //EstTOF CLID 00053 const CLID CLID_Calib_EstTofCal = 6411; 00054 //Mdc Alignment 00055 const CLID CLID_Calib_MdcAlign = 6412; 00056 //Tof Elec 00057 const CLID CLID_TofQ_Elec = 6413; 00058 //TOF Simulation CLID 00059 const CLID CLID_Calib_TofSim = 6414; 00060 //Dedx Simulation 00061 const CLID CLID_Dedx_Sim = 6415; 00062 //Mdc Data Const 00063 const CLID CLID_Calib_MdcDataConst= 6416; 00064 00065 // For everybody except the CalibModel class implementation file, 00066 // the variables are extern. CalibModel.cxx actually defines them. 00067 00068 #if defined(_CalibData_CalibModel_cxx) 00069 #define _EXTERN_ 00070 #else 00071 #define _EXTERN_ extern 00072 #endif 00073 00074 namespace CalibData { 00075 00076 00077 // ... simple type whose "data" just come from MySQL metadata row 00078 // for testing 00079 _EXTERN_ std::string Test_Gen; 00080 00081 // Simple xml test type 00082 _EXTERN_ std::string Test_1; 00083 //MDC 00084 _EXTERN_ std::string MdcCal; 00085 //Tof 00086 _EXTERN_ std::string TofCal; 00087 //Dedx 00088 _EXTERN_ std::string DedxCal; 00089 //Emc 00090 _EXTERN_ std::string EmcCal; 00091 //MUC 00092 _EXTERN_ std::string MucCal; 00093 //EsTime 00094 _EXTERN_ std::string EsTimeCal; 00095 //EstTof 00096 _EXTERN_ std::string EstTofCal; 00097 //MdcAlign 00098 _EXTERN_ std::string MdcAlign; 00099 //Tof elec 00100 _EXTERN_ std::string TofQElec; 00101 //Tof simulation 00102 _EXTERN_ std::string TofSim; 00103 //Dedx simulation 00104 _EXTERN_ std::string DedxSim; 00105 //MdcDataConstant 00106 _EXTERN_ std::string MdcDataConstant; 00107 // cross-subsystem types 00108 _EXTERN_ std::string NAS_TowerCfg; 00109 typedef std::vector<std::pair <std::string, CLID> > CalibPairCol; 00110 typedef CalibPairCol::const_iterator PairIt; 00111 _EXTERN_ CalibPairCol pairs; 00112 } 00113 00114 00115 #undef _EXTERN_ 00116 #endif