ATLAS Offline Software
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 
17 #include "StoreGate/StoreGateSvc.h"
18 
20 
21 namespace {
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 }
DetailedTrackTruthCollectionCnv_p2.h
fillPileUpNoiseLumi.current
current
Definition: fillPileUpNoiseLumi.py:52
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
DetailedTrackTruthCollection_p2.h
DataLinkCnv_p1.h
This file contains the class definition for the DataLinkCnv_p1 class and DataLinkVectorCnv_p1 class.
Trk::DetailedTrackTruthCollection_p2::m_trackCollectionLink
DataLink_p1 m_trackCollectionLink
Definition: DetailedTrackTruthCollection_p2.h:27
Trk::DetailedTrackTruthCollection_p2::Entry
Definition: DetailedTrackTruthCollection_p2.h:32
DetailedTrackTruthCollection.h
TrackTruthCollectionAccessor::trackCollectionLink
static DataLink< TrackCollection > & trackCollectionLink(TrackTruthCollection *truthColl)
Definition: TrackTruthCollectionAccessor.h:21
lumiFormat.i
int i
Definition: lumiFormat.py:92
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
CaloNoise_fillDB.dt
dt
Definition: CaloNoise_fillDB.py:58
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
Trk::DetailedTrackTruthCollection_p2::m_entries
CollectionType m_entries
Definition: DetailedTrackTruthCollection_p2.h:38
Trk::DetailedTrackTruthCollection_p2
Definition: DetailedTrackTruthCollection_p2.h:24
DetailedTrackTruthCnv_p2.h
DetailedTrackTruth
Definition: DetailedTrackTruth.h:16
DetailedTrackTruthCnv_p2
Definition: DetailedTrackTruthCnv_p2.h:23
TrackTruthCollectionAccessor.h
DetailedTrackTruthCollection::trackCollectionLink
DataLink< TrackCollection > trackCollectionLink() const
Definition: DetailedTrackTruthCollection.h:25
DEBUG
#define DEBUG
Definition: page_access.h:11
DetailedTrackTruthCollection
Definition: DetailedTrackTruthCollection.h:20
StoreGateSvc.h
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
DataLinkCnv_p1
Definition: DataLinkCnv_p1.h:23