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" 30 #include <boost/shared_ptr.hpp> 48 typedef boost::multi_index_container<
50 boost::multi_index::indexed_by<
51 boost::multi_index::ordered_unique<
52 boost::multi_index::composite_key<
54 boost::multi_index::member<CSCHistoKeyType, HistoId, &CSCHistoKeyType::id>,
55 boost::multi_index::member<CSCHistoKeyType, HwId, &CSCHistoKeyType::addId>
70 typedef boost::multi_index_container<
72 boost::multi_index::indexed_by<
73 boost::multi_index::ordered_unique<
74 boost::multi_index::composite_key<
76 boost::multi_index::member<CSCKeyType, HwId, &CSCKeyType::crateId>,
77 boost::multi_index::member<CSCKeyType, HwId, &CSCKeyType::dmbId>
100 typedef boost::multi_index_container<
102 boost::multi_index::indexed_by<
103 boost::multi_index::ordered_unique<boost::multi_index::member<LookupKeyType, HistoDef, &LookupKeyType::histo> >,
104 boost::multi_index::ordered_non_unique<boost::multi_index::member<LookupKeyType, std::string, &LookupKeyType::path> >
151 fedPointer = fedData.end();
155 dduPointer = dduData.end();
157 cscPointer = cscData.end();
163 while (fedData.begin() != fedData.end()) {
164 if (fedData.begin()->second) {
165 delete [] fedData.begin()->second;
167 fedData.erase(fedData.begin());
171 while (dduData.begin() != dduData.end()) {
172 if (dduData.begin()->second) {
173 delete [] dduData.begin()->second;
175 dduData.erase(dduData.begin());
191 const bool nextBookedFED(
unsigned int&
n,
unsigned int& fedId)
const;
192 const bool nextBookedDDU(
unsigned int& n,
unsigned int& dduId)
const;
193 const bool nextBookedCSC(
unsigned int& n,
unsigned int& crateId,
unsigned int& dmbId)
const;
194 const bool isBookedCSC(
const HwId& crateId,
const HwId& dmbId)
const;
195 const bool isBookedDDU(
const HwId& dduId)
const;
196 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
void put(edm::Event &evt, double value, const char *instanceName)
static const unsigned int namesSize
MonitorObject cache - list objects and routines to manage cache.
DDUMapType::const_iterator dduPointer
CSCMapType::const_iterator cscPointer
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)
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
char data[epos_bytes_allocation]
Chamber MO List object definition.
std::map< HwId, MonitorObject ** > FEDMapType
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
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