ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloCnv
CaloSimEventAthenaPool
src
CaloCalibrationHitContainerCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
CaloSimEventTPCnv/CaloCalibrationHitContainerCnv_p1.h
"
6
#include "
CaloSimEventTPCnv/CaloCalibrationHitContainerCnv_p2.h
"
7
#include "
CaloSimEventTPCnv/CaloCalibrationHitContainerCnv_p3.h
"
8
#include "
CaloSimEventTPCnv/CaloCalibrationHitContainerCnv_p4.h
"
9
#include "
CaloCalibrationHitContainerCnv.h
"
10
#include "
CaloSimEventTPCnv/CaloCalibrationHit_p1.h
"
11
#include "
CaloSimEventTPCnv/CaloCalibrationHit_p2.h
"
12
13
14
CaloCalibrationHitContainer_PERS
*
CaloCalibrationHitContainerCnv::createPersistent
(
CaloCalibrationHitContainer
* transCont) {
15
MsgStream mlog(msgSvc(),
"CaloCalibrationHitContainerConverter"
);
16
CaloCalibrationHitContainerCnv_p3
converter;
17
CaloCalibrationHitContainer_PERS
*persObj = converter.
createPersistent
( transCont, mlog );
18
return
persObj;
19
}
20
21
22
CaloCalibrationHitContainer
*
CaloCalibrationHitContainerCnv::createTransient
(
const
Token
* token) {
23
MsgStream mlog(msgSvc(),
"CaloCalibrationHitContainerConverter"
);
24
CaloCalibrationHitContainerCnv_p1
converter_p1;
25
CaloCalibrationHitContainerCnv_p2
converter_p2;
26
CaloCalibrationHitContainerCnv_p3
converter_p3;
27
CaloCalibrationHitContainerCnv_p4
converter_p4;
28
29
CaloCalibrationHitContainer
*trans_cont(0);
30
static
const
Guid
p1_guid(
"185FEF89-2350-4D1E-A1A7-9CB5A357232E"
);
31
static
const
Guid
p2_guid(
"4942B9D4-F545-4C68-BD2D-A8E5923C29F3"
);
32
static
const
Guid
p3_guid(
"D4E51325-2A55-41E4-B163-5224F2FA27CB"
);
33
static
const
Guid
p4_guid(
"0191C6F6-90B5-7B57-861D-6865CE3FDF69"
);
34
static
const
Guid
p0_guid(
"33CDAED0-F472-47D2-8F28-27C6D6761F35"
);
35
36
if
( this->
compareClassGuid
(token, p4_guid)) {
37
std::unique_ptr< CaloCalibrationHitContainer_p4 > col_vect( this->
poolReadObject< CaloCalibrationHitContainer_p4 >
(token) );
38
trans_cont = converter_p4.
createTransient
( col_vect.get(), mlog );
39
}
40
else
if
( this->
compareClassGuid
(token, p3_guid)) {
41
std::unique_ptr< CaloCalibrationHitContainer_p3 > col_vect( this->
poolReadObject< CaloCalibrationHitContainer_p3 >
(token) );
42
trans_cont = converter_p3.
createTransient
( col_vect.get(), mlog );
43
}
44
else
if
( this->
compareClassGuid
(token, p2_guid)) {
45
std::unique_ptr< CaloCalibrationHitContainer_p2 > col_vect( this->
poolReadObject< CaloCalibrationHitContainer_p2 >
(token) );
46
trans_cont = converter_p2.
createTransient
( col_vect.get(), mlog );
47
}
48
else
if
( this->
compareClassGuid
(token, p1_guid)) {
49
std::unique_ptr< CaloCalibrationHitContainer_p1 > col_vect( this->
poolReadObject< CaloCalibrationHitContainer_p1 >
(token) );
50
trans_cont = converter_p1.
createTransient
( col_vect.get(), mlog );
51
}
52
else
if
( this->
compareClassGuid
(token, p0_guid)) {
53
// old version from before TP separation, just return it
54
trans_cont = this->
poolReadObject<CaloCalibrationHitContainer>
(token);
55
}
else
{
56
throw
std::runtime_error(
"Unsupported persistent version of Data container"
);
57
}
58
return
trans_cont;
59
}
CaloCalibrationHitContainerCnv.h
CaloCalibrationHitContainer_PERS
CaloCalibrationHitContainer_p3 CaloCalibrationHitContainer_PERS
Definition
CaloCalibrationHitContainerCnv.h:16
CaloCalibrationHitContainerCnv_p1.h
CaloCalibrationHitContainerCnv_p1
T_AthenaHitsVectorCnv< CaloCalibrationHitContainer, CaloCalibrationHitContainer_p1, CaloCalibrationHitCnv_p1 > CaloCalibrationHitContainerCnv_p1
Definition
CaloCalibrationHitContainerCnv_p1.h:13
CaloCalibrationHitContainerCnv_p2.h
CaloCalibrationHitContainerCnv_p3.h
CaloCalibrationHitContainerCnv_p4.h
CaloCalibrationHit_p1.h
CaloCalibrationHit_p2.h
CaloCalibrationHitContainerCnv_p2
Definition
CaloCalibrationHitContainerCnv_p2.h:15
CaloCalibrationHitContainerCnv_p3
Definition
CaloCalibrationHitContainerCnv_p3.h:15
CaloCalibrationHitContainerCnv_p4
Definition
CaloCalibrationHitContainerCnv_p4.h:15
CaloCalibrationHitContainerCnv::createPersistent
CaloCalibrationHitContainer_PERS * createPersistent(CaloCalibrationHitContainer *transCont)
Definition
CaloCalibrationHitContainerCnv.cxx:14
CaloCalibrationHitContainerCnv::createTransient
CaloCalibrationHitContainer * createTransient(const Token *token)
Definition
CaloCalibrationHitContainerCnv.cxx:22
CaloCalibrationHitContainer
Definition
CaloCalibrationHitContainer.h:25
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
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< CaloCalibrationHitContainer, CaloCalibrationHitContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< CaloCalibrationHitContainer, CaloCalibrationHitContainer_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