ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventAthenaPool
src
TgcRdoContainerCnv.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONEVENTATHENAPOOL_TGCRDOCONTAINERCNV_H
6
#define MUONEVENTATHENAPOOL_TGCRDOCONTAINERCNV_H
7
8
/*
9
custom POOL TP converter for TGC RDO
10
@author Marcin Nowak
11
CERN, February 2006
12
*/
13
14
15
#include "
MuonRdoContainerTPCnv.h
"
16
#include "
TgcRdoContainerCnv_p1.h
"
17
#include "
TgcRdoContainerCnv_p2.h
"
18
#include "
TgcRdoContainerCnv_p3.h
"
19
#include "
TgcRdoContainerCnv_p4.h
"
20
#include "
MuonEventAthenaPool/TgcRdoContainer_p1.h
"
21
#include "
MuonEventAthenaPool/TgcRdoContainer_p2.h
"
22
#include "
MuonEventAthenaPool/TgcRdoContainer_p3.h
"
23
#include "
MuonEventAthenaPool/TgcRdoContainer_p4.h
"
24
#include "
MuonRDO/TgcRdoContainer.h
"
25
26
27
typedef
MuonRdoContainerTPCnv<TgcRdoContainer, TgcRdoContainer_p4, TgcRdoContainerCnv_p4 >
28
TgcRdoContainerCnv
;
29
30
31
template
< >
32
inline
33
TgcRdoContainer
*
34
TgcRdoContainerCnv::createTransient
(
const
Token
* token)
35
{
36
MsgStream log(msgSvc(),
"TgcRdoContainerCnv"
);
37
log << MSG::DEBUG <<
" **** Entered createTransient(const Token* token) "
38
<<
endmsg
;
39
40
// the use of auto pointers ensures that the persistent object is deleted
41
// using the correct persistent type pointer
42
43
TgcRdoContainer
*trans_cont = 0;
44
static
const
Guid
p4_guid(
"176667F0-DEC8-42A4-94AF-B4750829671A"
);
45
static
const
Guid
p3_guid(
"E7D45D90-CB92-4A7D-B5FE-2791CE34FFEE"
);
46
static
const
Guid
p2_guid(
"3DA250DA-321C-4DD3-996A-BB0E67A6034D"
);
47
static
const
Guid
p1_guid(
"BF9D17EA-AC87-4243-9126-8FC86DDCDAA3"
);
48
static
const
Guid
p0_guid(
"FBF8D72D-A6B9-4689-8E02-BB0F435BF2F7"
);
49
50
if
(
compareClassGuid
(token, p4_guid) ) {
51
std::unique_ptr< TgcRdoContainer_p4 > col_vect( this->
poolReadObject<TgcRdoContainer_p4>
(token) );
52
trans_cont =
m_TPconverter
.createTransient( col_vect.get(), log );
53
}
54
else
if
(
compareClassGuid
(token, p3_guid) ) {
55
std::unique_ptr< TgcRdoContainer_p3 > col_vect( this->
poolReadObject<TgcRdoContainer_p3>
(token) );
56
TgcRdoContainerCnv_p3
cnv;
57
trans_cont = cnv.
createTransient
( col_vect.get(), log );
58
}
59
else
if
(
compareClassGuid
(token, p2_guid) ) {
60
std::unique_ptr< TgcRdoContainer_p2 > col_vect( this->
poolReadObject<TgcRdoContainer_p2>
(token) );
61
TgcRdoContainerCnv_p2
cnv;
62
trans_cont = cnv.
createTransient
( col_vect.get(), log );
63
}
64
else
if
(
compareClassGuid
(token, p1_guid) ) {
65
std::unique_ptr< TgcRdoContainer_p1 > col_vect( this->
poolReadObject<TgcRdoContainer_p1>
(token) );
66
TgcRdoContainerCnv_p1
cnv;
67
trans_cont = cnv.
createTransient
( col_vect.get(), log );
68
}
69
else
if
(
compareClassGuid
(token, p0_guid) ) {
70
// old version from before TP separation
71
std::unique_ptr< COLL_vector > col_vect( this->
poolReadObject< COLL_vector >
(token) );
72
trans_cont =
createTransientFrom_p0
( col_vect.get(), log );
73
}
74
else
{
75
throw
std::runtime_error(
"Unsupported persistent version of TGC RDO container"
);
76
}
77
return
trans_cont;
78
}
79
80
81
#endif
82
83
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
MuonRdoContainerTPCnv.h
TgcRdoContainerCnv
MuonRdoContainerTPCnv< TgcRdoContainer, TgcRdoContainer_p4, TgcRdoContainerCnv_p4 > TgcRdoContainerCnv
Definition
TgcRdoContainerCnv.h:28
TgcRdoContainerCnv_p1.h
TgcRdoContainerCnv_p1
T_AthenaPoolTPCnvIDCont< TgcRdoContainer, TgcRdoContainer_p1, TgcRdoCnv_p1 > TgcRdoContainerCnv_p1
Definition
TgcRdoContainerCnv_p1.h:23
TgcRdoContainerCnv_p2.h
TgcRdoContainerCnv_p2
T_AthenaPoolTPCnvIDCont< TgcRdoContainer, TgcRdoContainer_p2, TgcRdoCnv_p2 > TgcRdoContainerCnv_p2
Definition
TgcRdoContainerCnv_p2.h:21
TgcRdoContainerCnv_p3.h
TgcRdoContainerCnv_p3
T_AthenaPoolTPCnvIDCont< TgcRdoContainer, TgcRdoContainer_p3, TgcRdoCnv_p3 > TgcRdoContainerCnv_p3
Definition
TgcRdoContainerCnv_p3.h:21
TgcRdoContainerCnv_p4.h
TgcRdoContainer.h
TgcRdoContainer_p1.h
TgcRdoContainer_p2.h
TgcRdoContainer_p3.h
TgcRdoContainer_p4.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
MuonRdoContainerTPCnv
Definition
MuonRdoContainerTPCnv.h:25
MuonRdoContainerTPCnv< TgcRdoContainer, TgcRdoContainer_p4, TgcRdoContainerCnv_p4 >::createTransient
virtual TgcRdoContainer * createTransient(const Token *token)
Definition
TgcRdoContainerCnv.h:34
MuonRdoContainerTPCnv< TgcRdoContainer, TgcRdoContainer_p4, TgcRdoContainerCnv_p4 >::m_TPconverter
TgcRdoContainerCnv_p4 m_TPconverter
Definition
MuonRdoContainerTPCnv.h:45
MuonRdoContainerTPCnv::createTransientFrom_p0
virtual T * createTransientFrom_p0(COLL_vector *persObj, MsgStream &log)
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
T_AthenaPoolCustomCnv< T, P >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
MuonRdoContainerTPCnv< TgcRdoContainer, TgcRdoContainer_p4, TgcRdoContainerCnv_p4 >::poolReadObject
TgcRdoContainer_p4 * poolReadObject(const Token *token)
TgcRdoContainer
Definition
TgcRdoContainer.h:25
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