ATLAS Offline Software
DetailedTrackTruthCollectionCnv.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 
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 const pool::Guid DetailedTrackTruthCollectionCnv::s_p0_guid("8F573396-F26F-47FD-B05C-549E9D5C77E1");
23 const pool::Guid DetailedTrackTruthCollectionCnv::s_p1_guid("1BA26DEE-BACE-43D6-8F19-E9490CDE8BB8");
24 const pool::Guid DetailedTrackTruthCollectionCnv::s_p2_guid("B30AE3A0-F34E-45B6-A8A1-B9CB5E669EB2");
25 const pool::Guid DetailedTrackTruthCollectionCnv::s_p3_guid("F5A1DC75-C3FB-4575-8178-905223CF1277");
26 const pool::Guid DetailedTrackTruthCollectionCnv::s_p4_guid("018E422D-E420-7894-9245-A824C0ECE535");
27 
28 //================================================================
31 {}
32 
33 //================================================================
35  MsgStream log(msgSvc(), "DetailedTrackTruthCollectionCnv");
36  log<<MSG::DEBUG<<"Writing DetailedTrackTruthCollection_p3"<<endmsg;
37 
38  //orig: return new DetailedTrackTruthCollectionPERS( *reinterpret_cast<DetailedTrackTruthCollectionPERS*>(trans) );
39 
41  m_converter_p3.transToPers(trans,pers,log);
42  return pers;
43 }
44 
45 //================================================================
47  MsgStream log(msgSvc(), "DetailedTrackTruthCollectionCnv" );
48  DetailedTrackTruthCollection *trans(nullptr);
49 
51  trans = new DetailedTrackTruthCollection();
52  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p4. GUID="<<m_classID.toString()<<endmsg;
53  Trk::DetailedTrackTruthCollection_p4* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p4>();
54  m_converter_p4.persToTrans(pers, trans, log);
55  delete pers;
56  }
57  else if (compareClassGuid(s_p3_guid)) {
58  trans = new DetailedTrackTruthCollection();
59  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p3. GUID="<<m_classID.toString()<<endmsg;
60  Trk::DetailedTrackTruthCollection_p3* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p3>();
61  m_converter_p3.persToTrans(pers, trans, log);
62  delete pers;
63  }
64  else if (compareClassGuid(s_p2_guid)) {
65  trans = new DetailedTrackTruthCollection();
66  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p2. GUID="<<m_classID.toString()<<endmsg;
67  Trk::DetailedTrackTruthCollection_p2* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p2>();
68  m_converter_p2.persToTrans(pers, trans, log);
69  delete pers;
70  }
71  else if (compareClassGuid(s_p1_guid)) {
72  trans = new DetailedTrackTruthCollection();
73  log<<MSG::DEBUG<<"Read DetailedTrackTruthCollection_p1. GUID="<<m_classID.toString()<<endmsg;
74  Trk::DetailedTrackTruthCollection_p1* pers=poolReadObject<Trk::DetailedTrackTruthCollection_p1>();
75  m_converter_p1.persToTrans(pers, trans, log);
76  delete pers;
77  }
78  else {
79  std::string info("Unsupported persistent version of DetailedTrackTruthCollection. GUID=" + m_classID.toString());
81  throw std::runtime_error(info);
82  }
83 
84  return trans;
85 }
86 
87 //================================================================
grepfile.info
info
Definition: grepfile.py:38
T_AthenaPoolCustCnv::m_classID
Guid m_classID
Definition: T_AthenaPoolCustCnv.h:96
DetailedTrackTruthCollectionCnv::s_p4_guid
static const pool::Guid s_p4_guid
Definition: DetailedTrackTruthCollectionCnv.h:38
DetailedTrackTruthCollectionCnv::createTransient
virtual DetailedTrackTruthCollection * createTransient()
Definition: DetailedTrackTruthCollectionCnv.cxx:46
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
DetailedTrackTruthCollection
DetailedTrackTruthCollection
Definition: TrkTruthTPCnv.cxx:22
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
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
Guid::toString
const std::string toString() const
Automatic conversion to string representation.
Definition: Guid.cxx:58
DetailedTrackTruthCollectionCnv::s_p2_guid
static const pool::Guid s_p2_guid
Definition: DetailedTrackTruthCollectionCnv.h:36
DetailedTrackTruthCollectionCnv::s_p0_guid
static const pool::Guid s_p0_guid
Definition: DetailedTrackTruthCollectionCnv.h:34
DetailedTrackTruthCollectionCnv.h
DetailedTrackTruthCollectionCnv::s_p1_guid
static const pool::Guid s_p1_guid
Definition: DetailedTrackTruthCollectionCnv.h:35
DetailedTrackTruthCollectionCnv::createPersistent
virtual DetailedTrackTruthCollectionPERS * createPersistent(DetailedTrackTruthCollection *)
Definition: DetailedTrackTruthCollectionCnv.cxx:34
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
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
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:40
DetailedTrackTruthCollectionPERS
Trk::DetailedTrackTruthCollection_p3 DetailedTrackTruthCollectionPERS
Definition: DetailedTrackTruthCollectionCnv.h:20
DetailedTrackTruthCollectionCnv::s_p3_guid
static const pool::Guid s_p3_guid
Definition: DetailedTrackTruthCollectionCnv.h:37
DetailedTrackTruthCollectionCnv::m_converter_p1
DetailedTrackTruthCollectionCnv_p1 m_converter_p1
Definition: DetailedTrackTruthCollectionCnv.h:39
Trk::DetailedTrackTruthCollection_p4
Definition: DetailedTrackTruthCollection_p4.h:24
Trk::DetailedTrackTruthCollection_p2
Definition: DetailedTrackTruthCollection_p2.h:24
DetailedTrackTruthCollectionCnv::DetailedTrackTruthCollectionCnv
DetailedTrackTruthCollectionCnv(ISvcLocator *svcloc)
Definition: DetailedTrackTruthCollectionCnv.cxx:29
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
DetailedTrackTruthCollectionCnv_p3::transToPers
virtual void transToPers(const DetailedTrackTruthCollection *transObj, Trk::DetailedTrackTruthCollection_p3 *persObj, MsgStream &msg)
Method creating the persistent representation DetailedTrackTruthCollection_p3 from its transient repr...
Definition: DetailedTrackTruthCollectionCnv_p3.cxx:46
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:41
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:42
DetailedTrackTruthCollection_p0.h
StoreGateSvc.h
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