  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
    8 #include "GaudiKernel/MsgStream.h" 
   12 std::vector<LArBadChannelDecoder::BadChanEntry>
 
   17   std::vector<BadChanEntry> 
result;
 
   21   if (!
parser.fileStatusGood()) {
 
   22     log << MSG::ERROR << 
"Failed to open file " << 
fname 
   27   typedef std::string ParseType;
 
   28   typedef std::pair<std::vector<int>, std::vector<ParseType> > ParsedLine;
 
   29   std::vector<ParsedLine> 
parsed = 
parser.parseFile<ParseType>();
 
   32   for (std::vector<ParsedLine>::const_iterator 
i=
parsed.begin();
 
   38     result.emplace_back( hwid, badCh.second);
 
   45 std::vector<LArBadChannelDecoder::BadFebEntry>
 
   49   std::vector<BadFebEntry> 
result;
 
   53   if (!
parser.fileStatusGood()) {
 
   54     log << MSG::ERROR << 
"Failed to open missing FEBs file " << 
fname << 
endmsg;
 
   58   typedef std::string ParseType;
 
   59   typedef std::pair<std::vector<int>, std::vector<ParseType> > ParsedLine;
 
   60   std::vector<ParsedLine> 
parsed = 
parser.parseFile<ParseType>();
 
   61   for (std::vector<ParsedLine>::const_iterator 
i=
parsed.begin();
 
   68     for (std::vector<HWIdentifier>::const_iterator 
i=hwid.begin(); 
i!=hwid.end(); ++
i) {
 
   69       result.emplace_back( *
i, badFeb.second);
 
   82   if (intVec.size() < 5) { 
 
   83     log << MSG::WARNING << 
"Failed to produce a channel HWIdentifier for ";
 
   84     for (
unsigned int i=0; 
i<intVec.size(); 
i++) 
log << intVec[
i] << 
" ";
 
   85     log << 
"not enough identifiers" << 
endmsg;
 
   98     log << 
" to 0x" << MSG::hex << hwid << MSG::dec << 
endmsg;   
 
  108                                 MsgStream& 
log)
 const 
  110   const int maxFebPerFT = 15; 
 
  112   std::vector<HWIdentifier> 
result;
 
  113   if (intVec.size() != 4) { 
 
  114     log << MSG::WARNING << 
"Failed to produce a FEB HWIdentifier for ";
 
  115     for (
unsigned int i=0; 
i<intVec.size(); 
i++) 
log << intVec[
i] << 
" ";
 
  116     log << 
"not enough identifiers" << 
endmsg;
 
  121   if (intVec[
slot] == -1) {
 
  122     std::vector<int> 
vec( intVec); 
 
  139                              MsgStream& 
log)
 const 
  142   if (
v.size() != 4) 
return invalid;
 
  146     log << 
" to 0x" << MSG::hex << hwid << MSG::dec << 
endmsg;   
 
  156 std::pair<bool,LArBadChannel> 
 
  160   for(std::vector<std::string>::const_iterator 
it = 
vec.begin(); 
it != 
vec.end(); ++
it) {
 
  167       log << MSG::WARNING << 
"LArBadChannelDecoder REJECTED line with "  
  168       << 
":\t unrecognized problem status: " << *
it << 
endmsg;
 
  169        return std::pair<bool,LArBadChannel>(
false,
result); 
 
  172   return std::pair<bool,LArBadChannel>(
true,
result);
 
  175 std::pair<bool,LArBadFeb> 
 
  177                       MsgStream& 
log)
 const 
  180   for(std::vector<std::string>::const_iterator 
it = 
vec.begin(); 
it != 
vec.end(); ++
it) {
 
  183       log << MSG::WARNING << 
"LArBadChannelDecoder REJECTED line with "  
  184       << 
":\t unrecognized problem status: " << *
it << 
endmsg;
 
  185        return std::pair<bool,LArBadFeb>(
false,
result); 
 
  188   return std::pair<bool,LArBadFeb>(
true,
result);
 
  197       << 
" slot " << intVec[
slot];
 
  198   if (intVec.size() >= 5) 
log << 
" ch " <<  intVec[
channel]; 
 
  
static CaloPartEnum caloPart(CoolChannelEnum chan)
 
static int barrelEndcap(CoolChannelEnum chan)
 
static int posNeg(CoolChannelEnum chan)
 
std::vector< size_t > vec
 
static MsgStream & insertExpandedID(const std::vector< int > &intVec, MsgStream &log)
 
LArBadChanSCBitPacking m_SCpacking
 
bool is_valid() const
Check if id is in a valid state.
 
LArBadFebBitPacking m_febPacking
 
LArBadChanBitPacking m_packing
 
const LArOnlineID_Base * m_onlineID
 
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
 
bool isFCALchannel(const HWIdentifier id) const
 
virtual bool isHECchannel(const HWIdentifier id) const =0
 
Exception class for LAr online Identifiers.
 
HWIdentifier constructSingleFebId(const std::vector< int > &v, MsgStream &log) const
 
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
 
HWIdentifier constructChannelId(const std::vector< int > &intVec, State::CoolChannelEnum coolChan, MsgStream &log) const
 
void setBit(ProblemType pb, BitWord &word, bool value=true) const
 
std::pair< bool, LArBadChannel > constructStatus(const std::vector< std::string > &vec, MsgStream &log) const
 
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
 
static std::string coolChannelName(CoolChannelEnum chan)
 
virtual bool isEMECchannel(const HWIdentifier id) const =0
 
bool checkId(const HWIdentifier &, int be, int pn, State::CoolChannelEnum) const
 
std::vector< HWIdentifier > constructFebId(const std::vector< int > &intVec, MsgStream &log) const
 
bool isEMBchannel(const HWIdentifier id) const
 
std::vector< BadChanEntry > readASCII(const std::string &name, State::CoolChannelEnum coolChan, MsgStream &log) const
 
std::vector< BadFebEntry > readFebASCII(const std::string &fname, MsgStream &log) const
 
std::pair< bool, LArBadFeb > constructFebStatus(const std::vector< std::string > &vec, MsgStream &log) const
 
void setBit(typename T::ProblemType pb, LArBadChannel::BitWord &word, bool value=true) const