|
|
Go to the documentation of this file.
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"
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> > > >
130 for (
unsigned int i = 0;
i < h::namesSize;
i++)
148 delete[]
fedData.begin()->second;
156 delete[]
dduData.begin()->second;
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;
const bool nextBookedDDU(unsigned int &n, unsigned int &dduId) const
Iterator to get booked DDU identifier on enumerator.
Abstract Base Histogram Definition.
std::map< HwId, MonitorObject ** > DDUMapType
const bool getFED(const HistoId &id, const HwId &fedId, MonitorObject *&mo)
Get FED MO on Histogram Id and FED Id.
MO Lookup List object definition.
Chamber MO List object definition.
MonitorObject * data[h::namesSize]
const bool nextBookedCSC(unsigned int &n, unsigned int &crateId, unsigned int &dmbId) const
Iterator to get booked CSC identifiers on enumerator.
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
const bool isBookedDDU(const HwId &dduId) const
Check if DDU was booked on given identifier.
const bool isBookedCSC(const HwId &crateId, const HwId &dmbId) const
Check if CSC was booked on given identifiers.
Chamber List object definition.
CSCHistoKeyType(const HistoId &id_, const HwId &addId_, const MonitorObject *mo_)
const bool get(const HistoDef &histo, MonitorObject *&mo)
Get Monitoring Object on Histogram Definition.
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
std::map< HwId, MonitorObject ** > FEDMapType
const bool getPar(const HistoId &id, MonitorObject *&mo)
Get Parameter MO on Histogram Id.
MonitorObject cache - list objects and routines to manage cache.
FEDMapType::const_iterator fedPointer
const bool getDDU(const HistoId &id, const HwId &dduId, MonitorObject *&mo)
Get DDU MO on Histogram Id and DDU Id.
DDUMapType::const_iterator dduPointer
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
const bool isBookedFED(const HwId &fedId) const
Check if FED was booked on given identifier.
virtual const std::string getPath() const
Get path part of the histogram (used only for DDUs and CSCs)
const bool nextBookedFED(unsigned int &n, unsigned int &fedId) const
Iterator to get booked FED identifier on enumerator.
void put(const HistoDef &histo, MonitorObject *mo)
Put Monitoring Object into cache.
CSCKeyType(const HwId &crateId_, const HwId &dmbId_)
const bool getEMU(const HistoId &id, MonitorObject *&mo)
Get EMU MO on Histogram Id.
Monitoring Object interface used to cover Root object and provide common interface to EventProcessor ...
CSCMapType::const_iterator cscPointer
LookupKeyType(const HistoDef &histo_, MonitorObject *&mo_)
const bool getCSC(const HistoId &id, const HwId &crateId, const HwId &dmbId, const HwId &addId, MonitorObject *&mo)
Get CSC MO on Histogram Id and CSC Crate and DMB Ids.