00001 #include "OnlineDB/EcalCondDB/interface/LMFPnPrimDat.h" 00002 00003 LMFPnPrimDat::LMFPnPrimDat() : LMFColoredTable() { 00004 init(); 00005 } 00006 00007 LMFPnPrimDat::LMFPnPrimDat(oracle::occi::Environment* env, 00008 oracle::occi::Connection* conn) : 00009 LMFColoredTable(env, conn) { 00010 init(); 00011 } 00012 00013 LMFPnPrimDat::LMFPnPrimDat(EcalDBConnection *c) : LMFColoredTable(c) { 00014 init(); 00015 } 00016 00017 LMFPnPrimDat::LMFPnPrimDat(std::string color, std::string system) : 00018 LMFColoredTable() { 00019 init(); 00020 setColor(color); 00021 setSystem(system); 00022 } 00023 00024 LMFPnPrimDat::LMFPnPrimDat(oracle::occi::Environment* env, 00025 oracle::occi::Connection* conn, 00026 std::string color, std::string system) : 00027 LMFColoredTable(env, conn) { 00028 init(); 00029 setColor(color); 00030 setSystem(system); 00031 } 00032 00033 LMFPnPrimDat::LMFPnPrimDat(EcalDBConnection *c, std::string color, 00034 std::string system) : LMFColoredTable(c) { 00035 init(); 00036 setColor(color); 00037 setSystem(system); 00038 } 00039 00040 LMFPnPrimDat::LMFPnPrimDat(int color, std::string system) : 00041 LMFColoredTable() { 00042 init(); 00043 setColor(color); 00044 setSystem(system); 00045 } 00046 00047 LMFPnPrimDat::LMFPnPrimDat(oracle::occi::Environment* env, 00048 oracle::occi::Connection* conn, 00049 int color, std::string system) : 00050 LMFColoredTable(env, conn) { 00051 init(); 00052 setColor(color); 00053 setSystem(system); 00054 } 00055 00056 LMFPnPrimDat::LMFPnPrimDat(EcalDBConnection *c, int color, 00057 std::string system) : LMFColoredTable(c) { 00058 init(); 00059 setColor(color); 00060 setSystem(system); 00061 } 00062 00063 void LMFPnPrimDat::init() { 00064 m_className = "LMFPnPrimDat"; 00065 m_keys["SHAPECORRPN"] = 0; 00066 m_keys["MEAN"] = 1; 00067 m_keys["RMS"] = 2; 00068 m_keys["M3"] = 3; 00069 m_keys["PNABMEAN"] = 4; 00070 m_keys["PNABRMS"] = 5; 00071 m_keys["PNABM3"] = 6; 00072 m_keys["FLAG"] = 7; 00073 m_keys["VMIN"] = 8; 00074 m_keys["VMAX"] = 9; 00075 00076 m_type.resize(10); 00077 for (int i = 0; i < 10; i++) { 00078 m_type[i] = "NUMBER"; 00079 } 00080 00081 m_system = 0; 00082 m_color = 0; 00083 } 00084 00085 bool LMFPnPrimDat::isValid() { 00086 bool ret = true; 00087 if ((getSystem() != "LASER") && (getSystem() != "LED")) { 00088 m_Error += " System name not properly set [" + getSystem() + "]"; 00089 ret = false; 00090 } 00091 if ((getSystem() == "LASER") && 00092 (getColor() != "BLUE") && (getColor() != "IR")) { 00093 m_Error += " Color not properly set [" + getColor() + "]"; 00094 ret = false; 00095 } 00096 if ((getSystem() == "LED") && 00097 (getColor() != "BLUE") && (getColor() != "ORANGE")) { 00098 m_Error += " Color not properly set [" + getColor() + "]"; 00099 ret = false; 00100 } 00101 return ret; 00102 } 00103 00104 LMFPnPrimDat& LMFPnPrimDat::setMean(EcalLogicID &id, float v) { 00105 LMFDat::setData(id, "MEAN", v); 00106 return *this; 00107 } 00108 00109 LMFPnPrimDat& LMFPnPrimDat::setRMS(EcalLogicID &id, float v) { 00110 LMFDat::setData(id, "RMS", v); 00111 return *this; 00112 } 00113 00114 LMFPnPrimDat& LMFPnPrimDat::setM3(EcalLogicID &id, float v) { 00115 LMFDat::setData(id, "M3", v); 00116 return *this; 00117 } 00118 00119 LMFPnPrimDat& LMFPnPrimDat::setPN(EcalLogicID &id, float mean, float rms, 00120 float m3) { 00121 setMean(id, mean); 00122 setRMS(id, rms); 00123 setM3(id, m3); 00124 return *this; 00125 } 00126 LMFPnPrimDat& LMFPnPrimDat::setShapeCorr(EcalLogicID &id, float v ) { 00127 LMFDat::setData(id, "SHAPECORRPN", v); 00128 return *this; 00129 } 00130 00131 LMFPnPrimDat& LMFPnPrimDat::setPNAoverBM3(EcalLogicID &id, float v) { 00132 LMFDat::setData(id, "PNABM3", v); 00133 return *this; 00134 } 00135 00136 LMFPnPrimDat& LMFPnPrimDat::setPNAoverBMean(EcalLogicID &id, float v) { 00137 LMFDat::setData(id, "PNABMEAN", v); 00138 return *this; 00139 } 00140 00141 LMFPnPrimDat& LMFPnPrimDat::setPNAoverBRMS(EcalLogicID &id, float v) { 00142 LMFDat::setData(id, "PNABRMS", v); 00143 return *this; 00144 } 00145 00146 LMFPnPrimDat& LMFPnPrimDat::setPNAoverB(EcalLogicID &id, 00147 float mean, float rms, float m3) { 00148 setPNAoverBMean(id, mean); 00149 setPNAoverBRMS(id, rms); 00150 setPNAoverBM3(id, m3); 00151 return *this; 00152 } 00153 LMFPnPrimDat& LMFPnPrimDat::setFlag(EcalLogicID &id, int v) { 00154 LMFDat::setData(id, "FLAG", v); 00155 return *this; 00156 } 00157 00158 float LMFPnPrimDat::getMean(EcalLogicID &id) { 00159 return getData(id, "MEAN"); 00160 } 00161 00162 float LMFPnPrimDat::getShapeCor(EcalLogicID &id) { 00163 return getData(id, "SHAPECORRPN"); 00164 } 00165 00166 float LMFPnPrimDat::getRMS(EcalLogicID &id) { 00167 return getData(id, "RMS"); 00168 } 00169 00170 float LMFPnPrimDat::getM3(EcalLogicID &id) { 00171 return getData(id, "M3"); 00172 } 00173 00174 float LMFPnPrimDat::getPNAoverBM3(EcalLogicID &id) { 00175 return getData(id, "PNABM3"); 00176 } 00177 00178 float LMFPnPrimDat::getPNAoverBMean(EcalLogicID &id) { 00179 return getData(id, "PNABMEAN"); 00180 } 00181 00182 float LMFPnPrimDat::getPNAoverBRMS(EcalLogicID &id) { 00183 return getData(id, "PNABRMS"); 00184 } 00185 00186 int LMFPnPrimDat::getFlag(EcalLogicID &id) { 00187 return getData(id, "FLAG"); 00188 } 00189