ATLAS Offline Software
LArCalorimeter
LArCnv
LArCondAthenaPool
src
LAruA2MeVMCCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
#include "
LAruA2MeVMCCnv.h
"
12
#include "
LArSingleFloatUpdater.h
"
13
14
LArConditionsSubset<LArSingleFloatP>
*
15
LAruA2MeVMCCnv::createTransient
()
16
{
17
static
const
pool::Guid
p0_guid(
"CBF815A2-F18C-4C18-9E93-A8EE67CEE59F"
);
18
// first try the single-float converter
19
LArConditionsSubset<LArSingleFloatP>
*
p
=
createTransientSingleFloat
();
20
if
(
p
)
21
return
p
;
22
else
if
(
compareClassGuid
(p0_guid) ) {
23
// subset from before TP separation
24
MsgStream
log
(
msgSvc
(),
"LAruA2MeVMCCnv"
);
25
log
<<
MSG::DEBUG
<<
"Reading LAruA2MeVSubset (original)"
<<
endmsg
;
26
std::unique_ptr< LArConditionsSubset<LAruA2MeVP> > subset (
poolReadObject
<
LArConditionsSubset<LAruA2MeVP>
>() );
27
return
(
createTransient
(subset.get()));
28
29
}
30
throw
std::runtime_error(
"Unsupported persistent version of LAruA2MeVMC"
);
31
}
32
33
LArConditionsSubset<LArSingleFloatP>
*
34
LAruA2MeVMCCnv::createTransient
(
LArConditionsSubset<LAruA2MeVP>
* orig)
35
{
36
MsgStream
log
(
msgSvc
(),
"LAruA2MeVMCCnv"
);
37
log
<<
MSG::DEBUG
<<
"LAruA2MeVMCCnv::createTransient orig "
<< orig <<
endmsg
;
38
39
LArConditionsSubset<LArSingleFloatP>
*
result
=
new
LArConditionsSubset<LArSingleFloatP>
();
40
41
// Copy LAruA2MeVP subset to LArSingleFloat Subset
42
LArSingleFloatUpdater
copier;
43
copier.
update
(orig,
result
);
44
45
return
(
result
);
46
}
47
LAruA2MeVMCCnv::createTransient
virtual LArConditionsSubset< LArSingleFloatP > * createTransient()
Throws and exception if object is not a LArConditionsSubset<LArSingleFloatP>
Definition:
LAruA2MeVMCCnv.cxx:15
get_generator_info.result
result
Definition:
get_generator_info.py:21
LArSingleFloatUpdater::update
void update(const LArConditionsSubset< P > *old, LArConditionsSubset< LArSingleFloatP > *newObj)
Definition:
LArSingleFloatUpdater.h:22
LArSingleFloatUpdater
Definition:
LArSingleFloatUpdater.h:19
pool::Guid
::Guid Guid
Definition:
T_AthenaPoolCustCnv.h:19
python.utils.AtlRunQueryDQUtils.p
p
Definition:
AtlRunQueryDQUtils.py:210
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition:
StdJOSetup.py:36
endmsg
#define endmsg
Definition:
AnalysisConfig_Ntuple.cxx:63
T_AthenaPoolCoolMultChanCnv< TransientClass, LArConditionsSubset< LArSingleFloatP >, LArSingleFloatSubset_p1 >::poolReadObject
P * poolReadObject()
Read object of type P.
LArConditionsSubset
template class for use for I/O of conditions data
Definition:
LArConditionsSubset.h:122
LAruA2MeVMCCnv.h
AthenaPool converter LAruA2MeVMC.
LArSingleFloatUpdater.h
DEBUG
#define DEBUG
Definition:
page_access.h:11
python.CaloCondTools.log
log
Definition:
CaloCondTools.py:20
LArSingleFloatConverter::createTransientSingleFloat
LArConditionsSubset< LArSingleFloatP > * createTransientSingleFloat()
returns NULL if object is not a LArConditionsSubset<LArSingleFloatP>
Definition:
LArSingleFloatConverter.h:52
T_AthenaPoolCustCnv< TransientClass, LArConditionsSubset< LArSingleFloatP > >::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
Generated on Thu Nov 7 2024 21:20:06 for ATLAS Offline Software by
1.8.18