ATLAS Offline Software
|
This class maps FEB IDs to/from COOL channel ids. More...
#include <LArCondFEBIdChanMap.h>
Public Types | |
enum | CorrectionType { Original = 0, PSBA = 1001, PSBC = 1002, PSECA = 1003, PSECC = 1004, EMBA = 1005, EMBC = 1006, EMECA = 1007, EMECC = 1008, HECA = 1009, HECC = 1010, FCALA = 1011, FCALC = 1012, NCORRTYPE = 12 } |
Correction type. More... | |
typedef unsigned int | FEBId |
Public typedefs. More... | |
typedef std::vector< FEBId > | FEBIdVector |
typedef std::vector< FEBIdVector > | ChannelMap |
typedef std::map< FEBId, unsigned int > | FEBIdMap |
Public Member Functions | |
LArCondFEBIdChanMap () | |
Default constructor. More... | |
LArCondFEBIdChanMap (unsigned int nChanPerGain, unsigned int minGain, unsigned int nGain) | |
Constructor defining the number of channels per gain, min gain value, and the number of gain values. More... | |
virtual | ~LArCondFEBIdChanMap ()=default |
destructor More... | |
const FEBIdVector & | febIdVector (unsigned int gain, unsigned int coolChannel) const |
Access to a FEB ID vector for a given gain and COOL channel. More... | |
bool | getChannel (FEBId febId, unsigned int gain, unsigned int &coolChannel) const |
Access to the cool channel number for a given FEB ID and gain - bool == false if not found. More... | |
bool | getCorrectionSetChannels (unsigned int gain, std::vector< unsigned int > &coolChannels) const |
Access to the cool channel numbers for the correction sets of a particular gain - bool == false if not found. More... | |
unsigned int | nGroups () const |
Number of groups - minimum is 2 (1 correction group, 1 FEB ID group) More... | |
unsigned int | groupNumber (unsigned int coolChannel) const |
Group number of a cool channel (0 - correction group, 1-N for FEB ID groups) More... | |
unsigned int | channelsPerGain () const |
Number of cool channels per gain. More... | |
unsigned int | minGain () const |
Mininum gain value. More... | |
unsigned int | nGains () const |
Number of gain values. More... | |
unsigned int | nOffsetChannels () const |
Number of offset channels - i.e. correction channels. More... | |
unsigned int | totalChannels () const |
Total number of channels for all gains and includes special offset channels. More... | |
void | addFEBIdVector (unsigned int channel, const FEBIdVector &febIdVec) |
Add in a FEBIdVector - channel number should be from 0 to NChannelsPerGain-1 More... | |
void | dump (std::ostream &o, const LArOnlineID *onlineID=NULL) const |
Private Types | |
enum | ChanMapOffets { NUMOFFSETCHANNELSPERGAIN = 1, CORRECTIONSETCHANNEL = 0 } |
Offsets for the special channels. More... | |
Private Member Functions | |
void | fillMap (unsigned int channel, const FEBIdVector &febIdVec) |
Fill map from chan/febid vec - channel here is 0 to chansPerGain-1. More... | |
Private Attributes | |
ChannelMap | m_febIdVecs |
File map from existing ChannelMap - e.g. on read back. More... | |
FEBIdMap | m_channelMap |
unsigned int | m_chansPerGain |
unsigned int | m_totalChannels |
unsigned int | m_minGain |
unsigned int | m_maxGain |
unsigned int | m_nGains |
unsigned int | m_numOffsetChannels |
FEBIdVector | m_empty |
This class maps FEB IDs to/from COOL channel ids.
This class is needed to store LAr conditions data into multiple channels in COOL. Each COOL channel will correspond to a subset of the FEB ids, and this class allows to lookup in either direction.
The COOL channel mapping works as follows: there are N groups of FEB IDs which are each mapped into a different channel. Then the overall channel mapping has:
ngain special channels to store the correction subsets for each gain N*ngain channels for each FEB ID group, repeated for each of the possible gains
One may identify which channels belong to the same group via the "group number". Here 0 signifies the corrections group and 1 to N for each of the groups of FEB IDs.
Note that the default is have all FEB IDs with in a single group
Definition at line 48 of file LArCondFEBIdChanMap.h.
typedef std::vector<FEBIdVector> LArCondFEBIdChanMap::ChannelMap |
Definition at line 55 of file LArCondFEBIdChanMap.h.
typedef unsigned int LArCondFEBIdChanMap::FEBId |
Public typedefs.
Definition at line 53 of file LArCondFEBIdChanMap.h.
typedef std::map<FEBId, unsigned int> LArCondFEBIdChanMap::FEBIdMap |
Definition at line 56 of file LArCondFEBIdChanMap.h.
typedef std::vector<FEBId> LArCondFEBIdChanMap::FEBIdVector |
Definition at line 54 of file LArCondFEBIdChanMap.h.
|
private |
Offsets for the special channels.
Enumerator | |
---|---|
NUMOFFSETCHANNELSPERGAIN | |
CORRECTIONSETCHANNEL |
Definition at line 139 of file LArCondFEBIdChanMap.h.
Correction type.
Enumerator | |
---|---|
Original | |
PSBA | |
PSBC | |
PSECA | |
PSECC | |
EMBA | |
EMBC | |
EMECA | |
EMECC | |
HECA | |
HECC | |
FCALA | |
FCALC | |
NCORRTYPE |
Definition at line 59 of file LArCondFEBIdChanMap.h.
|
inline |
|
inline |
Constructor defining the number of channels per gain, min gain value, and the number of gain values.
nchannels input should NOT include the special offset channels
Definition at line 181 of file LArCondFEBIdChanMap.h.
|
virtualdefault |
destructor
|
inline |
Add in a FEBIdVector - channel number should be from 0 to NChannelsPerGain-1
Definition at line 344 of file LArCondFEBIdChanMap.h.
|
inline |
Number of cool channels per gain.
Definition at line 308 of file LArCondFEBIdChanMap.h.
void LArCondFEBIdChanMap::dump | ( | std::ostream & | o, |
const LArOnlineID * | onlineID = NULL |
||
) | const |
Definition at line 7 of file LArCondFEBIdChanMap.cxx.
|
inline |
Access to a FEB ID vector for a given gain and COOL channel.
Definition at line 226 of file LArCondFEBIdChanMap.h.
|
inlineprivate |
Fill map from chan/febid vec - channel here is 0 to chansPerGain-1.
Definition at line 197 of file LArCondFEBIdChanMap.h.
|
inline |
Access to the cool channel number for a given FEB ID and gain - bool == false if not found.
Definition at line 241 of file LArCondFEBIdChanMap.h.
|
inline |
Access to the cool channel numbers for the correction sets of a particular gain - bool == false if not found.
Definition at line 263 of file LArCondFEBIdChanMap.h.
|
inline |
Group number of a cool channel (0 - correction group, 1-N for FEB ID groups)
Definition at line 300 of file LArCondFEBIdChanMap.h.
|
inline |
Mininum gain value.
Definition at line 315 of file LArCondFEBIdChanMap.h.
|
inline |
Number of gain values.
Definition at line 322 of file LArCondFEBIdChanMap.h.
|
inline |
Number of groups - minimum is 2 (1 correction group, 1 FEB ID group)
Definition at line 292 of file LArCondFEBIdChanMap.h.
|
inline |
Number of offset channels - i.e. correction channels.
Definition at line 329 of file LArCondFEBIdChanMap.h.
|
inline |
Total number of channels for all gains and includes special offset channels.
Definition at line 337 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 153 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 154 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 160 of file LArCondFEBIdChanMap.h.
|
private |
File map from existing ChannelMap - e.g. on read back.
Definition at line 152 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 157 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 156 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 158 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 159 of file LArCondFEBIdChanMap.h.
|
private |
Definition at line 155 of file LArCondFEBIdChanMap.h.