ATLAS Offline Software
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 
16 {
17  static const pool::Guid p0_guid("CBF815A2-F18C-4C18-9E93-A8EE67CEE59F");
18  // first try the single-float converter
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 
35 {
36  MsgStream log(msgSvc(), "LAruA2MeVMCCnv" );
37  log << MSG::DEBUG << "LAruA2MeVMCCnv::createTransient orig " << orig << endmsg;
38 
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.