ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigEventAthenaPool
src
TrigDecisionCnv.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 "
TrigDecisionCnv.h
"
6
#include "
TrigDecisionEventTPCnv/TrigDecisionCnv_p1.h
"
7
#include "
TrigDecisionEventTPCnv/TrigDecisionCnv_p2.h
"
8
#include "
TrigDecisionEventTPCnv/TrigDecisionCnv_p3.h
"
9
#include "
TrigDecisionEventTPCnv/TrigDecisionCnv_p4.h
"
10
#include "
TrigDecisionEventTPCnv/TrigDecisionCnv_p5.h
"
11
#include "
TrigDecisionEventTPCnv/TrigDecision_p1.h
"
12
#include "
TrigDecisionEventTPCnv/TrigDecision_p2.h
"
13
#include "
TrigDecisionEventTPCnv/TrigDecision_p3.h
"
14
#include "
TrigDecisionEventTPCnv/TrigDecision_p4.h
"
15
#include "
TrigDecisionEventTPCnv/TrigDecision_p5.h
"
16
17
18
TrigDecisionCnv::TrigDecisionCnv
(ISvcLocator* svcloc)
19
:
TrigDecisionCnvBase
(svcloc)
20
{}
21
TrigDecisionCnv::~TrigDecisionCnv
() {}
22
23
24
TrigDecision_PERS
*
TrigDecisionCnv::createPersistent
(
TrigDec::TrigDecision
* transCont)
25
{
26
MsgStream log(msgSvc(),
"TrigDecisionConverter"
);
27
28
// TrigDec::TrigDecisionCnv_p1 converter;
29
TrigDec::TrigDecisionCnv_p5
converter;
30
TrigDecision_PERS
* persObj = converter.
createPersistent
( transCont, log );
31
32
return
persObj;
33
}
34
35
36
TrigDec::TrigDecision
*
TrigDecisionCnv::createTransient
(
const
Token
* token)
37
{
38
MsgStream log(msgSvc(),
"TrigDecisionConverter"
);
39
40
static
const
pool::Guid
p1_guid(
"83D7E08D-CF8C-47A0-963F-5618A9509334"
);
41
static
const
pool::Guid
p2_guid(
"6BE81E51-B42B-4783-957D-84E7F383E9D5"
);
42
static
const
pool::Guid
p3_guid(
"1C0527B6-1B94-4F47-ADE4-D24E7BF91D3E"
);
43
static
const
pool::Guid
p4_guid(
"78F57689-0902-4E47-BB04-9BD10C7EF8B5"
);
44
static
const
pool::Guid
p5_guid(
"DA3DEF39-2401-4A8E-ACD2-851B0DF10AFA"
);
45
46
if
(
compareClassGuid
(token, p1_guid) ) {
47
// using unique_ptr ensures deletion of the persistent object
48
std::unique_ptr< TrigDec::TrigDecision_p1 > col_vect(
poolReadObject< TrigDec::TrigDecision_p1 >
(token) );
49
TrigDec::TrigDecisionCnv_p1
converter;
50
return
converter.
createTransient
( col_vect.get(), log );
51
}
else
if
(
compareClassGuid
(token, p2_guid) ) {
52
std::unique_ptr< TrigDec::TrigDecision_p2 > col_vect(
poolReadObject< TrigDec::TrigDecision_p2 >
(token) );
53
TrigDec::TrigDecisionCnv_p2
converter;
54
return
converter.
createTransient
( col_vect.get(), log );
55
}
else
if
(
compareClassGuid
(token, p3_guid) ) {
56
std::unique_ptr< TrigDec::TrigDecision_p3 > col_vect(
poolReadObject< TrigDec::TrigDecision_p3 >
(token) );
57
TrigDec::TrigDecisionCnv_p3
converter;
58
return
converter.
createTransient
( col_vect.get(), log );
59
}
else
if
(
compareClassGuid
(token, p4_guid) ) {
60
std::unique_ptr< TrigDec::TrigDecision_p4 > col_vect(
poolReadObject< TrigDec::TrigDecision_p4 >
(token) );
61
TrigDec::TrigDecisionCnv_p4
converter;
62
return
converter.
createTransient
( col_vect.get(), log );
63
}
else
if
(
compareClassGuid
(token, p5_guid) ) {
64
std::unique_ptr< TrigDec::TrigDecision_p5 > col_vect(
poolReadObject< TrigDec::TrigDecision_p5 >
(token) );
65
TrigDec::TrigDecisionCnv_p5
converter;
66
return
converter.
createTransient
( col_vect.get(), log );
67
}
68
throw
std::runtime_error(
"Unsupported persistent version of Data Collection"
);
69
}
TrigDecisionCnv.h
TrigDecisionCnvBase
T_AthenaPoolCustomCnv< TrigDec::TrigDecision, TrigDecision_PERS > TrigDecisionCnvBase
Definition
TrigDecisionCnv.h:39
TrigDecision_PERS
TrigDec::TrigDecision_p5 TrigDecision_PERS
Definition
TrigDecisionCnv.h:37
TrigDecisionCnv_p1.h
TrigDecisionCnv_p2.h
TrigDecisionCnv_p3.h
TrigDecisionCnv_p4.h
TrigDecisionCnv_p5.h
TrigDecision_p1.h
TrigDecision_p2.h
TrigDecision_p3.h
TrigDecision_p4.h
TrigDecision_p5.h
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
T_AthenaPoolCustomCnv< TrigDec::TrigDecision, TrigDecision_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< TrigDec::TrigDecision, TrigDecision_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
TrigDec::TrigDecisionCnv_p1
Definition
TrigDecisionCnv_p1.h:38
TrigDec::TrigDecisionCnv_p2
Definition
TrigDecisionCnv_p2.h:37
TrigDec::TrigDecisionCnv_p3
Definition
TrigDecisionCnv_p3.h:37
TrigDec::TrigDecisionCnv_p4
Definition
TrigDecisionCnv_p4.h:37
TrigDec::TrigDecisionCnv_p5
Definition
TrigDecisionCnv_p5.h:37
TrigDec::TrigDecision
The TrigDecision is an object which merges trigger informations from various levels.
Definition
Trigger/TrigEvent/TrigDecisionEvent/TrigDecisionEvent/TrigDecision.h:47
TrigDecisionCnv::~TrigDecisionCnv
~TrigDecisionCnv()
Definition
TrigDecisionCnv.cxx:21
TrigDecisionCnv::createTransient
virtual TrigDec::TrigDecision * createTransient(const Token *token)
Definition
TrigDecisionCnv.cxx:36
TrigDecisionCnv::createPersistent
virtual TrigDecision_PERS * createPersistent(TrigDec::TrigDecision *transCont)
Definition
TrigDecisionCnv.cxx:24
TrigDecisionCnv::TrigDecisionCnv
TrigDecisionCnv(ISvcLocator *svcloc)
Definition
TrigDecisionCnv.cxx:18
pool::Guid
::Guid Guid
Definition
T_AthenaPoolCustCnv.h:19
Generated on
for ATLAS Offline Software by
1.17.0