5#ifndef LArBadChannelState_H
6#define LArBadChannelState_H
68 BadChanVec::const_iterator
begin()
const {
75 BadChanVec::const_iterator
end()
const {
78 BadChanVec::iterator
end() {
82 BadChanVec::size_type
size()
const {
108 if (!cd.empty())
return false;
141 return static_cast<CoolChannelEnum>( 2 *
static_cast<unsigned int>(part) +
142 1 -
static_cast<unsigned int>(side));
146 if (chan ==
EMBA || chan ==
EMBC)
return 0;
151 return static_cast<CaloPartEnum>(
static_cast<int>(chan)/2);
155 return (
static_cast<int>(chan)+1) % 2;
159 a.second =
LArBadChannel(
a.second.packedData() | b.second.packedData());
BadChanVec::iterator end()
void addUpdate(const BadChanVec &stateVec)
void add(const BadChanEntry &e)
the entry is assumed to belong to the cool channel and is not checked.
BadChanVec::const_iterator end() const
void addFromDB(const BadChanVec &stateVec)
CoolChannelEnum number() const
void setFromDB(const BadChanVec &stateVec)
const BadChanVec & stateVector() const
std::vector< BadChanEntry > BadChanVec
BadChanVec::const_iterator begin() const
CoolChannelData(CoolChannelEnum cc)
Construct an empty CoolChannelData.
BadChanVec::size_type size() const
CoolChannelData(CoolChannelEnum cc, const BadChanVec &entries)
Construct with bad channel data.
void resolveDuplicateEntries()
BadChanVec::iterator begin()
void setFromDB(const BadChanVec &stateVec, CoolChannelEnum chan)
Set cool channel from vector<BadChanEntry>, for example when reading from DB.
void add(const BadChanEntry &entry, CoolChannelEnum chan)
Add a bad channel entry to a specified cool channel data.
bool empty() const
Returns true if all cool channels are empty.
std::pair< HWIdentifier, LArBadChannel > BadChanEntry
static CoolChannelEnum coolChannelEnum(CaloPartEnum part, PosNegEnum side)
static CaloPartEnum caloPart(CoolChannelEnum chan)
static std::string coolChannelName(CoolChannelEnum chan)
CoolChannelData & coolChannel(int i)
static int barrelEndcap(CoolChannelEnum chan)
static void mergeFlags(BadChanEntry &a, const BadChanEntry &b)
void addFromDB(const BadChanVec &stateVec, CoolChannelEnum chan)
Add a complete cool channel from DB, with duplicate removal.
void reset()
Reset to an empty state, erasing all data in all cool channels.
void addUpdate(const BadChanVec &stateVec, CoolChannelEnum chan)
Add updates, e.g.
CoolChannelData::BadChanVec BadChanVec
std::vector< CoolChannelData > m_DataVec
const CoolChannelData & coolChannel(CoolChannelEnum chan) const
static int posNeg(CoolChannelEnum chan)
int nCoolChannels() const