ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigEventAthenaPool
src
TrigTauClusterCnv.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 "
TrigTauClusterCnv.h
"
6
#include "
TrigCaloEventTPCnv/TrigTauCluster_tlp1.h
"
7
#include "
TrigCaloEventTPCnv/TrigTauClusterCnv_tlp1.h
"
8
#include "
TrigCaloEventTPCnv/TrigTauCluster_tlp2.h
"
9
#include "
TrigCaloEventTPCnv/TrigTauClusterCnv_tlp2.h
"
10
11
class
TrigTauClusterCnv_impl
12
{
13
public
:
14
TrigTauClusterCnv_tlp1
m_TPConverter1
;
15
TrigTauClusterCnv_tlp2
m_TPConverter2
;
16
};
17
18
TrigTauClusterCnv::TrigTauClusterCnv
(ISvcLocator* svcloc) :
19
T_AthenaPoolCustomCnv
<
TrigTauCluster
,
TrigTauCluster_PERS
>( svcloc ),
20
m_impl
(new
TrigTauClusterCnv_impl
)
21
{
22
}
23
TrigTauClusterCnv::~TrigTauClusterCnv
()
24
{
25
delete
m_impl
;
26
}
27
28
29
//create persistent
30
TrigTauCluster_PERS
*
TrigTauClusterCnv::createPersistent
(
TrigTauCluster
* transCont)
31
{
32
MsgStream mlog(msgSvc(),
"TrigTauClusterConverter"
);
33
mlog << MSG::DEBUG <<
"TrigTauClusterCnv::createPersistent"
<<
endmsg
;
34
35
TrigTauCluster_PERS
*persObj =
m_impl
->m_TPConverter2.createPersistent( transCont, mlog );
36
37
return
persObj;
38
39
}
40
41
//create transient
42
TrigTauCluster
*
TrigTauClusterCnv::createTransient
(
const
Token
* token)
43
{
44
MsgStream mlog(msgSvc(),
"TrigTauClusterConverter"
);
45
mlog << MSG::DEBUG <<
"TrigTauClusterCnv::createTransient "
<<
endmsg
;
46
47
static
const
Guid
tlp2_guid(
"CEDD0095-1134-4CEC-91CC-61028B214F6C"
);
48
static
const
Guid
tlp1_guid(
"60C9B591-CE4B-473C-9CB9-8C4F99271D76"
);
49
static
const
Guid
p0_guid(
"9B3B6AE8-9CE6-44AB-8B31-8B39FED52607"
);
50
51
TrigTauCluster
*trans_cont(0);
52
53
if
(
compareClassGuid
(token, tlp2_guid) ) {
54
55
mlog << MSG::DEBUG <<
"TrigTauClusterCnv::reading tlp2 persistent object"
<<
endmsg
;
56
std::unique_ptr< TrigTauCluster_tlp2 > col_vect( this->
poolReadObject< TrigTauCluster_tlp2 >
(token) );
57
trans_cont =
m_impl
->m_TPConverter2.createTransient( col_vect.get(), mlog );
58
59
}
60
else
if
(
compareClassGuid
(token, tlp1_guid) ) {
61
62
mlog << MSG::DEBUG <<
"TrigTauClusterCnv::reading tlp1 persistent object"
<<
endmsg
;
63
std::unique_ptr< TrigTauCluster_tlp1 > col_vect( this->
poolReadObject< TrigTauCluster_tlp1 >
(token) );
64
trans_cont =
m_impl
->m_TPConverter1.createTransient( col_vect.get(), mlog );
65
66
}
67
else
if
(
compareClassGuid
(token, p0_guid) ) {
68
69
mlog << MSG::DEBUG <<
"TrigTauClusterCnv::reading p0 persistent object"
<<
endmsg
;
70
// old version from before TP separation, just return it
71
trans_cont = this->
poolReadObject<TrigTauCluster>
(token);
72
73
}
else
{
74
75
throw
std::runtime_error(
"Unsupported persistent version of Data container"
);
76
}
77
78
return
trans_cont;
79
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
TrigTauClusterCnv.h
TrigTauCluster_PERS
TrigTauCluster_tlp2 TrigTauCluster_PERS
Definition
TrigTauClusterCnv.h:26
TrigTauClusterCnv_tlp1.h
TrigTauClusterCnv_tlp2.h
TrigTauCluster_tlp1.h
TrigTauCluster_tlp2.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
T_AthenaPoolCustomCnv< TrigTauCluster, TrigTauCluster_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< TrigTauCluster, TrigTauCluster_PERS >::poolReadObject
P * poolReadObject(const Token *token)
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition
T_AthenaPoolCustomCnv.h:129
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
TrigTauClusterCnv_impl
Definition
TrigTauClusterCnv.cxx:12
TrigTauClusterCnv_impl::m_TPConverter1
TrigTauClusterCnv_tlp1 m_TPConverter1
Definition
TrigTauClusterCnv.cxx:14
TrigTauClusterCnv_impl::m_TPConverter2
TrigTauClusterCnv_tlp2 m_TPConverter2
Definition
TrigTauClusterCnv.cxx:15
TrigTauClusterCnv_tlp1
Definition
TrigTauClusterCnv_tlp1.h:28
TrigTauClusterCnv_tlp2
Definition
TrigTauClusterCnv_tlp2.h:26
TrigTauClusterCnv::createTransient
TrigTauCluster * createTransient(const Token *token)
Definition
TrigTauClusterCnv.cxx:42
TrigTauClusterCnv::~TrigTauClusterCnv
~TrigTauClusterCnv()
Definition
TrigTauClusterCnv.cxx:23
TrigTauClusterCnv::createPersistent
TrigTauCluster_PERS * createPersistent(TrigTauCluster *transCont)
Definition
TrigTauClusterCnv.cxx:30
TrigTauClusterCnv::m_impl
TrigTauClusterCnv_impl * m_impl
Definition
TrigTauClusterCnv.h:46
TrigTauClusterCnv::TrigTauClusterCnv
TrigTauClusterCnv(ISvcLocator *svcloc)
Definition
TrigTauClusterCnv.cxx:18
TrigTauCluster
Class with calibrated variables for tau clustering.
Definition
TrigTauCluster.h:32
Generated on
for ATLAS Offline Software by
1.17.0