ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileConditions
src
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
9
#include "
TileConditions/TileCondDCS_Data.h
"
10
#include "
AthenaPoolUtilities/CondAttrListCollection.h
"
11
#include <utility>
12
13
14
using namespace
std
;
15
//constructor
16
TileCondDCS_Data::TileCondDCS_Data
()
17
:
m_pModulesHV
(nullptr)
18
{}
19
20
//destructor
21
TileCondDCS_Data::~TileCondDCS_Data
()
22
{ }
23
24
25
//To clean
26
StatusCode
27
TileCondDCS_Data::initialize
()
28
{
29
m_pModulesHV
=
new
map<CondAttrListCollection::ChanNum, float >;
30
return
StatusCode::SUCCESS;
31
}
32
33
StatusCode
34
TileCondDCS_Data::finalize
()
35
{
36
return
StatusCode::SUCCESS;
37
}
38
40
41
//add map entries
42
void
TileCondDCS_Data::fill
(
const
CondAttrListCollection::ChanNum
& chanNum,
const
string
& param)
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
61
void
TileCondDCS_Data::remove
(
const
CondAttrListCollection::ChanNum
& chanNum,
const
string
& param)
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
}
71
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
83
int
TileCondDCS_Data::output
(
const
CondAttrListCollection::ChanNum
& chanNum){
84
DCSConditions::const_iterator pPair(
m_bad_channels
.find(chanNum) );
85
return
(pPair !=
m_bad_channels
.end() )? (pPair->second.size()) : 0;
86
}
87
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
TileCondDCS_Data.h
CondAttrListCollection::ChanNum
unsigned int ChanNum
Definition
CondAttrListCollection.h:54
TileCondDCS_Data::m_bad_channels
DCSConditions m_bad_channels
Definition
TileCondDCS_Data.h:45
TileCondDCS_Data::finalize
virtual StatusCode finalize()
Definition
TileCondDCS_Data.cxx:34
TileCondDCS_Data::~TileCondDCS_Data
virtual ~TileCondDCS_Data()
Definition
TileCondDCS_Data.cxx:21
TileCondDCS_Data::fill
void fill(const CondAttrListCollection::ChanNum &chanNum, const std::string ¶m)
add defect
Definition
TileCondDCS_Data.cxx:42
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
TileCondDCS_Data::initialize
virtual StatusCode initialize()
Definition
TileCondDCS_Data.cxx:27
TileCondDCS_Data::remove
void remove(const CondAttrListCollection::ChanNum &chanNum, const std::string ¶m)
remove a defect
Definition
TileCondDCS_Data.cxx:61
TileCondDCS_Data::TileCondDCS_Data
TileCondDCS_Data()
Definition
TileCondDCS_Data.cxx:16
TileCondDCS_Data::m_pModulesHV
std::map< CondAttrListCollection::ChanNum, float > * m_pModulesHV
Definition
TileCondDCS_Data.h:41
find
std::string find(const std::string &s)
return a remapped string
Definition
hcg.cxx:140
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0