ATLAS Offline Software
Simulation
G4SimCnv
G4SimAthenaPOOL
src
TrackRecordCollectionCnv.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 "
G4SimTPCnv/TrackRecordCollectionCnv_p1.h
"
6
#include "
G4SimTPCnv/TrackRecordCollectionCnv_p2.h
"
7
#include "
TrackRecordCollectionCnv.h
"
8
9
TrackRecordCollection_PERS
*
TrackRecordCollectionCnv::createPersistent
(
TrackRecordCollection
* transCont) {
10
MsgStream
mlog
(
msgSvc
(),
"TrackRecordCollectionConverter"
);
11
TrackRecordCollectionCnv_p2
converter;
12
TrackRecordCollection_PERS
*persObj = converter.
createPersistent
( transCont,
mlog
);
13
return
persObj;
14
}
15
16
17
TrackRecordCollection
*
TrackRecordCollectionCnv::createTransient
() {
18
19
MsgStream
mlog
(
msgSvc
(),
"TrackRecordCollectionConverter"
);
20
TrackRecordCollectionCnv_p1
converter;
21
TrackRecordCollectionCnv_p2
converter_p2;
22
TrackRecordCollection
*trans_cont(0);
23
24
// GUIDs are here:
25
static
const
pool::Guid
p1_guid(
"1B1EEE3B-4647-41B4-B1D4-495DF77F0D3C"
);
26
static
const
pool::Guid
p2_guid(
"22D044AD-A13A-42BF-B2A4-BDAF5BE2D819"
);
27
28
if
( this->
compareClassGuid
(p1_guid)) {
29
std::unique_ptr< TrackRecordCollection_p1 > col_vect( this->poolReadObject< TrackRecordCollection_p1 >() );
30
trans_cont = converter.
createTransient
( col_vect.get(),
mlog
);
31
}
32
// New _p2 version faster and smaller
33
else
if
( this->
compareClassGuid
(p2_guid)) {
34
std::unique_ptr< TrackRecordCollection_p2 > col_vect( this->poolReadObject< TrackRecordCollection_p2 >() );
35
trans_cont = converter_p2.
createTransient
( col_vect.get(),
mlog
);
36
}
37
else
38
{
39
throw
std::runtime_error(
"Unsupported persistent version of Data container"
);
40
}
41
return
trans_cont;
42
}
43
44
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
AtlasHitsVector
Definition:
AtlasHitsVector.h:32
TrackRecordCollectionCnv.h
TrackRecordCollectionCnv_p1.h
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
pool::Guid
::Guid Guid
Definition:
T_AthenaPoolCustCnv.h:19
TrackRecordCollectionCnv::createTransient
TrackRecordCollection * createTransient()
Definition:
TrackRecordCollectionCnv.cxx:17
python.InDetPriVxFinderConfig.mlog
mlog
Definition:
InDetPriVxFinderConfig.py:149
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition:
StdJOSetup.py:36
TrackRecordCollectionCnv::createPersistent
TrackRecordCollection_PERS * createPersistent(TrackRecordCollection *transCont)
Definition:
TrackRecordCollectionCnv.cxx:9
TrackRecordCollection_p2
Definition:
TrackRecordCollection_p2.h:21
TrackRecordCollectionCnv_p2.h
T_AtlasHitsVectorCnv
Definition:
TPConverter.h:1234
TPCnvStdVectorConst
Const version of TPCnvStdVector.
Definition:
TPConverter.h:1308
T_AthenaPoolCustCnv< TrackRecordCollection, TrackRecordCollection_PERS >::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
Generated on Mon Sep 29 2025 21:21:18 for ATLAS Offline Software by
1.8.18