ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
DetDescrCond
DetDescrCondAthenaPool
src
AlignableTransformContainerCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
10
11
#include "
AlignableTransformContainerCnv.h
"
12
#include "
DetDescrCondTPCnv/AlignableTransformCnv_p1.h
"
13
14
15
AlignableTransform_PERS
*
AlignableTransformContainerCnv::createPersistent
(
AlignableTransform_TRANS
* transObj) {
16
MsgStream log(msgSvc(),
"AlignableTransformContainerCnv"
);
17
AlignableTransformCnv_p1
cnv;
18
AlignableTransform_PERS
* persObj = cnv.
createPersistent
( transObj, log );
19
if
(log.level()<=MSG::DEBUG) log << MSG::DEBUG <<
"AlignableTransformContainer write a new AlignableTransform_PERS "
<<
endmsg
;
20
return
persObj;
21
}
22
23
AlignableTransform_TRANS
*
AlignableTransformContainerCnv::createTransient
(
const
Token
* token) {
24
MsgStream log(msgSvc(),
"AlignableTransformContainerCnv"
);
25
static
const
pool::Guid
p1_guid(
"BA1A841C-8D92-45AE-9AD1-9AF7A1736844"
);
26
static
const
pool::Guid
p0_guid(
"E779C6B5-3F2A-473E-B35E-6CCB345E0665"
);
27
if
(
compareClassGuid
(token, p1_guid) ) {
28
// using unique_ptr ensures deletion of the persistent object
29
if
(log.level()<=MSG::DEBUG) log << MSG::DEBUG <<
"AlignableTransformContainer read p1"
<<
endmsg
;
30
std::unique_ptr< AlignableTransform_p1 > col_vect(
poolReadObject< AlignableTransform_p1 >
(token) );
31
AlignableTransformCnv_p1
cnv;
32
return
cnv.
createTransient
( col_vect.get(), log );
33
}
34
else
if
(
compareClassGuid
(token, p0_guid) ) {
35
// regular object from before TP separation, just return it
36
if
(log.level()<=MSG::DEBUG) log << MSG::DEBUG <<
"AlignableTransformContainer read p0"
<<
endmsg
;
37
return
this->
poolReadObject<AlignableTransform>
(token);
38
}
39
throw
std::runtime_error(
"Unsupported persistent version of AlignableTransformContainer"
);
40
}
41
42
43
StatusCode
AlignableTransformContainerCnv::initialize
()
44
{
45
return
AlignableTransformContainerCnvBase::initialize
();
46
}
47
AlignableTransformCnv_p1.h
AlignableTransformContainerCnv.h
Generated header file which defines a typedef for templated converter class.
AlignableTransform_TRANS
AlignableTransformContainer::base_value_type AlignableTransform_TRANS
Definition
AlignableTransformContainerCnv.h:19
AlignableTransform_PERS
AlignableTransform_p1 AlignableTransform_PERS
Definition
AlignableTransformContainerCnv.h:20
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:61
AlignableTransformCnv_p1
Definition
AlignableTransformCnv_p1.h:13
AlignableTransformContainerCnv::createTransient
virtual AlignableTransform_TRANS * createTransient(const Token *token)
method to be implemented by the developer.
Definition
AlignableTransformContainerCnv.cxx:23
AlignableTransformContainerCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Definition
AlignableTransformContainerCnv.cxx:43
AlignableTransformContainerCnv::createPersistent
virtual AlignableTransform_PERS * createPersistent(AlignableTransform_TRANS *transObj)
method to be implemented by the developer.
Definition
AlignableTransformContainerCnv.cxx:15
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_AthenaPoolCoolMultChanCnv< AlignableTransformContainer, AlignableTransform_TRANS, AlignableTransform_PERS >::poolReadObject
P * poolReadObject(const Token *token)
T_AthenaPoolCoolMultChanCnv< AlignableTransformContainer, AlignableTransform_TRANS, AlignableTransform_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCoolMultChanCnv< AlignableTransformContainer, AlignableTransform_TRANS, AlignableTransform_PERS >::initialize
virtual StatusCode initialize()
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
pool::Guid
::Guid Guid
Definition
T_AthenaPoolCustCnv.h:19
Generated on
for ATLAS Offline Software by
1.17.0