ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
TrackParticleTruthAthenaPool
src
TrackParticleTruthCollectionCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrackParticleTruthCollectionCnv.h
"
6
7
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollection_p0.h
"
8
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollection_p1.h
"
9
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollection_p2.h
"
10
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollection_p3.h
"
11
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollectionCnv_p1.h
"
12
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollectionCnv_p2.h
"
13
#include "
TrackParticleTruthTPCnv/TrackParticleTruthCollectionCnv_p3.h
"
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
constexpr
Guid
s_p0_guid
(
"B35041E8-D980-458E-AC06-79028CF79D5D"
);
24
constexpr
Guid
s_p1_guid
(
"D62AFEEE-EF2C-437A-B7BE-CA926D38CCFA"
);
25
constexpr
Guid
s_p2_guid
(
"D62AFEEE-EF2C-437A-B7BE-CA926D38CCFB"
);
26
constexpr
Guid
s_p3_guid
(
"018F1ACE-8405-7174-9305-46B503B5EF52"
);
27
28
//================================================================
29
TrackParticleTruthCollectionCnv::TrackParticleTruthCollectionCnv
(ISvcLocator* svcLoc) :
30
TrackParticleTruthCollectionCnvBase
(svcLoc)
31
{}
32
33
//================================================================
34
TrackParticleTruthCollectionPERS
*
TrackParticleTruthCollectionCnv::createPersistent
(
TrackParticleTruthCollection
* trans) {
35
MsgStream log(msgSvc(),
"TrackParticleTruthCollectionCnv"
);
36
log<<MSG::DEBUG<<
"Writing TrackParticleTruthCollection_p2"
<<
endmsg
;
37
TrackParticleTruthCollectionPERS
* pers=
new
TrackParticleTruthCollectionPERS
();
38
m_converter_p3
.transToPers(trans,pers,log);
39
return
pers;
40
}
41
42
//================================================================
43
TrackParticleTruthCollection
*
TrackParticleTruthCollectionCnv::createTransient
(
const
Token
* token) {
44
MsgStream log(msgSvc(),
"TrackParticleTruthCollectionCnv"
);
45
std::unique_ptr<TrackParticleTruthCollection> trans(
new
TrackParticleTruthCollection
());
46
47
if
(
compareClassGuid
(token,
s_p3_guid
)) {
48
log<<MSG::DEBUG<<
"Read TrackParticleTruthCollection_p3. token="
<<token->
toString
()<<
endmsg
;
49
Rec::TrackParticleTruthCollection_p3
* pers=
poolReadObject<Rec::TrackParticleTruthCollection_p3>
(token);
50
m_converter_p3
.persToTrans(pers, trans.get(), log);
51
delete
pers;
52
}
53
else
if
(
compareClassGuid
(token,
s_p2_guid
)) {
54
log<<MSG::DEBUG<<
"Read TrackParticleTruthCollection_p2. token="
<<token->
toString
()<<
endmsg
;
55
Rec::TrackParticleTruthCollection_p2
* pers=
poolReadObject<Rec::TrackParticleTruthCollection_p2>
(token);
56
m_converter_p2
.persToTrans(pers, trans.get(), log);
57
delete
pers;
58
}
59
else
if
(
compareClassGuid
(token,
s_p1_guid
)) {
60
log<<MSG::DEBUG<<
"Read TrackParticleTruthCollection_p1. token="
<<token->
toString
()<<
endmsg
;
61
Rec::TrackParticleTruthCollection_p1
* pers=
poolReadObject<Rec::TrackParticleTruthCollection_p1>
(token);
62
m_converter_p1
.persToTrans(pers, trans.get(), log);
63
delete
pers;
64
}
65
else
if
(
compareClassGuid
(token,
s_p0_guid
)) {
66
log<<MSG::DEBUG<<
"Read version p0 of TrackParticleTruthCollection. token="
<<token->
toString
()<<
endmsg
;
67
TrackParticleTruthVector
*pers =
poolReadObject<TrackParticleTruthVector>
(token);
68
m_converter_p0
.persToTrans(pers, trans.get(), log);
69
delete
pers;
70
}
71
else
{
72
log<<MSG::ERROR<<
"Unsupported persistent version of TrackParticleTruthCollection. token="
73
<<token->
toString
()<<
endmsg
;
74
throw
std::runtime_error(
"Unsupported persistent version of Data Collection"
);
75
}
76
77
return
trans.release();
78
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
StoreGateSvc.h
s_p2_guid
constexpr Guid s_p2_guid("D62AFEEE-EF2C-437A-B7BE-CA926D38CCFB")
s_p3_guid
constexpr Guid s_p3_guid("018F1ACE-8405-7174-9305-46B503B5EF52")
s_p1_guid
constexpr Guid s_p1_guid("D62AFEEE-EF2C-437A-B7BE-CA926D38CCFA")
s_p0_guid
constexpr Guid s_p0_guid("B35041E8-D980-458E-AC06-79028CF79D5D")
TrackParticleTruthCollectionCnv.h
TrackParticleTruthCollectionCnvBase
T_AthenaPoolCustomCnv< TrackParticleTruthCollection, TrackParticleTruthCollectionPERS > TrackParticleTruthCollectionCnvBase
Definition
TrackParticleTruthCollectionCnv.h:21
TrackParticleTruthCollectionPERS
Rec::TrackParticleTruthCollection_p3 TrackParticleTruthCollectionPERS
Definition
TrackParticleTruthCollectionCnv.h:19
TrackParticleTruthCollectionCnv_p1.h
TrackParticleTruthCollectionCnv_p2.h
TrackParticleTruthCollectionCnv_p3.h
TrackParticleTruthCollection_p0.h
TrackParticleTruthCollection_p1.h
TrackParticleTruthCollection_p2.h
TrackParticleTruthCollection_p3.h
TrackParticleTruthCollection
Athena::TPCnvVers::Old TrackParticleTruthCollection
Definition
TrackParticleTruthTPCnv.cxx:49
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
Rec::TrackParticleTruthCollection_p1
Definition
TrackParticleTruthCollection_p1.h:16
Rec::TrackParticleTruthCollection_p2
Definition
TrackParticleTruthCollection_p2.h:16
Rec::TrackParticleTruthCollection_p3
Definition
TrackParticleTruthCollection_p3.h:16
T_AthenaPoolCustomCnv< TrackParticleTruthCollection, TrackParticleTruthCollectionPERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< TrackParticleTruthCollection, TrackParticleTruthCollectionPERS >::poolReadObject
P * poolReadObject(const Token *token)
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
Token::toString
const std::string toString() const
Retrieve the string representation of the token.
Definition
Token.cxx:135
TrackParticleTruthCollectionCnv::m_converter_p3
TrackParticleTruthCollectionCnv_p3 m_converter_p3
Definition
TrackParticleTruthCollectionCnv.h:36
TrackParticleTruthCollectionCnv::TrackParticleTruthCollectionCnv
TrackParticleTruthCollectionCnv(ISvcLocator *svcloc)
Definition
TrackParticleTruthCollectionCnv.cxx:29
TrackParticleTruthCollectionCnv::createPersistent
virtual TrackParticleTruthCollectionPERS * createPersistent(TrackParticleTruthCollection *)
Definition
TrackParticleTruthCollectionCnv.cxx:34
TrackParticleTruthCollectionCnv::createTransient
virtual TrackParticleTruthCollection * createTransient(const Token *token)
Definition
TrackParticleTruthCollectionCnv.cxx:43
TrackParticleTruthCollectionCnv::m_converter_p1
TrackParticleTruthCollectionCnv_p1 m_converter_p1
Definition
TrackParticleTruthCollectionCnv.h:34
TrackParticleTruthCollectionCnv::m_converter_p2
TrackParticleTruthCollectionCnv_p2 m_converter_p2
Definition
TrackParticleTruthCollectionCnv.h:35
TrackParticleTruthCollectionCnv::m_converter_p0
TrackParticleTruthCollectionCnv_p0 m_converter_p0
Definition
TrackParticleTruthCollectionCnv.h:33
TrackParticleTruthCollection
Definition
TrackParticleTruthCollection.h:18
TrackParticleTruthVector
Definition
TrackParticleTruthVector.h:16
Generated on
for ATLAS Offline Software by
1.17.0