ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkTruthTPCnv
src
DetailedTrackTruthCollectionCnv_p2.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
9
#include "
TrkTruthData/DetailedTrackTruthCollection.h
"
10
11
#include "
TrkTruthTPCnv/DetailedTrackTruthCollectionCnv_p2.h
"
12
#include "
TrkTruthTPCnv/DetailedTrackTruthCollection_p2.h
"
13
14
#include "
DataModelAthenaPool/DataLinkCnv_p1.h
"
15
#include "
TrkTruthTPCnv/DetailedTrackTruthCnv_p2.h
"
16
17
#include "
StoreGate/StoreGateSvc.h
"
18
19
#include "
TrackTruthCollectionAccessor.h
"
20
21
namespace
{
22
const
DataLinkCnv_p1<DataLink<TrackCollection>
> dataLinkConverter;
23
const
DetailedTrackTruthCnv_p2
detailedTruthConverter;
24
}
25
26
void
DetailedTrackTruthCollectionCnv_p2::persToTrans
(
const
Trk::DetailedTrackTruthCollection_p2
* pers,
27
DetailedTrackTruthCollection
* trans,
28
MsgStream&
msg
)
29
{
30
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p2::persToTrans(): PERS size = "
<<pers->
m_entries
.size()<<
endmsg
;
31
32
trans->clear();
33
34
dataLinkConverter.persToTrans(pers->
m_trackCollectionLink
,
TrackTruthCollectionAccessor::trackCollectionLink
(trans),
msg
);
35
36
for
(Trk::DetailedTrackTruthCollection_p2::CollectionType::const_iterator i=pers->
m_entries
.begin(); i!=pers->
m_entries
.end(); ++i) {
37
DetailedTrackTruth
dt;
38
detailedTruthConverter.persToTrans(&i->detailedTruth, &dt,
msg
);
39
trans->insert(trans->end(), std::make_pair(i->key.m_index, dt) );
40
}
41
42
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p2::persToTrans() DONE"
<<
endmsg
;
43
}
44
45
void
DetailedTrackTruthCollectionCnv_p2::transToPers
(
const
DetailedTrackTruthCollection
* trans,
46
Trk::DetailedTrackTruthCollection_p2
* pers,
47
MsgStream&
msg
)
48
{
49
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p2::transToPers()"
<<
endmsg
;
50
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p2::transToPers(): input size = "
<<trans->size()<<
endmsg
;
51
52
dataLinkConverter.transToPers(trans->
trackCollectionLink
(), pers->
m_trackCollectionLink
,
msg
);
53
54
pers->
m_entries
.resize(trans->size());
55
Trk::DetailedTrackTruthCollection_p2::CollectionType::size_type ipers(0);
56
57
for
(DetailedTrackTruthCollection::const_iterator itrans=trans->begin(); itrans!=trans->end(); ++itrans, ++ipers) {
58
Trk::DetailedTrackTruthCollection_p2::Entry
& current = pers->
m_entries
[ipers];
59
current.key.m_index = itrans->first.index();
// extract index from ElementLink
60
detailedTruthConverter.transToPers(&itrans->second, ¤t.detailedTruth,
msg
);
61
}
62
63
msg
<<MSG::DEBUG<<
"DetailedTrackTruthCollectionCnv_p2::transToPers() DONE"
<<
endmsg
;
64
}
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_p2.h
DetailedTrackTruthCollectionCnv_p2.h
DetailedTrackTruthCollection.h
DetailedTrackTruthCollection_p2.h
StoreGateSvc.h
TrackTruthCollectionAccessor.h
DataLinkCnv_p1
Definition
DataLinkCnv_p1.h:23
DetailedTrackTruthCnv_p2
Definition
DetailedTrackTruthCnv_p2.h:23
DetailedTrackTruthCollectionCnv_p2::persToTrans
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p2 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
Definition
DetailedTrackTruthCollectionCnv_p2.cxx:26
DetailedTrackTruthCollectionCnv_p2::transToPers
virtual void transToPers(const DetailedTrackTruthCollection *transObj, Trk::DetailedTrackTruthCollection_p2 *persObj, MsgStream &msg)
Method creating the persistent representation DetailedTrackTruthCollection_p2 from its transient repr...
Definition
DetailedTrackTruthCollectionCnv_p2.cxx:45
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_p2
Definition
DetailedTrackTruthCollection_p2.h:24
Trk::DetailedTrackTruthCollection_p2::m_entries
CollectionType m_entries
Definition
DetailedTrackTruthCollection_p2.h:38
Trk::DetailedTrackTruthCollection_p2::m_trackCollectionLink
DataLink_p1 m_trackCollectionLink
Definition
DetailedTrackTruthCollection_p2.h:27
Trk::DetailedTrackTruthCollection_p2::Entry
Definition
DetailedTrackTruthCollection_p2.h:32
msg
MsgStream & msg
Definition
testRead.cxx:32
Generated on
for ATLAS Offline Software by
1.17.0