ATLAS Offline Software
DetailedTrackTruthCollectionCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
13 
14 #include "GaudiKernel/StatusCode.h"
15 #include "GaudiKernel/MsgStream.h"
16 #include "GaudiKernel/ISvcLocator.h"
17 
18 // Athena
19 #include "StoreGate/StoreGateSvc.h"
20 
21 // This is release 12 guid for DetailedTrackTruthVector.
22 constexpr pool::Guid s_p1_guid("1BA26DEE-BACE-43D6-8F19-E9490CDE8BB8");
23 constexpr pool::Guid s_p2_guid("B30AE3A0-F34E-45B6-A8A1-B9CB5E669EB2");
24 constexpr pool::Guid s_p3_guid("F5A1DC75-C3FB-4575-8178-905223CF1277");
25 constexpr pool::Guid s_p4_guid("018E422D-E420-7894-9245-A824C0ECE535");
26 
27 //================================================================
30 {}
31 
32 //================================================================
34  MsgStream log(msgSvc(), "DetailedTrackTruthCollectionCnv");
35  log<<MSG::DEBUG<<"Writing DetailedTrackTruthCollection_p4"<<endmsg;
36 
37  //orig: return new DetailedTrackTruthCollectionPERS( *reinterpret_cast<DetailedTrackTruthCollectionPERS*>(trans) );
38 
40  m_converter_p4.transToPers(trans,pers,log);
41  return pers;
42 }
43 
44 //================================================================
46  MsgStream log(msgSvc(), "DetailedTrackTruthCollectionCnv" );
47  DetailedTrackTruthCollection *trans(nullptr);
48 
50  trans = new DetailedTrackTruthCollection();
51  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p4. GUID="<<m_classID.toString()<<endmsg;
52  Trk::DetailedTrackTruthCollection_p4* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p4>();
53  m_converter_p4.persToTrans(pers, trans, log);
54  delete pers;
55  }
56  else if (compareClassGuid(s_p3_guid)) {
57  trans = new DetailedTrackTruthCollection();
58  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p3. GUID="<<m_classID.toString()<<endmsg;
59  Trk::DetailedTrackTruthCollection_p3* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p3>();
60  m_converter_p3.persToTrans(pers, trans, log);
61  delete pers;
62  }
63  else if (compareClassGuid(s_p2_guid)) {
64  trans = new DetailedTrackTruthCollection();
65  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p2. GUID="<<m_classID.toString()<<endmsg;
66  Trk::DetailedTrackTruthCollection_p2* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p2>();
67  m_converter_p2.persToTrans(pers, trans, log);
68  delete pers;
69  }
70  else if (compareClassGuid(s_p1_guid)) {
71  trans = new DetailedTrackTruthCollection();
72  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p1. GUID="<<m_classID.toString()<<endmsg;
73  Trk::DetailedTrackTruthCollection_p1* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p1>();
74  m_converter_p1.persToTrans(pers, trans, log);
75  delete pers;
76  }
77  else {
78  std::string info("Unsupported persistent version of DetailedTrackTruthCollection. GUID=" + m_classID.toString());
80  throw std::runtime_error(info);
81  }
82 
83  return trans;
84 }
85 
86 //================================================================
T_AthenaPoolCustCnv::m_classID
Guid m_classID
Definition: T_AthenaPoolCustCnv.h:96
DetailedTrackTruthCollectionCnv::createTransient
virtual DetailedTrackTruthCollection * createTransient()
Definition: DetailedTrackTruthCollectionCnv.cxx:45
DetailedTrackTruthCollectionCnv_p2::persToTrans
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p2 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
Definition: DetailedTrackTruthCollectionCnv_p2.cxx:26
DetailedTrackTruthCollection_p2.h
s_p1_guid
constexpr pool::Guid s_p1_guid("1BA26DEE-BACE-43D6-8F19-E9490CDE8BB8")
DetailedTrackTruthCollection
DetailedTrackTruthCollection
Definition: TrkTruthTPCnv.cxx:22
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:18
DetailedTrackTruthCollectionCnv_p3::persToTrans
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p3 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
Definition: DetailedTrackTruthCollectionCnv_p3.cxx:27
s_p4_guid
constexpr pool::Guid s_p4_guid("018E422D-E420-7894-9245-A824C0ECE535")
DetailedTrackTruthCollectionCnv.h
DetailedTrackTruthCollectionCnv::createPersistent
virtual DetailedTrackTruthCollectionPERS * createPersistent(DetailedTrackTruthCollection *)
Definition: DetailedTrackTruthCollectionCnv.cxx:33
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
Guid::toString
constexpr void toString(std::span< char, StrLen > buf, bool uppercase=true) const noexcept
Automatic conversion to string representation.
DetailedTrackTruthCollection.h
Trk::DetailedTrackTruthCollection_p3
Definition: DetailedTrackTruthCollection_p3.h:24
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
Trk::DetailedTrackTruthCollection_p1
Definition: DetailedTrackTruthCollection_p1.h:24
DetailedTrackTruthCollectionCnv_p4::transToPers
virtual void transToPers(const DetailedTrackTruthCollection *transObj, Trk::DetailedTrackTruthCollection_p4 *persObj, MsgStream &msg)
Method creating the persistent representation DetailedTrackTruthCollection_p4 from its transient repr...
Definition: DetailedTrackTruthCollectionCnv_p4.cxx:46
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition: T_AthenaPoolCustomCnv.h:132
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
DetailedTrackTruthCollectionCnv::m_converter_p2
DetailedTrackTruthCollectionCnv_p2 m_converter_p2
Definition: DetailedTrackTruthCollectionCnv.h:35
DetailedTrackTruthCollectionPERS
Trk::DetailedTrackTruthCollection_p4 DetailedTrackTruthCollectionPERS
Definition: DetailedTrackTruthCollectionCnv.h:20
DetailedTrackTruthCollectionCnv::m_converter_p1
DetailedTrackTruthCollectionCnv_p1 m_converter_p1
Definition: DetailedTrackTruthCollectionCnv.h:34
Trk::DetailedTrackTruthCollection_p4
Definition: DetailedTrackTruthCollection_p4.h:24
Trk::DetailedTrackTruthCollection_p2
Definition: DetailedTrackTruthCollection_p2.h:24
DetailedTrackTruthCollectionCnv::DetailedTrackTruthCollectionCnv
DetailedTrackTruthCollectionCnv(ISvcLocator *svcloc)
Definition: DetailedTrackTruthCollectionCnv.cxx:28
DetailedTrackTruthCollectionCnv_p4::persToTrans
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p4 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
Definition: DetailedTrackTruthCollectionCnv_p4.cxx:27
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
DetailedTrackTruthCollection_p4.h
DetailedTrackTruthCollectionCnv::m_converter_p3
DetailedTrackTruthCollectionCnv_p3 m_converter_p3
Definition: DetailedTrackTruthCollectionCnv.h:36
DetailedTrackTruthCollection
Definition: DetailedTrackTruthCollection.h:20
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
DetailedTrackTruthCollection_p3.h
DetailedTrackTruthCollectionCnv::m_converter_p4
DetailedTrackTruthCollectionCnv_p4 m_converter_p4
Definition: DetailedTrackTruthCollectionCnv.h:37
DetailedTrackTruthCollection_p0.h
StoreGateSvc.h
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87
DetailedTrackTruthCollection_p1.h
DetailedTrackTruthCollectionCnv_p1::persToTrans
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p1 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
Definition: DetailedTrackTruthCollectionCnv_p1.cxx:26
s_p3_guid
constexpr pool::Guid s_p3_guid("F5A1DC75-C3FB-4575-8178-905223CF1277")
s_p2_guid
constexpr pool::Guid s_p2_guid("B30AE3A0-F34E-45B6-A8A1-B9CB5E669EB2")