ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
13
16
18
20
21namespace {
22 const DataLinkCnv_p1<DataLink<TrackCollection> > dataLinkConverter;
23 const DetailedTrackTruthCnv_p2 detailedTruthConverter;
24}
25
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) {
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
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) {
59 current.key.m_index = itrans->first.index(); // extract index from ElementLink
60 detailedTruthConverter.transToPers(&itrans->second, &current.detailedTruth, msg);
61 }
62
63 msg<<MSG::DEBUG<<"DetailedTrackTruthCollectionCnv_p2::transToPers() DONE"<<endmsg;
64}
#define endmsg
This file contains the class definition for the DataLinkCnv_p1 class and DataLinkVectorCnv_p1 class.
virtual void persToTrans(const Trk::DetailedTrackTruthCollection_p2 *persObj, DetailedTrackTruthCollection *transObj, MsgStream &msg)
Method creating the transient representation of Analysis::DetailedTrackTruthCollection from its persi...
virtual void transToPers(const DetailedTrackTruthCollection *transObj, Trk::DetailedTrackTruthCollection_p2 *persObj, MsgStream &msg)
Method creating the persistent representation DetailedTrackTruthCollection_p2 from its transient repr...
DataLink< TrackCollection > trackCollectionLink() const
static DataLink< TrackCollection > & trackCollectionLink(TrackTruthCollection *truthColl)
MsgStream & msg
Definition testRead.cxx:32