ATLAS Offline Software
TrackParticleTruthCollectionCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
14 
15 #include "GaudiKernel/StatusCode.h"
16 #include "GaudiKernel/MsgStream.h"
17 #include "GaudiKernel/ISvcLocator.h"
18 
19 // Athena
20 #include "StoreGate/StoreGateSvc.h"
21 
22 // This is release 12 guid for TrackParticleTruthVector.
23 const pool::Guid TrackParticleTruthCollectionCnv::s_p0_guid("B35041E8-D980-458E-AC06-79028CF79D5D");
24 
25 const pool::Guid TrackParticleTruthCollectionCnv::s_p1_guid("D62AFEEE-EF2C-437A-B7BE-CA926D38CCFA");
26 
27 const pool::Guid TrackParticleTruthCollectionCnv::s_p2_guid("D62AFEEE-EF2C-437A-B7BE-CA926D38CCFB");
28 
29 const pool::Guid TrackParticleTruthCollectionCnv::s_p3_guid("018F1ACE-8405-7174-9305-46B503B5EF52");
30 
31 //================================================================
34 {}
35 
36 //================================================================
38  MsgStream log(msgSvc(), "TrackParticleTruthCollectionCnv");
39  log<<MSG::DEBUG<<"Writing TrackParticleTruthCollection_p2"<<endmsg;
41  m_converter_p2.transToPers(trans,pers,log);
42  return pers;
43 }
44 
45 //================================================================
47  MsgStream log(msgSvc(), "TrackParticleTruthCollectionCnv" );
48  std::unique_ptr<TrackParticleTruthCollection> trans(new TrackParticleTruthCollection());
49 
51  log<<MSG::DEBUG<<"Read TrackParticleTruthCollection_p3. GUID="<<m_classID.toString()<<endmsg;
52  Rec::TrackParticleTruthCollection_p3* pers=poolReadObject<Rec::TrackParticleTruthCollection_p3>();
53  m_converter_p3.persToTrans(pers, trans.get(), log);
54  delete pers;
55  }
56  else if (compareClassGuid(s_p2_guid)) {
57  log<<MSG::DEBUG<<"Read TrackParticleTruthCollection_p2. GUID="<<m_classID.toString()<<endmsg;
58  Rec::TrackParticleTruthCollection_p2* pers=poolReadObject<Rec::TrackParticleTruthCollection_p2>();
59  m_converter_p2.persToTrans(pers, trans.get(), log);
60  delete pers;
61  }
62  else if (compareClassGuid(s_p1_guid)) {
63  log<<MSG::DEBUG<<"Read TrackParticleTruthCollection_p1. GUID="<<m_classID.toString()<<endmsg;
64  Rec::TrackParticleTruthCollection_p1* pers=poolReadObject<Rec::TrackParticleTruthCollection_p1>();
65  m_converter_p1.persToTrans(pers, trans.get(), log);
66  delete pers;
67  }
68  else if (compareClassGuid(s_p0_guid)) {
69  log<<MSG::DEBUG<<"Read version p0 of TrackParticleTruthCollection. GUID="<<m_classID.toString()<<endmsg;
70  TrackParticleTruthVector *pers = poolReadObject<TrackParticleTruthVector>();
71  m_converter_p0.persToTrans(pers, trans.get(), log);
72  delete pers;
73  }
74  else {
75  log<<MSG::ERROR<<"Unsupported persistent version of TrackParticleTruthCollection. GUID="
77  throw std::runtime_error("Unsupported persistent version of Data Collection");
78  }
79 
80  return trans.release();
81 }
T_AthenaPoolCustCnv::m_classID
Guid m_classID
Definition: T_AthenaPoolCustCnv.h:96
Rec::TrackParticleTruthCollection_p3
Definition: TrackParticleTruthCollection_p3.h:16
Rec::TrackParticleTruthCollection_p2
Definition: TrackParticleTruthCollection_p2.h:16
TrackParticleTruthCollectionCnv::s_p3_guid
static const pool::Guid s_p3_guid
Definition: TrackParticleTruthCollectionCnv.h:43
TrackParticleTruthCollectionCnv::m_converter_p0
TrackParticleTruthCollectionCnv_p0 m_converter_p0
Definition: TrackParticleTruthCollectionCnv.h:35
TrackParticleTruthCollectionCnv::m_converter_p3
TrackParticleTruthCollectionCnv_p3 m_converter_p3
Definition: TrackParticleTruthCollectionCnv.h:38
TrackParticleTruthCollectionCnv::createPersistent
virtual TrackParticleTruthCollectionPERS * createPersistent(TrackParticleTruthCollection *)
Definition: TrackParticleTruthCollectionCnv.cxx:37
TrackParticleTruthCollectionCnv_p3::persToTrans
virtual void persToTrans(const Rec::TrackParticleTruthCollection_p3 *persObj, TrackParticleTruthCollection *transObj, MsgStream &msg) const override
Method creating the transient representation of Analysis::TrackParticleTruthCollection from its persi...
Definition: TrackParticleTruthCollectionCnv_p3.cxx:25
Guid::toString
const std::string toString() const
Automatic conversion to string representation.
Definition: Guid.cxx:58
TrackParticleTruthCollectionCnv::TrackParticleTruthCollectionCnv
TrackParticleTruthCollectionCnv(ISvcLocator *svcloc)
Definition: TrackParticleTruthCollectionCnv.cxx:32
TrackParticleTruthCollectionCnv::s_p1_guid
static const pool::Guid s_p1_guid
Definition: TrackParticleTruthCollectionCnv.h:41
TrackParticleTruthCollectionCnv_p1::persToTrans
virtual void persToTrans(const Rec::TrackParticleTruthCollection_p1 *persObj, TrackParticleTruthCollection *transObj, MsgStream &msg) const override
Method creating the transient representation of Analysis::TrackParticleTruthCollection from its persi...
Definition: TrackParticleTruthCollectionCnv_p1.cxx:25
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition: T_AthenaPoolCustomCnv.h:132
TrackParticleTruthCollection_p2.h
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
TrackParticleTruthCollectionPERS
Rec::TrackParticleTruthCollection_p2 TrackParticleTruthCollectionPERS
Definition: TrackParticleTruthCollectionCnv.h:21
TrackParticleTruthCollection_p3.h
TrackParticleTruthCollectionCnv_p1.h
TrackParticleTruthCollectionCnv::s_p0_guid
static const pool::Guid s_p0_guid
Definition: TrackParticleTruthCollectionCnv.h:40
TrackParticleTruthCollection
Athena::TPCnvVers::Current TrackParticleTruthCollection
Definition: TrackParticleTruthTPCnv.cxx:49
TrackParticleTruthCollectionCnv_p0::persToTrans
virtual void persToTrans(const Rec::TrackParticleTruthCollection_p0 *persObj, TrackParticleTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::TrackParticleTruthCollection from its persi...
Definition: TrackParticleTruthCollectionCnv_p0.cxx:21
TrackParticleTruthCollectionCnv::m_converter_p1
TrackParticleTruthCollectionCnv_p1 m_converter_p1
Definition: TrackParticleTruthCollectionCnv.h:36
TrackParticleTruthCollectionCnv::m_converter_p2
TrackParticleTruthCollectionCnv_p2 m_converter_p2
Definition: TrackParticleTruthCollectionCnv.h:37
TrackParticleTruthCollection_p0.h
TrackParticleTruthCollectionCnv::createTransient
virtual TrackParticleTruthCollection * createTransient()
Definition: TrackParticleTruthCollectionCnv.cxx:46
TrackParticleTruthCollection_p1.h
TrackParticleTruthCollectionCnv_p2.h
TrackParticleTruthCollection
Definition: TrackParticleTruthCollection.h:18
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TrackParticleTruthCollectionCnv_p2::transToPers
virtual void transToPers(const TrackParticleTruthCollection *transObj, Rec::TrackParticleTruthCollection_p2 *persObj, MsgStream &msg) const override
Method creating the persistent representation TrackParticleTruthCollection_p2 from its transient repr...
Definition: TrackParticleTruthCollectionCnv_p2.cxx:46
TrackParticleTruthVector
Definition: TrackParticleTruthVector.h:16
Rec::TrackParticleTruthCollection_p1
Definition: TrackParticleTruthCollection_p1.h:16
TrackParticleTruthCollectionCnv_p3.h
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
TrackParticleTruthCollectionCnv_p2::persToTrans
virtual void persToTrans(const Rec::TrackParticleTruthCollection_p2 *persObj, TrackParticleTruthCollection *transObj, MsgStream &msg) const override
Method creating the transient representation of Analysis::TrackParticleTruthCollection from its persi...
Definition: TrackParticleTruthCollectionCnv_p2.cxx:25
StoreGateSvc.h
TrackParticleTruthCollectionCnv.h
TrackParticleTruthCollectionCnv::s_p2_guid
static const pool::Guid s_p2_guid
Definition: TrackParticleTruthCollectionCnv.h:42