ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1CaloCalibConditions
src
L1CaloDerivedRunParsContainer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h
"
5
6
#include <algorithm>
7
#include <memory>
8
9
#include "CoralBase/AttributeListSpecification.h"
10
#include "
AthenaPoolUtilities/CondAttrListCollection.h
"
11
#include "
AthenaPoolUtilities/AthenaAttributeList.h
"
12
13
#include "
TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
"
14
15
L1CaloDerivedRunParsContainer::L1CaloDerivedRunParsContainer
()
16
:
AbstractL1CaloPersistentCondition
(
"CondAttrListCollection"
)
17
{
18
this->
addSpecification
(
etimingRegime
,
"timingRegime"
,
"string"
);
19
this->
addSpecification
(
etierZeroTag
,
"tierZeroTag"
,
"string"
);
20
}
21
22
L1CaloDerivedRunParsContainer::L1CaloDerivedRunParsContainer
(
const
std::string& folderKey)
23
:
L1CaloDerivedRunParsContainer
()
// delegating constructor
24
{
25
// cppcheck-suppress useInitializationList
26
m_coolFolderKey
= folderKey;
27
}
28
29
30
DataObject*
L1CaloDerivedRunParsContainer::makePersistent
()
const
31
{
32
using
std::make_unique;
33
34
if
(
m_coolFolderKey
.empty())
return
nullptr
;
35
36
auto
* attrSpecification = this->
createAttributeListSpecification
();
37
if
(!attrSpecification || !attrSpecification->size())
return
nullptr
;
38
39
auto
attrListCollection = make_unique<CondAttrListCollection>(
true
);
40
for
(
const
auto
& item :
m_derivedRunParss
) {
41
AthenaAttributeList
attrList(*attrSpecification);
42
attrList[
specificationName
(
etimingRegime
)].setValue(item.timingRegime());
43
attrList[
specificationName
(
etierZeroTag
)].setValue(item.tierZeroTag());
44
45
attrListCollection->add(item.channelId(), attrList);
46
}
47
return
static_cast<
DataObject*
>
(attrListCollection.release());
48
}
49
50
void
L1CaloDerivedRunParsContainer::makeTransient
(
const
std::map<std::string, const CondAttrListCollection*>& condAttrListCollectionMap)
51
{
52
clear
();
53
54
auto
it = condAttrListCollectionMap.find(
m_coolFolderKey
);
55
if
(it == std::end(condAttrListCollectionMap))
return
;
56
57
auto
attrListCollection = it->second;
58
for
(
const
auto
& item : *attrListCollection) {
59
auto
chanNum = item.first;
60
const
auto
& attrList = item.second;
61
62
const
auto
& timingRegime = attrList[
specificationName
(
etimingRegime
)].data<std::string>();
63
const
auto
& tierZeroTag = attrList[
specificationName
(
etierZeroTag
)].data<std::string>();
64
65
addDerivedRunPars
(
L1CaloDerivedRunPars
(chanNum, timingRegime, tierZeroTag));
66
}
67
}
68
69
const
L1CaloDerivedRunPars
*
L1CaloDerivedRunParsContainer::derivedRunPars
(
unsigned
int
channelId)
const
70
{
71
auto
it = std::lower_bound(std::begin(
m_derivedRunParss
),
72
std::end(
m_derivedRunParss
),
73
channelId,
74
[](
const
L1CaloDerivedRunPars
& el,
unsigned
int
val) ->
bool
{
75
return
el.channelId() < val;
76
});
77
if
(it == std::end(
m_derivedRunParss
))
return
nullptr
;
78
return
&(*it);
79
}
80
81
void
L1CaloDerivedRunParsContainer::addDerivedRunPars
(
const
L1CaloDerivedRunPars
&
derivedRunPars
)
82
{
83
// insert into the correct position mainting the sorted vector
84
m_derivedRunParss
.insert(std::lower_bound(std::begin(
m_derivedRunParss
),
85
std::end(
m_derivedRunParss
),
86
derivedRunPars
.channelId(),
87
[](
const
L1CaloDerivedRunPars
& el,
unsigned
int
va) ->
bool
{
88
return el.channelId() < va;
89
}),
90
derivedRunPars
);
91
}
92
93
94
void
L1CaloDerivedRunParsContainer::dump
()
const
{
95
L1CaloDerivedRunParsContainer::const_iterator
it = this->
begin
();
96
for
(;it!=this->
end
();++it) {
97
std::cout <<
" * item: "
<< *it <<std::endl;
98
}
99
}
AthenaAttributeList.h
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
L1CaloDerivedRunParsContainer.h
L1CaloDerivedRunPars.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
L1CaloDerivedRunParsContainer::etimingRegime
@ etimingRegime
Definition
L1CaloDerivedRunParsContainer.h:28
L1CaloDerivedRunParsContainer::etierZeroTag
@ etierZeroTag
Definition
L1CaloDerivedRunParsContainer.h:28
L1CaloDerivedRunParsContainer::makeTransient
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &)
Definition
L1CaloDerivedRunParsContainer.cxx:50
L1CaloDerivedRunParsContainer::L1CaloDerivedRunParsContainer
L1CaloDerivedRunParsContainer()
Definition
L1CaloDerivedRunParsContainer.cxx:15
L1CaloDerivedRunParsContainer::dump
void dump() const
Definition
L1CaloDerivedRunParsContainer.cxx:94
L1CaloDerivedRunParsContainer::clear
virtual void clear()
Definition
L1CaloDerivedRunParsContainer.h:40
L1CaloDerivedRunParsContainer::m_coolFolderKey
std::string m_coolFolderKey
Definition
L1CaloDerivedRunParsContainer.h:59
L1CaloDerivedRunParsContainer::derivedRunPars
const L1CaloDerivedRunPars * derivedRunPars(unsigned int channelId) const
Definition
L1CaloDerivedRunParsContainer.cxx:69
L1CaloDerivedRunParsContainer::begin
const_iterator begin() const
Definition
L1CaloDerivedRunParsContainer.h:49
L1CaloDerivedRunParsContainer::addDerivedRunPars
void addDerivedRunPars(const L1CaloDerivedRunPars &derivedRunPars)
Definition
L1CaloDerivedRunParsContainer.cxx:81
L1CaloDerivedRunParsContainer::m_derivedRunParss
std::vector< L1CaloDerivedRunPars > m_derivedRunParss
Definition
L1CaloDerivedRunParsContainer.h:58
L1CaloDerivedRunParsContainer::const_iterator
std::vector< L1CaloDerivedRunPars >::const_iterator const_iterator
Definition
L1CaloDerivedRunParsContainer.h:48
L1CaloDerivedRunParsContainer::makePersistent
virtual DataObject * makePersistent() const
Definition
L1CaloDerivedRunParsContainer.cxx:30
L1CaloDerivedRunParsContainer::end
const_iterator end() const
Definition
L1CaloDerivedRunParsContainer.h:50
L1CaloDerivedRunPars
Folder <-> Object mapping for /TRIGGER/L1Calo/V1/Conditions/DerivedRunPars .
Definition
L1CaloDerivedRunPars.h:17
Generated on
for ATLAS Offline Software by
1.17.0