ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCnv
LArSimEventAthenaPool
src
LArHitContainerCnv.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 "
LArSimEventTPCnv/LArHitContainerCnv_p1.h
"
6
#include "
LArSimEventTPCnv/LArHitContainerCnv_p2.h
"
7
#include "
LArHitContainerCnv.h
"
8
#include "
LArSimEventTPCnv/LArHit_p1.h
"
9
10
LArHitContainer_PERS
*
LArHitContainerCnv::createPersistent
(
LArHitContainer
* transCont) {
11
MsgStream mlog(msgSvc(),
"LArHitContainerConverter"
);
12
LArHitContainerCnv_p2
converter;
13
LArHitContainer_PERS
*persObj = converter.
createPersistent
( transCont, mlog );
14
return
persObj;
15
}
16
17
18
LArHitContainer
*
LArHitContainerCnv::createTransient
(
const
Token
* token) {
19
MsgStream mlog(msgSvc(),
"LArHitContainerConverter"
);
20
LArHitContainerCnv_p1
converter_p1;
21
LArHitContainerCnv_p2
converter_p2;
22
23
LArHitContainer
*trans_cont(0);
24
25
static
const
Guid
p2_guid(
"1F1DE705-E0CE-4F0E-941A-C405CB2CD137"
);
26
static
const
Guid
p1_guid(
"ED1ECB80-B38C-46DE-94BF-22F9379796DB"
);
27
static
const
Guid
p0_guid(
"32703AED-CAA5-45ED-B804-8556900CA6B5"
);
28
29
if
( this->
compareClassGuid
(token, p2_guid)) {
30
std::unique_ptr< LArHitContainer_p2 > col_vect( this->
poolReadObject< LArHitContainer_p2 >
(token) );
31
trans_cont = converter_p2.
createTransient
( col_vect.get(), mlog );
32
}
33
else
if
( this->
compareClassGuid
(token, p1_guid)) {
34
std::unique_ptr< LArHitContainer_p1 > col_vect( this->
poolReadObject< LArHitContainer_p1 >
(token) );
35
trans_cont = converter_p1.
createTransient
( col_vect.get(), mlog );
36
}
37
else
if
( this->
compareClassGuid
(token, p0_guid)) {
38
// old version from before TP separation, just return it
39
trans_cont = this->
poolReadObject<LArHitContainer>
(token);
40
}
else
{
41
throw
std::runtime_error(
"Unsupported persistent version of Data container"
);
42
}
43
return
trans_cont;
44
}
LArHitContainerCnv.h
LArHitContainer_PERS
LArHitContainer_p2 LArHitContainer_PERS
Definition
LArHitContainerCnv.h:15
LArHitContainerCnv_p1.h
LArHitContainerCnv_p1
T_AthenaHitsVectorCnv< LArHitContainer, LArHitContainer_p1, LArHitCnv_p1 > LArHitContainerCnv_p1
Definition
LArHitContainerCnv_p1.h:13
LArHitContainerCnv_p2.h
LArHit_p1.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
LArHitContainerCnv_p2
Definition
LArHitContainerCnv_p2.h:16
LArHitContainerCnv::createTransient
LArHitContainer * createTransient(const Token *token)
Definition
LArHitContainerCnv.cxx:18
LArHitContainerCnv::createPersistent
LArHitContainer_PERS * createPersistent(LArHitContainer *transCont)
Definition
LArHitContainerCnv.cxx:10
LArHitContainer
Hit collection.
Definition
LArHitContainer.h:26
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< LArHitContainer, LArHitContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< LArHitContainer, LArHitContainer_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