ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
RecAthenaPool
src
MissingETCompositionCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#include "
MissingETCompositionCnv.h
"
7
8
#include "
RecTPCnv/MissingETCompositionCnv_p1.h
"
9
#include "
RecTPCnv/MissingETComposition_p1.h
"
10
11
MissingETComposition_PERS
*
MissingETCompositionCnv::createPersistent
(
MissingETComposition
* transObj)
12
{
13
MsgStream report( msgSvc(),
"MissingETCompositionConverter"
);
14
// report << MSG::INFO << "Writing MissingETComposition_p2" << endmsg;
15
if
( !
bool
(
m_TPconverter_p2
) )
16
m_TPconverter_p2
=
new
MissingETCompositionCnv_p2
();
17
MissingETComposition_PERS
*persObj =
m_TPconverter_p2
->createPersistent( transObj, report );
18
return
persObj;
19
}
20
21
MissingETComposition
*
MissingETCompositionCnv::createTransient
(
const
Token
* token)
22
{
23
static
const
pool::Guid
p1_guid(
"78E9CC2F-1FB4-4740-AD44-7C849D9CC865"
);
24
static
const
pool::Guid
p2_guid(
"CF4110FB-35B4-4C8B-BB51-FE8C6CBE0277"
);
25
26
if
(
compareClassGuid
(token, p2_guid) ){
27
if
( !
bool
(
m_TPconverter_p2
) )
28
m_TPconverter_p2
=
new
MissingETCompositionCnv_p2
();
29
// using unique_ptr ensures deletion of the persistent object
30
std::unique_ptr<MissingETComposition_p2> shapestore(
poolReadObject< MissingETComposition_p2 >
(token) );
31
MsgStream report( msgSvc(),
"MissingETCompositionCnv"
);
32
// report << MSG::INFO << "Reading MissingETComposition_p1" << endmsg;
33
return
m_TPconverter_p2
->createTransient( shapestore.get(), report );
34
}
35
else
if
(
compareClassGuid
(token, p1_guid) ) {
36
MissingETCompositionCnv_p1
TPconverter_p1
;
37
std::unique_ptr<MissingETComposition_p1> shapestore(
poolReadObject< MissingETComposition_p1 >
(token) );
38
MsgStream report( msgSvc(),
"MissingETCompositionCnv"
);
39
// report << MSG::INFO << "Reading MissingETComposition_p1" << endmsg;
40
return
TPconverter_p1
.createTransient( shapestore.get(), report );
41
}
42
throw
std::runtime_error(
"Unsupported persistent version of MissingETComposition"
);
43
}
TPconverter_p1
static const EventInfoCnv_p1 TPconverter_p1
Definition
EventInfoCnv.cxx:24
MissingETCompositionCnv.h
MissingETComposition_PERS
MissingETComposition_p2 MissingETComposition_PERS
Definition
MissingETCompositionCnv.h:18
MissingETCompositionCnv_p1.h
MissingETCompositionCnv_p1
MissingETCompositionConverterBase< MissingETComposition_p1 > MissingETCompositionCnv_p1
Definition
MissingETCompositionCnv_p1.h:41
MissingETCompositionCnv_p2
MissingETCompositionConverterBase< MissingETComposition_p2 > MissingETCompositionCnv_p2
Definition
MissingETCompositionCnv_p2.h:35
MissingETComposition_p1.h
MissingETCompositionCnv::createTransient
virtual MissingETComposition * createTransient(const Token *token)
Definition
MissingETCompositionCnv.cxx:21
MissingETCompositionCnv::createPersistent
virtual MissingETComposition_PERS * createPersistent(MissingETComposition *transObj)
Definition
MissingETCompositionCnv.cxx:11
MissingETCompositionCnv::m_TPconverter_p2
MissingETCompositionCnv_p2 * m_TPconverter_p2
Definition
MissingETCompositionCnv.h:37
MissingETComposition
Definition
Reconstruction/MissingETEvent/MissingETEvent/MissingETComposition.h:290
T_AthenaPoolCustomCnv< MissingETComposition, MissingETComposition_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< MissingETComposition, MissingETComposition_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