ATLAS Offline Software
TileCondDCS_Data.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //Implementation file for the data object class
6 //The object is a map of channel number<->vector<string>
7 //Each string is the name of the guilty DCS parameter
8 
11 #include <utility>
12 
13 
14 using namespace std;
15 //constructor
17  : m_pModulesHV(nullptr)
18 {}
20 //destructor
22 { }
24 
25 //To clean
28 {
29  m_pModulesHV = new map<CondAttrListCollection::ChanNum, float >;
30  return StatusCode::SUCCESS;
31 }
32 
35 {
36  return StatusCode::SUCCESS;
37 }
38 
40 
41 //add map entries
43 {
44  if (m_bad_channels.find(chanNum) != m_bad_channels.end()) {
45  vector<string> par= (*m_bad_channels.find(chanNum)).second;
46  vector<string>::iterator par_itr=find(par.begin(),par.end(),param);
47  if (par_itr == par.end()){
48  par.push_back(param);
49  m_bad_channels.insert(make_pair(chanNum, par));
50  }
51  }
52  else {
53  vector<string> par;
54  par.push_back(param);
55  m_bad_channels.insert(make_pair(chanNum, par));
56  }
57 }
58 
60 //remove entries in map vector
62 {
63  map< CondAttrListCollection::ChanNum,vector<string> >::iterator itr=m_bad_channels.find(chanNum);
64  if (itr != m_bad_channels.end()) {
65  vector<string>::iterator vec_itr=find((*itr).second.begin(),(*itr).second.end(),param);
66  if (vec_itr != (*itr).second.end()){
67  (*itr).second.erase(vec_itr);
68  }
69  }
70 }
72 //output map vector
73 int TileCondDCS_Data::output(const CondAttrListCollection::ChanNum & chanNum, vector< string > & usersVector){
74  DCSConditions::const_iterator pPair(m_bad_channels.find(chanNum) );
75  if ( pPair != m_bad_channels.end()){
76  const vector< string > & v(pPair->second);
77  usersVector.insert(usersVector.begin(), v.begin(), v.end() );
78  }
79  return usersVector.size();
80 }
81 
82 //output map size
84  DCSConditions::const_iterator pPair(m_bad_channels.find(chanNum) );
85  return (pPair != m_bad_channels.end() )? (pPair->second.size()) : 0;
86 }
87 
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
TileCondDCS_Data::m_bad_channels
DCSConditions m_bad_channels
Definition: TileCondDCS_Data.h:45
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
TileCondDCS_Data.h
TileCondDCS_Data::initialize
virtual StatusCode initialize()
Definition: TileCondDCS_Data.cxx:27
TileCondDCS_Data::fill
void fill(const CondAttrListCollection::ChanNum &chanNum, const std::string &param)
add defect
Definition: TileCondDCS_Data.cxx:42
checkCoolLatestUpdate.chanNum
chanNum
Definition: checkCoolLatestUpdate.py:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileCondDCS_Data::output
int output(const CondAttrListCollection::ChanNum &chanNum, std::vector< std::string > &usersVector)
copy all defects to a users vector, the return value is the size
Definition: TileCondDCS_Data.cxx:73
CondAttrListCollection::ChanNum
unsigned int ChanNum
Definition: CondAttrListCollection.h:55
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
python.PyAthena.v
v
Definition: PyAthena.py:157
TileCondDCS_Data::~TileCondDCS_Data
virtual ~TileCondDCS_Data()
Definition: TileCondDCS_Data.cxx:21
TileCondDCS_Data::TileCondDCS_Data
TileCondDCS_Data()
Definition: TileCondDCS_Data.cxx:16
TileCondDCS_Data::remove
void remove(const CondAttrListCollection::ChanNum &chanNum, const std::string &param)
remove a defect
Definition: TileCondDCS_Data.cxx:61
TileCondDCS_Data::m_pModulesHV
std::map< CondAttrListCollection::ChanNum, float > * m_pModulesHV
Definition: TileCondDCS_Data.h:41
TileCondDCS_Data::finalize
virtual StatusCode finalize()
Definition: TileCondDCS_Data.cxx:34