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