ATLAS Offline Software
CaloCalibrationHitContainerCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
11 
12 
14  MsgStream mlog(msgSvc(), "CaloCalibrationHitContainerConverter" );
16  CaloCalibrationHitContainer_PERS *persObj = converter.createPersistent( transCont, mlog );
17  return persObj;
18 }
19 
20 
22  MsgStream mlog(msgSvc(), "CaloCalibrationHitContainerConverter" );
26 
27  CaloCalibrationHitContainer *trans_cont(0);
28  static const pool::Guid p1_guid("185FEF89-2350-4D1E-A1A7-9CB5A357232E");
29  static const pool::Guid p2_guid("4942B9D4-F545-4C68-BD2D-A8E5923C29F3");
30  static const pool::Guid p3_guid("D4E51325-2A55-41E4-B163-5224F2FA27CB");
31  static const pool::Guid p0_guid("33CDAED0-F472-47D2-8F28-27C6D6761F35");
32 
33  if( this->compareClassGuid(p3_guid)) {
34  std::unique_ptr< CaloCalibrationHitContainer_p3 > col_vect( this->poolReadObject< CaloCalibrationHitContainer_p3 >() );
35  trans_cont = converter_p3.createTransient( col_vect.get(), mlog );
36  }
37  else if( this->compareClassGuid(p2_guid)) {
38  std::unique_ptr< CaloCalibrationHitContainer_p2 > col_vect( this->poolReadObject< CaloCalibrationHitContainer_p2 >() );
39  trans_cont = converter_p2.createTransient( col_vect.get(), mlog );
40  }
41  else if( this->compareClassGuid(p1_guid)) {
42  std::unique_ptr< CaloCalibrationHitContainer_p1 > col_vect( this->poolReadObject< CaloCalibrationHitContainer_p1 >() );
43  trans_cont = converter_p1.createTransient( col_vect.get(), mlog );
44  }
45  else if( this->compareClassGuid(p0_guid)) {
46  // old version from before TP separation, just return it
47  trans_cont = this->poolReadObject<CaloCalibrationHitContainer>();
48  } else {
49  throw std::runtime_error("Unsupported persistent version of Data container");
50  }
51  return trans_cont;
52 }
CaloCalibrationHitContainer
Definition: CaloCalibrationHitContainer.h:25
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
CaloCalibrationHitContainerCnv.h
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
python.InDetPriVxFinderConfig.mlog
mlog
Definition: InDetPriVxFinderConfig.py:134
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
CaloCalibrationHitContainerCnv_p3
Definition: CaloCalibrationHitContainerCnv_p3.h:15
CaloCalibrationHitContainerCnv::createPersistent
CaloCalibrationHitContainer_PERS * createPersistent(CaloCalibrationHitContainer *transCont)
Definition: CaloCalibrationHitContainerCnv.cxx:13
CaloCalibrationHitContainerCnv_p3.h
CaloCalibrationHitContainerCnv_p2.h
CaloCalibrationHitContainerCnv_p1.h
CaloCalibrationHitContainerCnv_p2
Definition: CaloCalibrationHitContainerCnv_p2.h:15
T_AthenaHitsVectorCnv
Definition: TPConverter.h:1216
CaloCalibrationHitContainerCnv::createTransient
CaloCalibrationHitContainer * createTransient()
Definition: CaloCalibrationHitContainerCnv.cxx:21
CaloCalibrationHit_p2.h
T_AthenaPoolCustCnv< CaloCalibrationHitContainer, CaloCalibrationHitContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
CaloCalibrationHitContainer_p3
Persistent represenation of a CaloCalibrationContainer,.
Definition: CaloCalibrationHitContainer_p3.h:16
CaloCalibrationHit_p1.h