ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkTruthTPCnv
src
DetailedTrackTruthCollectionCnv_p3.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// T/P converter for DetailedTrackTruthCollection.
6
//
7
// Andrei Gaponenko <agaponenko@lbl.gov>, 2008
8
// Olivier.Arnaez@cern.ch, 2015
9
10
#include "
TrkTruthData/DetailedTrackTruthCollection.h
"
11
12
#include "
TrkTruthTPCnv/DetailedTrackTruthCollectionCnv_p3.h
"
13
#include "
TrkTruthTPCnv/DetailedTrackTruthCollection_p3.h
"
14
15
#include "
DataModelAthenaPool/DataLinkCnv_p1.h
"
16
#include "
TrkTruthTPCnv/DetailedTrackTruthCnv_p3.h
"
17
18
#include "
StoreGate/StoreGateSvc.h
"
19
20
#include "
TrackTruthCollectionAccessor.h
"
21
22
namespace
{
23
const
DataLinkCnv_p1<DataLink<TrackCollection>
> dataLinkConverter;
24
const
DetailedTrackTruthCnv_p3
detailedTruthConverter;
25
}
26
27
void
DetailedTrackTruthCollectionCnv_p3::persToTrans
(
const
Trk::DetailedTrackTruthCollection_p3
* pers,
28
DetailedTrackTruthCollection
* trans,
29
MsgStream&
msg
)
30
{
31
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p3::persToTrans(): PERS size = "
<<pers->
m_entries
.size()<<
endmsg
;
32
33
trans->clear();
34
35
dataLinkConverter.persToTrans(pers->
m_trackCollectionLink
,
TrackTruthCollectionAccessor::trackCollectionLink
(trans),
msg
);
36
37
for
(Trk::DetailedTrackTruthCollection_p3::CollectionType::const_iterator i=pers->
m_entries
.begin(); i!=pers->
m_entries
.end(); ++i) {
38
DetailedTrackTruth
dt;
39
detailedTruthConverter.persToTrans(&i->detailedTruth, &dt,
msg
);
40
trans->insert(trans->end(), std::make_pair(i->key.m_index, dt) );
41
}
42
43
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p3::persToTrans() DONE"
<<
endmsg
;
44
}
45
46
void
DetailedTrackTruthCollectionCnv_p3::transToPers
(
const
DetailedTrackTruthCollection
* trans,
47
Trk::DetailedTrackTruthCollection_p3
* pers,
48
MsgStream&
msg
)
49
{
50
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p3::transToPers()"
<<
endmsg
;
51
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p3::transToPers(): input size = "
<<trans->size()<<
endmsg
;
52
53
dataLinkConverter.transToPers(trans->
trackCollectionLink
(), pers->
m_trackCollectionLink
,
msg
);
54
55
pers->
m_entries
.resize(trans->size());
56
Trk::DetailedTrackTruthCollection_p3::CollectionType::size_type ipers(0);
57
58
for
(DetailedTrackTruthCollection::const_iterator itrans=trans->begin(); itrans!=trans->end(); ++itrans, ++ipers) {
59
Trk::DetailedTrackTruthCollection_p3::Entry
& current = pers->
m_entries
[ipers];
60
current.key.m_index = itrans->first.index();
// extract index from ElementLink
61
detailedTruthConverter.transToPers(&itrans->second, ¤t.detailedTruth,
msg
);
62
}
63
64
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p3::transToPers() DONE"
<<
endmsg
;
65
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
DataLinkCnv_p1.h
This file contains the class definition for the DataLinkCnv_p1 class and DataLinkVectorCnv_p1 class.
DetailedTrackTruthCnv_p3.h
DetailedTrackTruthCollectionCnv_p3.h
DetailedTrackTruthCollection.h
DetailedTrackTruthCollection_p3.h
StoreGateSvc.h
TrackTruthCollectionAccessor.h
DataLinkCnv_p1
Definition
DataLinkCnv_p1.h:23
DetailedTrackTruthCnv_p3
Definition
DetailedTrackTruthCnv_p3.h:24
DetailedTrackTruthCollectionCnv_p3::persToTrans
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p3 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
Definition
DetailedTrackTruthCollectionCnv_p3.cxx:27
DetailedTrackTruthCollectionCnv_p3::transToPers
virtual void transToPers(const DetailedTrackTruthCollection *transObj, Trk::DetailedTrackTruthCollection_p3 *persObj, MsgStream &msg)
Method creating the persistent representation DetailedTrackTruthCollection_p3 from its transient repr...
Definition
DetailedTrackTruthCollectionCnv_p3.cxx:46
DetailedTrackTruthCollection
Definition
DetailedTrackTruthCollection.h:20
DetailedTrackTruthCollection::trackCollectionLink
DataLink< TrackCollection > trackCollectionLink() const
Definition
DetailedTrackTruthCollection.h:25
DetailedTrackTruth
Definition
DetailedTrackTruth.h:16
TrackTruthCollectionAccessor::trackCollectionLink
static DataLink< TrackCollection > & trackCollectionLink(TrackTruthCollection *truthColl)
Definition
TrackTruthCollectionAccessor.h:21
Trk::DetailedTrackTruthCollection_p3
Definition
DetailedTrackTruthCollection_p3.h:24
Trk::DetailedTrackTruthCollection_p3::m_entries
CollectionType m_entries
Definition
DetailedTrackTruthCollection_p3.h:38
Trk::DetailedTrackTruthCollection_p3::m_trackCollectionLink
DataLink_p1 m_trackCollectionLink
Definition
DetailedTrackTruthCollection_p3.h:27
Trk::DetailedTrackTruthCollection_p3::Entry
Definition
DetailedTrackTruthCollection_p3.h:32
msg
MsgStream & msg
Definition
testRead.cxx:32
Generated on
for ATLAS Offline Software by
1.17.0