ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigEventAthenaPool
src
TrigElectronContainerCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigElectronContainerCnv.h
"
6
#include "
TrigParticleTPCnv/TrigElectronContainer_p3.h
"
7
8
//create persistent
9
TrigElectronContainer_PERS
*
TrigElectronContainerCnv::createPersistent
(
TrigElectronContainer
* transCont)
10
{
11
MsgStream mlog(msgSvc(),
"TrigElectronContainerConverter"
);
12
mlog << MSG::DEBUG <<
"TrigElectronContainerCnv::createPersistent"
<<
endmsg
;
13
14
TrigElectronContainer_PERS
*persObj =
m_converter
.createPersistent( transCont, mlog );
15
16
return
persObj;
17
}
18
19
//create transient
20
TrigElectronContainer
*
TrigElectronContainerCnv::createTransient
(
const
Token
* token)
21
{
22
MsgStream mlog(msgSvc(),
"TrigElectronContainerConverter"
);
23
mlog << MSG::DEBUG <<
"TrigElectronContainerCnv::createTransient"
<<
endmsg
;
24
25
static
const
Guid
p3_guid(
"F2E0066A-3BC5-44F2-A18C-57C63481988D"
);
26
static
const
Guid
tlp2_guid(
"2EDB14B9-0B61-4014-90C2-20AEB7AAFEBE"
);
27
static
const
Guid
tlp1_guid(
"8831D2A9-F4B6-40BE-97C1-4BD7F9468267"
);
28
static
const
Guid
p0_guid2(
"2F97E0FB-7C93-4616-B322-1A01BF65D331"
);
29
static
const
Guid
p0_guid1(
"EA6EA1A5-16FC-4DBF-896E-D933B25E65E0"
);
30
31
if
(
compareClassGuid
(token, p3_guid ) ){
32
std::unique_ptr< TrigElectronContainer_p3 > col_vect(
poolReadObject< TrigElectronContainer_p3 >
(token) );
33
// std::cout << "Reading IMFC p3" << std::endl;
34
return
m_converter
.createTransient( col_vect.get(), mlog ) ;
35
36
}
else
if
(
compareClassGuid
(token, tlp2_guid) ) {
37
38
std::unique_ptr< TrigElectronContainer_tlp2 > col_vect(
poolReadObject< TrigElectronContainer_tlp2 >
(token) );
39
return
m_converter_tlp2
.createTransient( col_vect.get(), mlog );
40
41
}
else
if
(
compareClassGuid
(token, tlp1_guid) ) {
42
43
std::unique_ptr< TrigElectronContainer_tlp1 > col_vect(
poolReadObject< TrigElectronContainer_tlp1 >
(token) );
44
return
m_converter_tlp1
.createTransient( col_vect.get(), mlog );
45
46
}
else
if
(
compareClassGuid
(token, p0_guid1) ||
compareClassGuid
(token, p0_guid2) ) {
47
48
// old version from before TP separation, just return it
49
return
poolReadObject<TrigElectronContainer>
(token);
50
51
}
else
{
52
53
throw
std::runtime_error(
"Unsupported persistent version of Data container"
);
54
55
}
56
57
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
TrigElectronContainerCnv.h
TrigElectronContainer_PERS
TrigElectronContainer_p3 TrigElectronContainer_PERS
Definition
TrigElectronContainerCnv.h:17
TrigElectronContainer_p3.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
T_AthenaPoolCustomCnv< TrigElectronContainer, TrigElectronContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< TrigElectronContainer, TrigElectronContainer_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
TrigElectronContainerCnv::m_converter_tlp2
TrigElectronContainerCnv_tlp2 m_converter_tlp2
Definition
TrigElectronContainerCnv.h:35
TrigElectronContainerCnv::createPersistent
virtual TrigElectronContainer_PERS * createPersistent(TrigElectronContainer *transCont)
Definition
TrigElectronContainerCnv.cxx:9
TrigElectronContainerCnv::m_converter_tlp1
TrigElectronContainerCnv_tlp1 m_converter_tlp1
Definition
TrigElectronContainerCnv.h:34
TrigElectronContainerCnv::createTransient
virtual TrigElectronContainer * createTransient(const Token *token)
Definition
TrigElectronContainerCnv.cxx:20
TrigElectronContainerCnv::m_converter
TrigElectronContainerCnv_p3 m_converter
Definition
TrigElectronContainerCnv.h:36
TrigElectronContainer
File: TrigElectronContainer.h.
Definition
Trigger/TrigEvent/TrigParticle/TrigParticle/TrigElectronContainer.h:32
Generated on
for ATLAS Offline Software by
1.17.0