ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCnv
LArCondAthenaPool
src
LArPedestalCompleteCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
10
11
#include "
LArPedestalCompleteCnv.h
"
12
#include "
LArCondTPCnv/LArPedestalSubsetCnv_p1.h
"
13
14
static
const
LArPedestalSubsetCnv_p1
TPconverter1
;
15
static
const
LArPedestalSubsetCnv_p2
TPconverter2
;
16
17
18
LArPedestalSubset_p2
*
19
LArPedestalCompleteCnv::createPersistent
(
LArPedTransType
* transObj)
20
{
21
MsgStream log(msgSvc(),
"LArPedestalCompleteCnv"
);
22
//log << MSG::DEBUG << "LArPedestalComplete write" << endmsg;
23
return
TPconverter2
.createPersistentConst( transObj, log );
24
}
25
26
LArConditionsSubset<LArPedestalP1>
*
27
LArPedestalCompleteCnv::createTransient
(
const
Token
* token)
28
{
29
static
const
Guid
p2_guid(
"8BD3FE69-A3C4-418C-ACB9-E362CE524353"
);
30
static
const
Guid
p1_guid(
"E365F747-264B-4A0C-B80A-570DBE099881"
);
31
static
const
Guid
p0_guid(
"E17191DD-4C0A-4B1A-AE49-7D587C6BE3EE"
);
32
33
if
(
compareClassGuid
(token, p2_guid)) {
34
// using unique_ptr ensures deletion of the persistent object
35
std::unique_ptr< LArPedestalSubset_p2 > col_vect(
poolReadObject< LArPedestalSubset_p2 >
(token) );
36
MsgStream log(msgSvc(),
"LArPedestalCompleteCnv"
);
37
//log << MSG::INFO << "Reading LArPedestalSubset_p1" << endmsg;
38
return
TPconverter2
.createTransientConst( col_vect.get(), log );
39
}
40
else
if
(
compareClassGuid
(token, p1_guid) ) {
41
// using unique_ptr ensures deletion of the persistent object
42
std::unique_ptr< LArPedestalSubset_p1 > col_vect(
poolReadObject< LArPedestalSubset_p1 >
(token) );
43
MsgStream log(msgSvc(),
"LArPedestalCompleteCnv"
);
44
//log << MSG::INFO << "Reading LArPedestalSubset_p1" << endmsg;
45
return
TPconverter1
.createTransientConst( col_vect.get(), log );
46
}
47
else
if
(
compareClassGuid
(token, p0_guid) ) {
48
// subset from before TP separation
49
50
MsgStream log(msgSvc(),
"LArPedestalCompleteCnv"
);
51
log << MSG::DEBUG <<
"Reading LArPedestalSubset (original)"
<<
endmsg
;
52
53
std::unique_ptr< LArConditionsSubset<LArPedestalP> > subset (
poolReadObject
<
LArConditionsSubset<LArPedestalP>
>(token) );
54
// Here we must convert from LArPedestalP to LArPedestalP1
55
56
log << MSG::DEBUG <<
"subset ptr "
<< subset.get() <<
endmsg
;
57
58
return
(
createTransient
(subset.get()));
59
60
}
61
throw
std::runtime_error(
"Unsupported persistent version of LArPedestalCompleteCnv"
);
62
}
63
64
LArConditionsSubset<LArPedestalP1>
*
65
LArPedestalCompleteCnv::createTransient
(
LArConditionsSubset<LArPedestalP>
* orig)
66
{
67
68
MsgStream log(msgSvc(),
"LArPedestalCompleteCnv"
);
69
log << MSG::DEBUG <<
"LArPedestalCompleteCnv::createTransient orig "
<< orig <<
endmsg
;
70
71
LArConditionsSubset<LArPedestalP1>
* result =
new
LArConditionsSubset<LArPedestalP1>
();
72
73
// Copy LArPedestalP subset to LArPedestalP1
74
LArPedestalCopy
copier;
75
copier.
copyOldtoNew
(orig, result);
76
77
return
(result);
78
}
79
80
81
// Copy LArPedestalP subset to LArPedestalP1
82
void
83
LArPedestalCopy::copyOldtoNew
(
const
LArConditionsSubset<LArPedestalP>
* oldPedestal,
84
LArConditionsSubset<LArPedestalP1>
* newPedestal)
85
{
86
newPedestal->
assign
(*oldPedestal,
87
[] (
const
LArPedestalP
& from,
88
LArPedestalP1
& to)
89
{
90
to.m_Pedestal = from.
m_vPedestal
.empty() ? 0 : from.
m_vPedestal
[0];
91
to.m_PedestalRMS = from.
m_vPedestalRMS
.empty() ? 0 : from.
m_vPedestalRMS
[0];
92
});
93
}
94
95
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
TPconverter2
static const LArCaliWaveSubsetCnv_p2 TPconverter2
Definition
LArCaliWaveContainerCnv.cxx:17
TPconverter1
static const LArCaliWaveSubsetCnv_p1 TPconverter1
Definition
LArCaliWaveContainerCnv.cxx:16
LArConditionsSubset< LArPedestalP1 >
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current LArConditionsSubset< LArPedestalP1 >
Definition
LArCondTPCnv.cxx:85
LArPedestalCompleteCnv.h
AthenaPool converter LArPedestalComplete.
LArPedTransType
LArConditionsSubset< LArPedestalP1 > LArPedTransType
Definition
LArPedestalCompleteCnv.h:21
LArPedestalSubsetCnv_p1.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
LArConditionsSubset
template class for use for I/O of conditions data
Definition
LArConditionsSubset.h:122
LArConditionsSubset::assign
void assign(const LArConditionsSubset< U > &other, COPIER copier)
Copy from another subset object.
Definition
LArConditionsSubset.h:339
LArPedestalCompleteCnv::createPersistent
virtual LArPedPersType * createPersistent(LArPedTransType *transObj)
method to be implemented by the developer.
Definition
LArPedestalCompleteCnv.cxx:19
LArPedestalCompleteCnv::createTransient
virtual LArPedTransType * createTransient(const Token *token)
method to be implemented by the developer.
Definition
LArPedestalCompleteCnv.cxx:27
LArPedestalCopy
Definition
LArPedestalCompleteCnv.h:38
LArPedestalCopy::copyOldtoNew
void copyOldtoNew(const LArConditionsSubset< LArPedestalP > *oldPedestal, LArConditionsSubset< LArPedestalP1 > *newPedestal)
Definition
LArPedestalCompleteCnv.cxx:83
LArPedestalP1
Definition
LArPedestalP1.h:12
LArPedestalP
Definition
LArPedestalP.h:11
LArPedestalP::m_vPedestalRMS
std::vector< float > m_vPedestalRMS
Definition
LArPedestalP.h:17
LArPedestalP::m_vPedestal
std::vector< float > m_vPedestal
Definition
LArPedestalP.h:16
LArPedestalSubsetCnv_p1
Definition
LArPedestalSubsetCnv_p1.h:20
LArPedestalSubsetCnv_p2
Definition
LArPedestalSubsetCnv_p2.h:19
LArPedestalSubset_p2
persistent class container of LArConditionsSubset for LArPedestal data.
Definition
LArPedestalSubset_p2.h:30
T_AthenaPoolCoolMultChanCnv< LArPedestalComplete, LArPedTransType, LArPedPersType >::poolReadObject
P * poolReadObject(const Token *token)
T_AthenaPoolCoolMultChanCnv< LArPedestalComplete, LArPedTransType, LArPedPersType >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
Generated on
for ATLAS Offline Software by
1.17.0