ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1CaloCalibConditions
src
L1CaloEnergyScanRunInfoContainer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigT1CaloCalibConditions/L1CaloEnergyScanRunInfoContainer.h
"
6
7
#include "CoralBase/AttributeListSpecification.h"
8
#include "
AthenaPoolUtilities/AthenaAttributeList.h
"
9
10
#include <string>
11
#include <iostream>
12
13
L1CaloEnergyScanRunInfoContainer::L1CaloEnergyScanRunInfoContainer
() :
14
AbstractL1CaloPersistentCondition
(
"AthenaAttributeList"
),
15
m_runNumber
(0),
16
m_gainStrategy
(
""
)
17
{
18
// Define DB rows names and types in order to construct the AttributeListSpecification object
19
this->
addSpecification
(
eRunNumber
, std::string(
"RunNumber"
), std::string(
"unsigned int"
));
20
this->
addSpecification
(
eGainStrategy
,std::string(
"GainStrategy"
),std::string(
"string"
));
21
22
m_mCoolFoldersKeysMap
[
L1CaloEnergyScanRunInfoContainer::eEnergyScanRunInfo
] = std::string(
"/TRIGGER/L1Calo/V1/Results/EnergyScanRunInfo"
);
23
}
24
25
L1CaloEnergyScanRunInfoContainer::L1CaloEnergyScanRunInfoContainer
(
const
std::map<L1CaloEnergyScanRunInfoContainer::eCoolFolders, std::string>& folderKeysMap) :
26
AbstractL1CaloPersistentCondition
(
"AthenaAttributeList"
),
27
m_mCoolFoldersKeysMap
(folderKeysMap),
28
m_runNumber
(0),
29
m_gainStrategy
(
""
)
30
{
31
// Define DB rows names and types in order to construct the AttributeListSpecification object
32
this->
addSpecification
(
eRunNumber
, std::string(
"RunNumber"
), std::string(
"unsigned int"
));
33
this->
addSpecification
(
eGainStrategy
,std::string(
"GainStrategy"
),std::string(
"string"
));
34
}
35
36
std::string
L1CaloEnergyScanRunInfoContainer::coolFolderKey
(
L1CaloEnergyScanRunInfoContainer::eCoolFolders
efolder)
const
{
37
38
std::map<L1CaloEnergyScanRunInfoContainer::eCoolFolders, std::string>::const_iterator it =
m_mCoolFoldersKeysMap
.find(efolder);
39
if
(it!=
m_mCoolFoldersKeysMap
.end()) {
40
return
it->second;
41
}
else
{
42
return
std::string(
""
);
43
}
44
}
45
46
std::vector<std::string>
L1CaloEnergyScanRunInfoContainer::coolInputKeys
()
const
{
47
std::vector<std::string> v;
48
v.push_back(this->
coolFolderKey
(
L1CaloEnergyScanRunInfoContainer::eEnergyScanRunInfo
));
49
return
v;
50
}
51
52
std::string
L1CaloEnergyScanRunInfoContainer::coolOutputKey
()
const
{
53
return
this->
coolFolderKey
(
L1CaloEnergyScanRunInfoContainer::eEnergyScanRunInfo
);
54
}
55
56
DataObject*
L1CaloEnergyScanRunInfoContainer::makePersistent
()
const
{
57
58
// Create AttributeListSpecification according to the attributes to be recorded
59
// this is required to create the AttributeList objs
60
coral::AttributeListSpecification* attrSpecification = this->
createAttributeListSpecification
();
61
if
(!attrSpecification->size())
return
NULL;
62
63
AthenaAttributeList
* attrList =
new
AthenaAttributeList
(*attrSpecification);
64
65
(*attrList)[ this->
specificationName
(
eRunNumber
) ].setValue(
m_runNumber
);
66
(*attrList)[ this->
specificationName
(
eGainStrategy
) ].setValue(
m_gainStrategy
);
67
68
return
attrList;
69
}
70
71
void
L1CaloEnergyScanRunInfoContainer::makeTransient
(
const
std::map<std::string, AthenaAttributeList*>& athenaAttributeListMap) {
72
73
std::map<std::string, AthenaAttributeList*>::const_iterator
74
it_map(athenaAttributeListMap.find(this->coolFolderKey(
L1CaloEnergyScanRunInfoContainer::eEnergyScanRunInfo
)));
75
76
if
(it_map!=athenaAttributeListMap.end()) {
77
78
const
AthenaAttributeList
& attrList(*(it_map->second));
79
80
m_runNumber
= attrList[ this->
specificationName
(
eRunNumber
) ].data<
unsigned
int
>();
81
m_gainStrategy
= attrList[ this->
specificationName
(
eGainStrategy
) ].data<std::string>();
82
83
}
else
{
84
std::cout <<
"L1CaloEnergyScanRunInfoContainer : Could not find requested AthenaAttributeList "
85
<< this->
coolFolderKey
(
L1CaloEnergyScanRunInfoContainer::eEnergyScanRunInfo
) << std::endl;
86
}
87
}
AthenaAttributeList.h
L1CaloEnergyScanRunInfoContainer.h
AbstractL1CaloPersistentCondition::specificationName
std::string specificationName(int specId) const
Definition
AbstractL1CaloPersistentCondition.cxx:44
AbstractL1CaloPersistentCondition::AbstractL1CaloPersistentCondition
AbstractL1CaloPersistentCondition(const std::string &condType)
Definition
AbstractL1CaloPersistentCondition.h:45
AbstractL1CaloPersistentCondition::addSpecification
void addSpecification(int specId, const std::string &specName, const std::string &specType)
Definition
AbstractL1CaloPersistentCondition.cxx:26
AbstractL1CaloPersistentCondition::createAttributeListSpecification
coral::AttributeListSpecification * createAttributeListSpecification() const
Definition
AbstractL1CaloPersistentCondition.cxx:31
AthenaAttributeList
An AttributeList represents a logical row of attributes in a metadata table.
Definition
PersistentDataModel/PersistentDataModel/AthenaAttributeList.h:46
L1CaloEnergyScanRunInfoContainer::coolFolderKey
std::string coolFolderKey(L1CaloEnergyScanRunInfoContainer::eCoolFolders efolder) const
Definition
L1CaloEnergyScanRunInfoContainer.cxx:36
L1CaloEnergyScanRunInfoContainer::eCoolFolders
eCoolFolders
Definition
L1CaloEnergyScanRunInfoContainer.h:34
L1CaloEnergyScanRunInfoContainer::eEnergyScanRunInfo
@ eEnergyScanRunInfo
Definition
L1CaloEnergyScanRunInfoContainer.h:34
L1CaloEnergyScanRunInfoContainer::coolInputKeys
virtual std::vector< std::string > coolInputKeys() const
Definition
L1CaloEnergyScanRunInfoContainer.cxx:46
L1CaloEnergyScanRunInfoContainer::eRunNumber
@ eRunNumber
Definition
L1CaloEnergyScanRunInfoContainer.h:30
L1CaloEnergyScanRunInfoContainer::eGainStrategy
@ eGainStrategy
Definition
L1CaloEnergyScanRunInfoContainer.h:30
L1CaloEnergyScanRunInfoContainer::makePersistent
virtual DataObject * makePersistent() const
Definition
L1CaloEnergyScanRunInfoContainer.cxx:56
L1CaloEnergyScanRunInfoContainer::makeTransient
virtual void makeTransient(const std::map< std::string, AthenaAttributeList * > &athenaAttributeListMap)
Definition
L1CaloEnergyScanRunInfoContainer.cxx:71
L1CaloEnergyScanRunInfoContainer::m_runNumber
unsigned int m_runNumber
Definition
L1CaloEnergyScanRunInfoContainer.h:60
L1CaloEnergyScanRunInfoContainer::m_mCoolFoldersKeysMap
std::map< L1CaloEnergyScanRunInfoContainer::eCoolFolders, std::string > m_mCoolFoldersKeysMap
Definition
L1CaloEnergyScanRunInfoContainer.h:59
L1CaloEnergyScanRunInfoContainer::L1CaloEnergyScanRunInfoContainer
L1CaloEnergyScanRunInfoContainer()
Definition
L1CaloEnergyScanRunInfoContainer.cxx:13
L1CaloEnergyScanRunInfoContainer::coolOutputKey
virtual std::string coolOutputKey() const
Definition
L1CaloEnergyScanRunInfoContainer.cxx:52
L1CaloEnergyScanRunInfoContainer::m_gainStrategy
std::string m_gainStrategy
Definition
L1CaloEnergyScanRunInfoContainer.h:61
Generated on
for ATLAS Offline Software by
1.17.0