ATLAS Offline Software
|
Conditions-Data class holding LAr Bad Channel or Bad Feb information. More...
#include <LArBadChannelCont.h>
Classes | |
struct | ChannelLess |
Comparison functor for sorting and searching. More... | |
Public Types | |
typedef uint32_t | ChanId_t |
typedef std::pair< ChanId_t, LArBC_t > | BadChanEntry |
typedef std::vector< BadChanEntry > | BadChanVec |
typedef BadChanVec::const_iterator | const_iterator |
typedef BadChanVec::size_type | size_type |
Public Member Functions | |
LArBadXCont () | |
Default Constructor. More... | |
LArBadXCont (const BadChanVec &vec) | |
Constructor with payload. More... | |
void | add (const HWIdentifier channel, const LArBC_t stat) |
Add a channel/FEB to the list of bad channels. More... | |
void | sort () |
Sort and purge the list of bad channels The list of bad channels get sorted by channel-ID For channels appearing more than once, the bad-channel word gets merged by or'ing the problem-bits. More... | |
LArBC_t | status (const HWIdentifier channel) const |
Query the status of a particular channel or FEB This is the main client access method. More... | |
LArBC_t | offlineStatus (const Identifier id) const |
Query the status of a particular channel by offline ID This is the main client access method. More... | |
const_iterator | begin () const |
Access to the begin iterator of the underlying vector. More... | |
const_iterator | end () const |
Access to the end iterator of the underlying vector. More... | |
size_type | size () const |
Number of known bad channels. More... | |
void | clear () |
Deletes the contents and sets size to 0 (same as stl::vector<T>::clear()) More... | |
const BadChanVec & | fullCont () const |
void | setOflVec (BadChanVec &input) |
Private Attributes | |
BadChanVec | m_cont |
BadChanVec | m_oflCont |
Conditions-Data class holding LAr Bad Channel or Bad Feb information.
Uses internally a vector<pair<channelID,LArBadChannel> > ordered by channel-id to speed up searching Possible optimization: use a hash-indexed bitset to tell if the channel is on the list. Avoid searching for 'good' channels which are the majority Downside: Need acess the LArOnline_ID helper class for channel to hash conversion and a template specialization for the different hashes of FEBs and channels Or even keep a hash-indexed vector LArBadChannels for every channel, even good ones
Definition at line 28 of file LArBadChannelCont.h.
typedef std::pair<ChanId_t,LArBC_t> LArBadXCont< LArBC_t >::BadChanEntry |
Definition at line 31 of file LArBadChannelCont.h.
typedef std::vector<BadChanEntry> LArBadXCont< LArBC_t >::BadChanVec |
Definition at line 32 of file LArBadChannelCont.h.
typedef uint32_t LArBadXCont< LArBC_t >::ChanId_t |
Definition at line 30 of file LArBadChannelCont.h.
typedef BadChanVec::const_iterator LArBadXCont< LArBC_t >::const_iterator |
Definition at line 33 of file LArBadChannelCont.h.
typedef BadChanVec::size_type LArBadXCont< LArBC_t >::size_type |
Definition at line 34 of file LArBadChannelCont.h.
|
inline |
LArBadXCont< LArBC_t >::LArBadXCont | ( | const BadChanVec & | vec | ) |
Constructor with payload.
void LArBadXCont< LArBC_t >::add | ( | const HWIdentifier | channel, |
const LArBC_t | stat | ||
) |
Add a channel/FEB to the list of bad channels.
channel | HWIdenifier of the channel in question |
stat | Bad-Channel object describing the disease this channels suffers |
|
inline |
Access to the begin iterator of the underlying vector.
Definition at line 73 of file LArBadChannelCont.h.
|
inline |
Deletes the contents and sets size to 0 (same as stl::vector<T>::clear())
Definition at line 82 of file LArBadChannelCont.h.
|
inline |
Access to the end iterator of the underlying vector.
Definition at line 76 of file LArBadChannelCont.h.
|
inline |
Definition at line 84 of file LArBadChannelCont.h.
LArBC_t LArBadXCont< LArBC_t >::offlineStatus | ( | const Identifier | id | ) | const |
Query the status of a particular channel by offline ID This is the main client access method.
Identifer | of the channel in question |
void LArBadXCont< LArBC_t >::setOflVec | ( | BadChanVec & | input | ) |
|
inline |
void LArBadXCont< LArBC_t >::sort | ( | ) |
Sort and purge the list of bad channels The list of bad channels get sorted by channel-ID For channels appearing more than once, the bad-channel word gets merged by or'ing the problem-bits.
LArBC_t LArBadXCont< LArBC_t >::status | ( | const HWIdentifier | channel | ) | const |
Query the status of a particular channel or FEB This is the main client access method.
HWIdentifer | of the channel in question |
|
private |
Definition at line 98 of file LArBadChannelCont.h.
|
private |
Definition at line 99 of file LArBadChannelCont.h.