20 #ifndef CSCDQM_Cache_H 21 #define CSCDQM_Cache_H 24 #include <boost/multi_index_container.hpp> 25 #include <boost/multi_index/member.hpp> 26 #include <boost/multi_index/composite_key.hpp> 27 #include <boost/multi_index/ordered_index.hpp> 28 #include "boost/tuple/tuple.hpp" 43 : id(id_), addId(addId_), mo(mo_) {}
47 typedef boost::multi_index_container<
49 boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::composite_key<
51 boost::multi_index::member<CSCHistoKeyType, HistoId, &CSCHistoKeyType::id>,
52 boost::multi_index::member<CSCHistoKeyType, HwId, &CSCHistoKeyType::addId> > > > >
64 typedef boost::multi_index_container<
66 boost::multi_index::indexed_by<boost::multi_index::ordered_unique<
67 boost::multi_index::composite_key<CSCKeyType,
68 boost::multi_index::member<CSCKeyType, HwId, &CSCKeyType::crateId>,
69 boost::multi_index::member<CSCKeyType, HwId, &CSCKeyType::dmbId> > > > >
87 typedef boost::multi_index_container<
89 boost::multi_index::indexed_by<
90 boost::multi_index::ordered_unique<boost::multi_index::member<LookupKeyType, HistoDef, &LookupKeyType::histo> >,
91 boost::multi_index::ordered_non_unique<
92 boost::multi_index::member<LookupKeyType, std::string, &LookupKeyType::path> > > >
134 fedPointer = fedData.end();
138 dduPointer = dduData.end();
140 cscPointer = cscData.end();
146 while (fedData.begin() != fedData.end()) {
147 if (fedData.begin()->second) {
148 delete[] fedData.begin()->second;
150 fedData.erase(fedData.begin());
154 while (dduData.begin() != dduData.end()) {
155 if (dduData.begin()->second) {
156 delete[] dduData.begin()->second;
158 dduData.erase(dduData.begin());
174 const bool nextBookedFED(
unsigned int&
n,
unsigned int& fedId)
const;
175 const bool nextBookedDDU(
unsigned int& n,
unsigned int& dduId)
const;
176 const bool nextBookedCSC(
unsigned int& n,
unsigned int& crateId,
unsigned int& dmbId)
const;
177 const bool isBookedCSC(
const HwId& crateId,
const HwId& dmbId)
const;
178 const bool isBookedDDU(
const HwId& dduId)
const;
179 const bool isBookedFED(
const HwId& fedId)
const;
LookupKeyType(const HistoDef &histo_, MonitorObject *&mo_)
CSCHistoKeyType(const HistoId &id_, const HwId &addId_, const MonitorObject *mo_)
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
Abstract Base Histogram Definition.
CSCKeyType(const HwId &crateId_, const HwId &dmbId_)
std::map< HwId, MonitorObject ** > DDUMapType
boost::multi_index_container< CSCHistoKeyType, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::composite_key< CSCHistoKeyType, boost::multi_index::member< CSCHistoKeyType, HistoId,&CSCHistoKeyType::id >, boost::multi_index::member< CSCHistoKeyType, HwId,&CSCHistoKeyType::addId > > > > > CSCHistoMapType
void put(edm::Event &evt, double value, const char *instanceName)
static const unsigned int namesSize
MonitorObject cache - list objects and routines to manage cache.
boost::multi_index_container< CSCKeyType, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::composite_key< CSCKeyType, boost::multi_index::member< CSCKeyType, HwId,&CSCKeyType::crateId >, boost::multi_index::member< CSCKeyType, HwId,&CSCKeyType::dmbId > > > > > CSCMapType
DDUMapType::const_iterator dduPointer
CSCMapType::const_iterator cscPointer
boost::multi_index_container< LookupKeyType, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::member< LookupKeyType, HistoDef,&LookupKeyType::histo > >, boost::multi_index::ordered_non_unique< boost::multi_index::member< LookupKeyType, std::string,&LookupKeyType::path > > > > LookupMapType
MO Lookup List object definition.
Chamber List object definition.
FEDMapType::const_iterator fedPointer
virtual const std::string getPath() const
Get path part of the histogram (used only for DDUs and CSCs)
char data[epos_bytes_allocation]
Chamber MO List object definition.
std::map< HwId, MonitorObject ** > FEDMapType