ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
TrackParticleAthenaPool
src
TrackParticleContainerCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//-----------------------------------------------------------------------------
6
//
7
// file: TrackParticleContainerCnv.cxx
8
// author: Andreas Wildauer
9
//
10
//-----------------------------------------------------------------------------
11
#include "
TrackParticleContainerCnv.h
"
12
#include "
AthenaBaseComps/AthCheckMacros.h
"
13
#include <iostream>
14
//-----------------------------------------------------------------------------
15
// Constructor
16
//-----------------------------------------------------------------------------
17
18
TrackParticleContainerCnv::TrackParticleContainerCnv
( ISvcLocator *svcloc ):
19
TrackParticleContainerCnvBase
(svcloc),
20
m_msgSvc
( msgSvc() )
21
{}
22
23
//-----------------------------------------------------------------------------
24
// Initializer
25
//-----------------------------------------------------------------------------
26
StatusCode
TrackParticleContainerCnv::initialize
()
27
{
28
ATH_CHECK
(
TrackParticleContainerCnvBase::initialize
() );
29
return
StatusCode::SUCCESS;
30
}
//end of initialize method
31
32
TrackParticleContainer_PERS
*
33
TrackParticleContainerCnv::createPersistent
(
Rec::TrackParticleContainer
*transCont)
34
{
35
TrackParticleContainer_PERS
* tpBaseCont =
m_TPConverter_tlp3
.createPersistent( transCont,
msg
() );
36
37
return
tpBaseCont;
38
}
//end of create persistent method
39
40
Rec::TrackParticleContainer
*
TrackParticleContainerCnv::createTransient
(
const
Token
* token)
41
{
42
std::string logname =
"TrackParticleContainerCnv"
;
43
MsgStream log (
m_msgSvc
, logname);
44
static
const
Guid
p3_guid(
"8C84D957-1899-4C98-A49D-D6AC0F85C5EC"
);
45
static
const
Guid
p2_guid(
"170211F9-C4E1-4173-B0FB-71322899C8B9"
);
46
static
const
Guid
p1_guid(
"4A8CEB2C-0833-4C83-8514-A69928DE4672"
);
47
static
const
Guid
p0_guid(
"35BE1E01-658C-438A-AC86-F951006ECC6B"
);
48
49
Rec::TrackParticleContainer
*p_collection = 0;
50
if
(
compareClassGuid
(token, p3_guid ) ) {
51
// std::cout<<"TrackParticleContainerCnv::createTransient p3_guid"<<std::endl;
52
53
poolReadObject< Rec::TrackParticleContainer_tlp3 >
(
m_TPConverter_tlp3
, token);
54
p_collection =
m_TPConverter_tlp3
.createTransient(log);
55
}
56
else
if
(
compareClassGuid
(token, p2_guid ) ) {
57
// std::cout<<"TrackParticleContainerCnv::createTransient p2_guid"<<std::endl;
58
59
poolReadObject< Rec::TrackParticleContainer_tlp2 >
(
m_TPConverter_tlp2
, token);
60
p_collection =
m_TPConverter_tlp2
.createTransient(log);
61
}
62
else
if
(
compareClassGuid
(token, p1_guid ) ) {
63
poolReadObject< Rec::TrackParticleContainer_tlp1 >
(
m_TPConverter_tlp1
, token);
64
p_collection =
m_TPConverter_tlp1
.createTransient(log);
65
}
66
else
if
(
compareClassGuid
(token, p0_guid ) ) {
67
p_collection =
poolReadObject< Rec::TrackParticleContainer >
(token);
68
}
69
else
{
70
throw
std::runtime_error(
"Unsupported persistent version of Rec::TrackParticleContainer"
);
71
}
72
73
return
p_collection;
74
75
}
//end of create transient method
76
77
AthCheckMacros.h
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
TrackParticleContainerCnv.h
TrackParticleContainer_PERS
Rec::TrackParticleContainer_tlp3 TrackParticleContainer_PERS
Definition
TrackParticleContainerCnv.h:29
TrackParticleContainerCnvBase
T_AthenaPoolCustomCnv< Rec::TrackParticleContainer, TrackParticleContainer_PERS > TrackParticleContainerCnvBase
Definition
TrackParticleContainerCnv.h:31
T_AthenaPoolCustomCnv< Rec::TrackParticleContainer, TrackParticleContainer_PERS >::msg
MsgStream & msg() const
Definition
AthMessaging.h:167
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
Rec::TrackParticleContainer
Definition
Reconstruction/Particle/Particle/TrackParticleContainer.h:33
T_AthenaPoolCustomCnv< Rec::TrackParticleContainer, TrackParticleContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< Rec::TrackParticleContainer, TrackParticleContainer_PERS >::initialize
virtual StatusCode initialize()
T_AthenaPoolCustomCnv< Rec::TrackParticleContainer, TrackParticleContainer_PERS >::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
TrackParticleContainerCnv::m_msgSvc
IMessageSvc * m_msgSvc
Definition
TrackParticleContainerCnv.h:56
TrackParticleContainerCnv::createPersistent
virtual TrackParticleContainer_PERS * createPersistent(Rec::TrackParticleContainer *transCont) override
Definition
TrackParticleContainerCnv.cxx:33
TrackParticleContainerCnv::m_TPConverter_tlp1
TrackParticleContainerCnv_tlp1 m_TPConverter_tlp1
Definition
TrackParticleContainerCnv.h:57
TrackParticleContainerCnv::m_TPConverter_tlp2
TrackParticleContainerCnv_tlp2 m_TPConverter_tlp2
Definition
TrackParticleContainerCnv.h:58
TrackParticleContainerCnv::m_TPConverter_tlp3
TrackParticleContainerCnv_tlp3 m_TPConverter_tlp3
Definition
TrackParticleContainerCnv.h:59
TrackParticleContainerCnv::TrackParticleContainerCnv
TrackParticleContainerCnv(ISvcLocator *svcloc)
Definition
TrackParticleContainerCnv.cxx:18
TrackParticleContainerCnv::createTransient
virtual Rec::TrackParticleContainer * createTransient(const Token *token) override
Definition
TrackParticleContainerCnv.cxx:40
TrackParticleContainerCnv::initialize
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
Definition
TrackParticleContainerCnv.cxx:26
Generated on
for ATLAS Offline Software by
1.17.0