#include <CondFormats/HcalObjects/interface/HcalCondObjectContainer.h>
Public Member Functions | |
bool | addValues (const Item &myItem) |
const bool | exists (DetId fId) const |
std::vector< DetId > | getAllChannels () const |
const Item * | getValues (DetId fId) const |
HcalCondObjectContainer () | |
~HcalCondObjectContainer () | |
Private Member Functions | |
void | initContainer (int container) |
Private Attributes | |
std::vector< Item > | CALIBcontainer |
std::vector< Item > | CASTORcontainer |
std::vector< Item > | HBcontainer |
std::vector< Item > | HEcontainer |
std::vector< Item > | HFcontainer |
std::vector< Item > | HOcontainer |
std::vector< Item > | HTcontainer |
std::vector< Item > | ZDCcontainer |
Definition at line 12 of file HcalCondObjectContainer.h.
HcalCondObjectContainer< Item >::HcalCondObjectContainer | ( | ) | [inline] |
HcalCondObjectContainer< Item >::~HcalCondObjectContainer | ( | ) | [inline] |
bool HcalCondObjectContainer< Item >::addValues | ( | const Item & | myItem | ) | [inline] |
Definition at line 178 of file HcalCondObjectContainer.h.
References HcalCondObjectContainer< Item >::CALIBcontainer, HcalCondObjectContainer< Item >::CASTORcontainer, HcalGenericDetId::genericSubdet(), HcalGenericDetId::hashedId(), HcalCondObjectContainer< Item >::HBcontainer, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenCalibration, HcalGenericDetId::HcalGenCastor, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, HcalGenericDetId::HcalGenTriggerTower, HcalGenericDetId::HcalGenZDC, HcalCondObjectContainer< Item >::HEcontainer, HcalCondObjectContainer< Item >::HFcontainer, HcalCondObjectContainer< Item >::HOcontainer, HcalCondObjectContainer< Item >::HTcontainer, index, HcalCondObjectContainer< Item >::initContainer(), and HcalCondObjectContainer< Item >::ZDCcontainer.
Referenced by cms::HcalConstantsASCIIWriter::analyze(), and HcalPedestalsAnalysis::~HcalPedestalsAnalysis().
00179 { 00180 unsigned long myRawId = myItem.rawId(); 00181 HcalGenericDetId myId(myRawId); 00182 int index = myId.hashedId(); 00183 if (index < 0) return false; 00184 bool success = false; 00185 00186 switch (myId.genericSubdet() ) { 00187 case HcalGenericDetId::HcalGenBarrel: 00188 if (!HBcontainer.size() ) initContainer(myId.genericSubdet() ); 00189 HBcontainer.at(index) = myItem; 00190 success = true; 00191 break; 00192 case HcalGenericDetId::HcalGenEndcap: 00193 if (!HEcontainer.size() ) initContainer(myId.genericSubdet() ); 00194 HEcontainer.at(index) = myItem; 00195 success = true; 00196 break; 00197 case HcalGenericDetId::HcalGenOuter: 00198 if (!HOcontainer.size() ) initContainer(myId.genericSubdet() ); 00199 HOcontainer.at(index) = myItem; 00200 success = true; 00201 break; 00202 case HcalGenericDetId::HcalGenForward: 00203 if (!HFcontainer.size() ) initContainer(myId.genericSubdet() ); 00204 HFcontainer.at(index) = myItem; 00205 success = true; 00206 break; 00207 case HcalGenericDetId::HcalGenTriggerTower: 00208 if (!HTcontainer.size() ) initContainer(myId.genericSubdet() ); 00209 HTcontainer.at(index) = myItem; 00210 success = true; 00211 break; 00212 case HcalGenericDetId::HcalGenZDC: 00213 if (!ZDCcontainer.size() ) initContainer(myId.genericSubdet() ); 00214 ZDCcontainer.at(index) = myItem; 00215 success = true; 00216 break; 00217 case HcalGenericDetId::HcalGenCastor: 00218 if (!CASTORcontainer.size() ) initContainer(myId.genericSubdet() ); 00219 CASTORcontainer.at(index) = myItem; 00220 success = true; 00221 break; 00222 case HcalGenericDetId::HcalGenCalibration: 00223 if (!CALIBcontainer.size() ) initContainer(myId.genericSubdet() ); 00224 CALIBcontainer.at(index) = myItem; 00225 success = true; 00226 break; 00227 default: break; 00228 } 00229 00230 return success; 00231 }
const bool HcalCondObjectContainer< Item >::exists | ( | DetId | fId | ) | const [inline] |
Definition at line 133 of file HcalCondObjectContainer.h.
References funct::abs(), HcalCondObjectContainer< Item >::CALIBcontainer, HcalCondObjectContainer< Item >::CASTORcontainer, HcalGenericDetId::genericSubdet(), HcalGenericDetId::hashedId(), HcalCondObjectContainer< Item >::HBcontainer, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenCalibration, HcalGenericDetId::HcalGenCastor, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, HcalGenericDetId::HcalGenTriggerTower, HcalGenericDetId::HcalGenZDC, HcalCondObjectContainer< Item >::HEcontainer, HcalCondObjectContainer< Item >::HFcontainer, HcalCondObjectContainer< Item >::HOcontainer, HcalCondObjectContainer< Item >::HTcontainer, index, NULL, and HcalCondObjectContainer< Item >::ZDCcontainer.
Referenced by cms::HitReCalibrator::produce().
00134 { 00135 HcalGenericDetId myId(fId); 00136 int index = myId.hashedId(); 00137 if (index < 0) return false; 00138 unsigned int index1 = abs(index); // b/c I'm fed up with compiler warnings about comparison betw. signed and unsigned int 00139 const Item* cell = NULL; 00140 switch (myId.genericSubdet() ) { 00141 case HcalGenericDetId::HcalGenBarrel: 00142 if (index1 < HBcontainer.size()) cell = &(HBcontainer.at(index1) ); 00143 break; 00144 case HcalGenericDetId::HcalGenEndcap: 00145 if (index1 < HEcontainer.size()) cell = &(HEcontainer.at(index1) ); 00146 break; 00147 case HcalGenericDetId::HcalGenOuter: 00148 if (index1 < HOcontainer.size()) cell = &(HOcontainer.at(index1) ); 00149 break; 00150 case HcalGenericDetId::HcalGenForward: 00151 if (index1 < HFcontainer.size()) cell = &(HFcontainer.at(index1) ); 00152 break; 00153 case HcalGenericDetId::HcalGenTriggerTower: 00154 if (index1 < HTcontainer.size()) cell = &(HTcontainer.at(index1) ); 00155 break; 00156 case HcalGenericDetId::HcalGenZDC: 00157 if (index1 < ZDCcontainer.size()) cell = &(ZDCcontainer.at(index1) ); 00158 break; 00159 case HcalGenericDetId::HcalGenCastor: 00160 if (index1 < CASTORcontainer.size()) cell = &(CASTORcontainer.at(index1) ); 00161 break; 00162 case HcalGenericDetId::HcalGenCalibration: 00163 if (index1 < CALIBcontainer.size()) cell = &(CALIBcontainer.at(index1) ); 00164 break; 00165 default: return false; break; 00166 } 00167 00168 // Item emptyItem; 00169 if (cell) 00170 // if (cell->rawId() != emptyItem.rawId() ) 00171 if (cell->rawId() == fId ) 00172 return true; 00173 00174 return false; 00175 }
std::vector< DetId > HcalCondObjectContainer< Item >::getAllChannels | ( | ) | const [inline] |
Definition at line 234 of file HcalCondObjectContainer.h.
References HcalCondObjectContainer< Item >::CALIBcontainer, HcalCondObjectContainer< Item >::CASTORcontainer, HcalCondObjectContainer< Item >::HBcontainer, HcalCondObjectContainer< Item >::HEcontainer, HcalCondObjectContainer< Item >::HFcontainer, HcalCondObjectContainer< Item >::HOcontainer, HcalCondObjectContainer< Item >::HTcontainer, i, and HcalCondObjectContainer< Item >::ZDCcontainer.
Referenced by HcalQIEDataCheck::analyze().
00235 { 00236 std::vector<DetId> channels; 00237 Item emptyItem; 00238 for (unsigned int i=0; i<HBcontainer.size(); i++) 00239 { 00240 if (emptyItem.rawId() != HBcontainer.at(i).rawId() ) 00241 channels.push_back( DetId(HBcontainer.at(i).rawId()) ); 00242 } 00243 for (unsigned int i=0; i<HEcontainer.size(); i++) 00244 { 00245 if (emptyItem.rawId() != HEcontainer.at(i).rawId() ) 00246 channels.push_back( DetId(HEcontainer.at(i).rawId()) ); 00247 } 00248 for (unsigned int i=0; i<HOcontainer.size(); i++) 00249 { 00250 if (emptyItem.rawId() != HOcontainer.at(i).rawId() ) 00251 channels.push_back( DetId(HOcontainer.at(i).rawId()) ); 00252 } 00253 for (unsigned int i=0; i<HFcontainer.size(); i++) 00254 { 00255 if (emptyItem.rawId() != HFcontainer.at(i).rawId() ) 00256 channels.push_back( DetId(HFcontainer.at(i).rawId()) ); 00257 } 00258 for (unsigned int i=0; i<HTcontainer.size(); i++) 00259 { 00260 if (emptyItem.rawId() != HTcontainer.at(i).rawId() ) 00261 channels.push_back( DetId(HTcontainer.at(i).rawId()) ); 00262 } 00263 for (unsigned int i=0; i<ZDCcontainer.size(); i++) 00264 { 00265 if (emptyItem.rawId() != ZDCcontainer.at(i).rawId() ) 00266 channels.push_back( DetId(ZDCcontainer.at(i).rawId()) ); 00267 } 00268 for (unsigned int i=0; i<CALIBcontainer.size(); i++) 00269 { 00270 if (emptyItem.rawId() != CALIBcontainer.at(i).rawId() ) 00271 channels.push_back( DetId(CALIBcontainer.at(i).rawId()) ); 00272 } 00273 for (unsigned int i=0; i<CASTORcontainer.size(); i++) 00274 { 00275 if (emptyItem.rawId() != CASTORcontainer.at(i).rawId() ) 00276 channels.push_back( DetId(CASTORcontainer.at(i).rawId()) ); 00277 } 00278 00279 return channels; 00280 }
const Item * HcalCondObjectContainer< Item >::getValues | ( | DetId | fId | ) | const [inline] |
Definition at line 79 of file HcalCondObjectContainer.h.
References funct::abs(), HcalCondObjectContainer< Item >::CALIBcontainer, HcalCondObjectContainer< Item >::CASTORcontainer, Exception, HcalGenericDetId::genericSubdet(), HcalGenericDetId::hashedId(), HcalCondObjectContainer< Item >::HBcontainer, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenCalibration, HcalGenericDetId::HcalGenCastor, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, HcalGenericDetId::HcalGenTriggerTower, HcalGenericDetId::HcalGenZDC, HcalCondObjectContainer< Item >::HEcontainer, HcalCondObjectContainer< Item >::HFcontainer, HcalCondObjectContainer< Item >::HOcontainer, HcalCondObjectContainer< Item >::HTcontainer, index, NULL, and HcalCondObjectContainer< Item >::ZDCcontainer.
Referenced by cms::HcalConstantsASCIIWriter::analyze(), cms::Analyzer_minbias::analyze(), HcalDbService::getHcalRespCorr(), main(), and cms::HitReCalibrator::produce().
00080 { 00081 HcalGenericDetId myId(fId); 00082 int index = myId.hashedId(); 00083 // std::cout << "::::: getting values at index " << index << ", DetId " << myId << std::endl; 00084 unsigned int index1 = abs(index); // b/c I'm fed up with compiler warnings about comparison betw. signed and unsigned int 00085 00086 const Item* cell = NULL; 00087 if (index >= 0) 00088 switch (myId.genericSubdet() ) { 00089 case HcalGenericDetId::HcalGenBarrel: 00090 if (index1 < HBcontainer.size()) 00091 cell = &(HBcontainer.at(index1) ); 00092 break; 00093 case HcalGenericDetId::HcalGenEndcap: 00094 if (index1 < HEcontainer.size()) 00095 cell = &(HEcontainer.at(index1) ); 00096 break; 00097 case HcalGenericDetId::HcalGenOuter: 00098 if (index1 < HOcontainer.size()) 00099 cell = &(HOcontainer.at(index1) ); 00100 break; 00101 case HcalGenericDetId::HcalGenForward: 00102 if (index1 < HFcontainer.size()) 00103 cell = &(HFcontainer.at(index1) ); 00104 break; 00105 case HcalGenericDetId::HcalGenTriggerTower: 00106 if (index1 < HTcontainer.size()) 00107 cell = &(HTcontainer.at(index1) ); 00108 break; 00109 case HcalGenericDetId::HcalGenZDC: 00110 if (index1 < ZDCcontainer.size()) 00111 cell = &(ZDCcontainer.at(index1) ); 00112 break; 00113 case HcalGenericDetId::HcalGenCastor: 00114 if (index1 < CASTORcontainer.size()) 00115 cell = &(CASTORcontainer.at(index1) ); 00116 break; 00117 case HcalGenericDetId::HcalGenCalibration: 00118 if (index1 < CALIBcontainer.size()) 00119 cell = &(CALIBcontainer.at(index1) ); 00120 break; 00121 default: break; 00122 } 00123 00124 // Item emptyItem; 00125 // if (cell->rawId() == emptyItem.rawId() ) 00126 if ((!cell) || (cell->rawId() != fId ) ) 00127 throw cms::Exception ("Conditions not found") 00128 << "Unavailable Conditions for cell " << myId; 00129 return cell; 00130 }
void HcalCondObjectContainer< Item >::initContainer | ( | int | container | ) | [inline, private] |
Definition at line 59 of file HcalCondObjectContainer.h.
References HcalCondObjectContainer< Item >::CALIBcontainer, HcalCondObjectContainer< Item >::CASTORcontainer, HcalCondObjectContainer< Item >::HBcontainer, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenCalibration, HcalGenericDetId::HcalGenCastor, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, HcalGenericDetId::HcalGenTriggerTower, HcalGenericDetId::HcalGenZDC, HcalCondObjectContainer< Item >::HEcontainer, HcalCondObjectContainer< Item >::HFcontainer, HcalCondObjectContainer< Item >::HOcontainer, HcalCondObjectContainer< Item >::HTcontainer, i, and HcalCondObjectContainer< Item >::ZDCcontainer.
Referenced by HcalCondObjectContainer< Item >::addValues().
00060 { 00061 Item emptyItem; 00062 00063 switch (container) 00064 { 00065 case HcalGenericDetId::HcalGenBarrel: for (int i=0; i<2592; i++) HBcontainer.push_back(emptyItem); break; 00066 case HcalGenericDetId::HcalGenEndcap: for (int i=0; i<2592; i++) HEcontainer.push_back(emptyItem); break; 00067 case HcalGenericDetId::HcalGenOuter: for (int i=0; i<2160; i++) HOcontainer.push_back(emptyItem); break; 00068 case HcalGenericDetId::HcalGenForward: for (int i=0; i<1728; i++) HFcontainer.push_back(emptyItem); break; 00069 case HcalGenericDetId::HcalGenTriggerTower: for (int i=0; i<4176; i++) HTcontainer.push_back(emptyItem); break; 00070 case HcalGenericDetId::HcalGenZDC: for (int i=0; i<22; i++) ZDCcontainer.push_back(emptyItem); break; 00071 case HcalGenericDetId::HcalGenCalibration: for (int i=0; i<1386; i++) CALIBcontainer.push_back(emptyItem); break; 00072 case HcalGenericDetId::HcalGenCastor: for (int i=0; i<1; i++) CASTORcontainer.push_back(emptyItem); break; 00073 default: break; 00074 } 00075 }
std::vector<Item> HcalCondObjectContainer< Item >::CALIBcontainer [private] |
Definition at line 43 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::CASTORcontainer [private] |
Definition at line 44 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::HBcontainer [private] |
Definition at line 37 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::HEcontainer [private] |
Definition at line 38 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::HFcontainer [private] |
Definition at line 40 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::HOcontainer [private] |
Definition at line 39 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::HTcontainer [private] |
Definition at line 41 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().
std::vector<Item> HcalCondObjectContainer< Item >::ZDCcontainer [private] |
Definition at line 42 of file HcalCondObjectContainer.h.
Referenced by HcalCondObjectContainer< Item >::addValues(), HcalCondObjectContainer< Item >::exists(), HcalCondObjectContainer< Item >::getAllChannels(), HcalCondObjectContainer< Item >::getValues(), and HcalCondObjectContainer< Item >::initContainer().