ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
EventCommonAthenaPool
src
INav4MomLinkContainerCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
12
#include "
DataModelAthenaPool/VectorElementLinkCnv_p1.h
"
13
#include "
DataModelAthenaPool/ElementLinkCnv_p3.h
"
14
#include "
DataModelAthenaPool/VectorElementLink_p1.h
"
15
#include "
DataModelAthenaPool/ElementLink_p3.h
"
16
17
// This classes header
18
#include "
INav4MomLinkContainerCnv.h
"
19
20
21
// Create the persistent object from the transient one
22
INav4MomLinkContainer_PERS
*
INav4MomLinkContainerCnv::createPersistent
(
INav4MomLinkContainer
* transCont )
23
{
24
// Create the message service for this class
25
MsgStream log( msgSvc(),
"INav4MomLinkContainerConverter"
);
26
27
// Do the actual creation of the persistent object
28
INav4MomLinkContainer_PERS
*persObj =
m_TPConverter
.createPersistent( transCont, log );
29
30
// Write a debug message out
31
log << MSG::DEBUG <<
"Success"
<<
endmsg
;
32
33
return
persObj;
34
}
35
36
37
// Create the transient object from the persistent one
38
INav4MomLinkContainer
*
INav4MomLinkContainerCnv::createTransient
(
const
Token
* token)
39
{
40
// Create the message service for this class
41
MsgStream log( msgSvc(),
"INav4MomLinkContainerConverter"
);
42
43
// Define the pool IDs
44
static
const
pool::Guid
p1_guid(
"A7F0A4C5-F343-4724-B317-FB5A890355FA"
);
45
46
if
(
compareClassGuid
(token, p1_guid) )
47
{
48
// using unique_ptr ensures deletion of the persistent object
49
std::unique_ptr< INav4MomLinkContainer_PERS > col_vect(
poolReadObject< INav4MomLinkContainer_PERS >
(token) );
50
return
m_TPConverter
.createTransient( col_vect.get(), log );
51
}
52
else
53
{
54
throw
std::runtime_error(
"Unsupported persistent version of Data Collection"
);
55
}
56
}
57
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
ElementLinkCnv_p3.h
This file contains the class definition for the ElementLinkCnv_p3 class.
ElementLink_p3.h
This file contains the class definition for the ElementLink_p3 class.
INav4MomLinkContainerCnv.h
INav4MomLinkContainer_PERS
INav4MomLinkContainer_p1 INav4MomLinkContainer_PERS
INav4MomLinkContainerCnv.h.
Definition
INav4MomLinkContainerCnv.h:31
VectorElementLinkCnv_p1.h
VectorElementLink_p1.h
This file contains the class definition for theVector ElementLink_p1 class.
INav4MomLinkContainerCnv::createPersistent
virtual INav4MomLinkContainer_PERS * createPersistent(INav4MomLinkContainer *transCont)
Member method to create the persistent version.
Definition
INav4MomLinkContainerCnv.cxx:22
INav4MomLinkContainerCnv::createTransient
virtual INav4MomLinkContainer * createTransient(const Token *token)
Member method to create the transient version.
Definition
INav4MomLinkContainerCnv.cxx:38
INav4MomLinkContainerCnv::m_TPConverter
INav4MomLinkContainerCnv_p1 m_TPConverter
Create the t/p converter.
Definition
INav4MomLinkContainerCnv.h:57
INav4MomLinkContainer
INav4MomLinkContainer.h.
Definition
INav4MomLinkContainer.h:28
T_AthenaPoolCustomCnv< INav4MomLinkContainer, INav4MomLinkContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< INav4MomLinkContainer, INav4MomLinkContainer_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
pool::Guid
::Guid Guid
Definition
T_AthenaPoolCustCnv.h:19
Generated on
for ATLAS Offline Software by
1.17.0