ATLAS Offline Software
TrackParticleCnv_p3.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRACKPARTICLE_CNV_P3_REC_H
6 #define TRACKPARTICLE_CNV_P3_REC_H
7 
10 
11 #include "Particle/TrackParticle.h"
13 
16 
19 #include "VxVertex/VxContainer.h"
20 
22 #include <vector>
23 
24 class MsgStream;
25 
27 public T_AthenaPoolTPCnvBase<Rec::TrackParticle, Rec::TrackParticle_p3> {
28 public:
30  virtual void persToTrans( const Rec :: TrackParticle_p3 *persObj, Rec :: TrackParticle *transObj, MsgStream &log );
31  virtual void transToPers( const Rec :: TrackParticle *transObj, Rec :: TrackParticle_p3 *persObj, MsgStream &log );
32 
34  // Because we want to use a single convertor for all parameter types, we need to force the retrieval
35  // of a convertor for TrackParameters. Can't just instantiate the right one (I think) because it needs
36  // to be the exact convertor which belongs to the TL object, so that it has right place to store
37  // ObjRefs.
39  if (!m_parameterCnv) m_parameterCnv = dynamic_cast<TrackParametersCnv_p2*>(dummy); //FIXME - doesn't work for some reason...
40  // std::cout<<"TrackParticleCnv_p3::initPrivateConverters - have set m_parameterCnv to "<<m_parameterCnv<<std::endl;
41  }
42 
43 private:
44 
45  // typedef T_AthenaPoolTPPolyVectorCnv< std::vector<const Trk::ParametersBase*>, std::vector<TPObjRef>, TrackParametersCnv_p2 > vecParametersBaseCnv_p2;
46 
50 
53 };
54 
55 #endif
TopLevelTPCnvBase::converterForType
ITPConverter * converterForType(const std::type_info &info) const
Find and return a TP converter for a given C++ type info.
Definition: TopLevelTPCnvBase.h:80
ElementLinkCnv_p3
Definition: ElementLinkCnv_p3.h:27
ElementLinkCnv_p3.h
This file contains the class definition for the ElementLinkCnv_p3 class.
TrackParameters.h
TrackParticle.h
TrackParametersCnv_p2.h
AthenaBarCodeCnv_p1
Definition: AthenaBarCodeCnv_p1.h:20
TrackParametersCnv_p2
New convertor which handles all track parameters in one go - i.e.
Definition: TrackParametersCnv_p2.h:30
TPConverterBase
Definition: TPConverter.h:738
TrackParticleCnv_p3::m_trackSummaryCnv
TrackSummaryCnv_p2 * m_trackSummaryCnv
Definition: TrackParticleCnv_p3.h:47
ITPConverterFor::topConverter
virtual TopLevelTPCnvBase * topConverter()
return the top-level converter for this elemental TP converter
Definition: TPConverter.h:191
TrackParticleCnv_p3::m_elementLinkTrackCollectionConverter
ElementLinkCnv_p3< ElementLink< TrackCollection > > m_elementLinkTrackCollectionConverter
Definition: TrackParticleCnv_p3.h:48
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
TrackSummaryCnv_p2.h
TrackParticleCnv_p3::initPrivateConverters
virtual void initPrivateConverters(AthenaPoolTopLevelTPCnvBase *)
Definition: TrackParticleCnv_p3.h:33
TrackParticleCnv_p3::TrackParticleCnv_p3
TrackParticleCnv_p3()
Definition: TrackParticleCnv_p3.h:29
TrackParticleCnv_p3::m_parameterCnv
TrackParametersCnv_p2 * m_parameterCnv
Definition: TrackParticleCnv_p3.h:51
TrackParticleCnv_p3::persToTrans
virtual void persToTrans(const Rec ::TrackParticle_p3 *persObj, Rec ::TrackParticle *transObj, MsgStream &log)
Definition: TrackParticleCnv_p3.cxx:12
T_AthenaPoolTPConverter.h
TrackParticle_p3.h
TrackCollection.h
TrackParticleCnv_p3::transToPers
virtual void transToPers(const Rec ::TrackParticle *transObj, Rec ::TrackParticle_p3 *persObj, MsgStream &log)
Definition: TrackParticleCnv_p3.cxx:85
python.xAODType.dummy
dummy
Definition: xAODType.py:4
VxContainer.h
Trk::ParametersBase
Definition: ParametersBase.h:55
TrackParticleCnv_p3::m_elementLinkVxContainerConverter
ElementLinkCnv_p3< ElementLink< VxContainer > > m_elementLinkVxContainerConverter
Definition: TrackParticleCnv_p3.h:49
TopLevelTPCnvBase
Base class for top-level TP converters.
Definition: TopLevelTPCnvBase.h:32
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TrackSummaryCnv_p2
Definition: TrackSummaryCnv_p2.h:15
ITPConverter
Definition: TPTools/TPTools/ITPConverter.h:32
AthenaBarCodeCnv_p1.h
TrackParticleCnv_p3
Definition: TrackParticleCnv_p3.h:27
TrackParticleCnv_p3::m_AthenaBarCodeCnv
AthenaBarCodeCnv_p1 m_AthenaBarCodeCnv
Definition: TrackParticleCnv_p3.h:52