ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigEventAthenaPool
src
IsoMuonFeatureCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
IsoMuonFeatureCnv.h
"
6
#include "
TrigMuonEventTPCnv/IsoMuonFeatureCnv_tlp1.h
"
7
8
//constructor
9
IsoMuonFeatureCnv::IsoMuonFeatureCnv
( ISvcLocator* svcloc ) :
10
IsoMuonFeatureCnvBase
( svcloc ),
11
m_TPConverter
(new
IsoMuonFeatureCnv_tlp1
)
12
{}
13
14
//destructor
15
IsoMuonFeatureCnv::~IsoMuonFeatureCnv
()
16
{
17
delete
m_TPConverter
;
18
}
19
20
//-----------------------------------------------------------------------------
21
// Create persistent
22
//-----------------------------------------------------------------------------
23
24
IsoMuonFeature_PERS
*
25
IsoMuonFeatureCnv::createPersistent
(
IsoMuonFeature
*transObj)
26
{
27
MsgStream mlog(msgSvc(),
"IsoMuonFeatureConverter"
);
28
29
mlog << MSG::DEBUG <<
"IsoMuonFeatureCnv::createPersistent"
<<
endmsg
;
30
31
IsoMuonFeature_PERS
*persObj =
m_TPConverter
->createPersistent( transObj, mlog );
32
33
return
persObj;
34
}
35
36
//-----------------------------------------------------------------------------
37
// Create transient
38
//-----------------------------------------------------------------------------
39
IsoMuonFeature
*
IsoMuonFeatureCnv::createTransient
(
const
Token
* token)
40
{
41
MsgStream mlog(msgSvc(),
"IsoMuonFeatureConverter"
);
42
43
mlog << MSG::DEBUG <<
"IsoMuonFeatureCnv::createTransient "
<<
endmsg
;
44
45
IsoMuonFeature
*transObj(0);
46
47
static
const
Guid
p1_guid(
"31A90EEE-AF5A-4CAF-9A83-F523D141C4CF"
);
48
static
const
Guid
p0_guid(
"60ECF1E1-408A-43CA-9858-62AAFE8041FF"
);
49
50
if
(
compareClassGuid
(token, p1_guid ) ) {
51
std::unique_ptr< IsoMuonFeature_tlp1 > ptr_tlp1( this->
poolReadObject< IsoMuonFeature_tlp1 >
(token) );
52
transObj =
m_TPConverter
->createTransient( ptr_tlp1.get(), mlog );
53
}
54
else
if
(
compareClassGuid
(token, p0_guid) ) {
55
// old version from before TP separation, just return it
56
transObj = this->
poolReadObject<IsoMuonFeature>
(token);
57
}
58
else
{
59
throw
std::runtime_error(
"Unsupported persistent version"
);
60
}
61
return
transObj;
62
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
IsoMuonFeatureCnv.h
IsoMuonFeature_PERS
IsoMuonFeature_tlp1 IsoMuonFeature_PERS
Definition
IsoMuonFeatureCnv.h:32
IsoMuonFeatureCnvBase
T_AthenaPoolCustomCnv< IsoMuonFeature, IsoMuonFeature_PERS > IsoMuonFeatureCnvBase
Definition
IsoMuonFeatureCnv.h:35
IsoMuonFeatureCnv_tlp1.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
IsoMuonFeatureCnv_tlp1
Definition
IsoMuonFeatureCnv_tlp1.h:26
IsoMuonFeatureCnv::createPersistent
virtual IsoMuonFeature_PERS * createPersistent(IsoMuonFeature *transObj)
Definition
IsoMuonFeatureCnv.cxx:25
IsoMuonFeatureCnv::createTransient
virtual IsoMuonFeature * createTransient(const Token *token)
Definition
IsoMuonFeatureCnv.cxx:39
IsoMuonFeatureCnv::IsoMuonFeatureCnv
IsoMuonFeatureCnv(ISvcLocator *svcloc)
Definition
IsoMuonFeatureCnv.cxx:9
IsoMuonFeatureCnv::m_TPConverter
IsoMuonFeatureCnv_tlp1 * m_TPConverter
Definition
IsoMuonFeatureCnv.h:54
IsoMuonFeatureCnv::~IsoMuonFeatureCnv
~IsoMuonFeatureCnv()
Definition
IsoMuonFeatureCnv.cxx:15
IsoMuonFeature
Class with isolation variables for TrigmuIso algorithm.
Definition
IsoMuonFeature.h:42
T_AthenaPoolCustomCnv< IsoMuonFeature, IsoMuonFeature_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< IsoMuonFeature, IsoMuonFeature_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
Generated on
for ATLAS Offline Software by
1.17.0