ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetEventCnv
InDetEventAthenaPool
src
InDetSimDataCollectionCnv.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 "
InDetSimDataCollectionCnv.h
"
6
#include "
InDetSimDataCollectionCnv_p1.h
"
7
#include "
InDetSimDataCollectionCnv_p2.h
"
8
#include "
InDetSimDataCollectionCnv_p3.h
"
9
#include "
InDetSimDataCollectionCnv_p4.h
"
10
11
12
InDetSimDataCollection_PERS
*
InDetSimDataCollectionCnv::createPersistent
(
InDetSimDataCollection
* transCont) {
13
MsgStream mlog(msgSvc(),
"InDetSimDataCollectionCnv"
);
14
InDetSimDataCollectionCnv_PERS
converter;
15
InDetSimDataCollection_PERS
*persObj = converter.
createPersistent
( transCont, mlog );
16
return
persObj;
17
}
18
19
20
InDetSimDataCollection
*
InDetSimDataCollectionCnv::createTransient
(
const
Token
* token) {
21
MsgStream mlog(msgSvc(),
"InDetSimDataCollection"
);
22
InDetSimDataCollectionCnv_p1
converter_p1;
23
InDetSimDataCollectionCnv_p2
converter_p2;
24
InDetSimDataCollectionCnv_p3
converter_p3;
25
InDetSimDataCollectionCnv_p4
converter_p4;
26
27
InDetSimDataCollection
*trans_cont(
nullptr
);
28
static
const
Guid
p4_guid(
"018E50BB-B807-75F9-828A-890C9AD1F7CB"
);
29
static
const
Guid
p3_guid(
"1430AA7B-EE92-5A41-92F3-5DD5367D6BAA"
);
30
static
const
Guid
p2_guid(
"C648CA66-013D-44AC-B0D9-99BFB0060E84"
);
31
static
const
Guid
p1_guid(
"333EF996-1672-4AB8-917D-187F908F1EDE"
);
32
static
const
Guid
old_guid(
"5A50C32E-C036-4A49-AE97-716D53210BE1"
);
33
34
if
( this->
compareClassGuid
(token, p4_guid)) {
35
std::unique_ptr< InDetSimDataCollection_p4 > col_vect( this->
poolReadObject< InDetSimDataCollection_p4 >
(token) );
36
trans_cont = converter_p4.
createTransient
( col_vect.get(), mlog );
37
}
38
else
if
( this->
compareClassGuid
(token, p3_guid)) {
39
std::unique_ptr< InDetSimDataCollection_p3 > col_vect( this->
poolReadObject< InDetSimDataCollection_p3 >
(token) );
40
trans_cont = converter_p3.
createTransient
( col_vect.get(), mlog );
41
}
42
else
if
( this->
compareClassGuid
(token, p2_guid)) {
43
std::unique_ptr< InDetSimDataCollection_p2 > col_vect( this->
poolReadObject< InDetSimDataCollection_p2 >
(token) );
44
trans_cont = converter_p2.
createTransient
( col_vect.get(), mlog );
45
}
46
else
if
( this->
compareClassGuid
(token, p1_guid)) {
47
std::unique_ptr< InDetSimDataCollection_p1 > col_vect( this->
poolReadObject< InDetSimDataCollection_p1 >
(token) );
48
trans_cont = converter_p1.
createTransient
( col_vect.get(), mlog );
49
}
50
else
if
( this->
compareClassGuid
(token, old_guid)) {
51
// old version from before TP separation, just return it
52
trans_cont = this->
poolReadObject<InDetSimDataCollection>
(token);
53
}
else
{
54
throw
std::runtime_error(
"Unsupported persistent version of Data container"
);
55
}
56
return
trans_cont;
57
}
InDetSimDataCollectionCnv.h
InDetSimDataCollectionCnv_PERS
InDetSimDataCollectionCnv_p3 InDetSimDataCollectionCnv_PERS
Definition
InDetSimDataCollectionCnv.h:20
InDetSimDataCollection_PERS
InDetSimDataCollection_p3 InDetSimDataCollection_PERS
Definition
InDetSimDataCollectionCnv.h:19
InDetSimDataCollectionCnv_p1.h
InDetSimDataCollectionCnv_p2.h
InDetSimDataCollectionCnv_p3.h
InDetSimDataCollectionCnv_p4.h
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
InDetSimDataCollectionCnv_p1
Definition
InDetSimDataCollectionCnv_p1.h:17
InDetSimDataCollectionCnv_p2
Definition
InDetSimDataCollectionCnv_p2.h:17
InDetSimDataCollectionCnv_p3
Definition
InDetSimDataCollectionCnv_p3.h:17
InDetSimDataCollectionCnv_p4
Definition
InDetSimDataCollectionCnv_p4.h:17
InDetSimDataCollectionCnv::createPersistent
virtual InDetSimDataCollection_PERS * createPersistent(InDetSimDataCollection *transCont)
Definition
InDetSimDataCollectionCnv.cxx:12
InDetSimDataCollectionCnv::createTransient
virtual InDetSimDataCollection * createTransient(const Token *token)
Definition
InDetSimDataCollectionCnv.cxx:20
InDetSimDataCollection
Definition
InDetSimDataCollection.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< InDetSimDataCollection, InDetSimDataCollection_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< InDetSimDataCollection, InDetSimDataCollection_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