ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
TrackParticleTPCnv
TrackParticleTPCnv
Particle
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
8
#include "
AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h
"
9
#include "
DataModelAthenaPool/AthenaBarCodeCnv_p1.h
"
10
11
#include "
Particle/TrackParticle.h
"
12
#include "
TrkEventTPCnv/TrkParameters/TrackParametersCnv_p2.h
"
13
14
#include "
TrackParticleTPCnv/Particle/TrackParticle_p3.h
"
15
#include "
DataModelAthenaPool/ElementLinkCnv_p3.h
"
16
17
#include "
TrkEventTPCnv/TrkTrackSummary/TrackSummaryCnv_p2.h
"
18
#include "
TrkTrack/TrackCollection.h
"
19
#include "
VxVertex/VxContainer.h
"
20
21
#include "
TrkParameters/TrackParameters.h
"
22
#include <vector>
23
24
class
MsgStream;
25
26
class
TrackParticleCnv_p3
:
27
public
T_AthenaPoolTPCnvBase
<Rec::TrackParticle, Rec::TrackParticle_p3> {
28
public
:
29
TrackParticleCnv_p3
() :
m_trackSummaryCnv
(0),
m_parameterCnv
(0) {}
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
33
virtual
void
initPrivateConverters
(
TopLevelTPCnvBase
* ) {
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.
38
ITPConverter
* dummy =
topConverter
()->
converterForType
(
typeid
(
Trk::TrackParameters
));
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
47
TrackSummaryCnv_p2
*
m_trackSummaryCnv
;
48
ElementLinkCnv_p3<ElementLink< TrackCollection >
>
m_elementLinkTrackCollectionConverter
;
49
ElementLinkCnv_p3<ElementLink< VxContainer >
>
m_elementLinkVxContainerConverter
;
50
51
TrackParametersCnv_p2
*
m_parameterCnv
;
52
AthenaBarCodeCnv_p1
m_AthenaBarCodeCnv
;
53
};
54
55
#endif
AthenaBarCodeCnv_p1.h
ElementLinkCnv_p3.h
This file contains the class definition for the ElementLinkCnv_p3 class.
TrackParticle.h
T_AthenaPoolTPConverter.h
T_AthenaPoolTPCnvBase
TPConverterBase< TRANS, PERS > T_AthenaPoolTPCnvBase
Definition
T_AthenaPoolTPConverter.h:41
TrackCollection.h
TrackParametersCnv_p2.h
TrackParticle_p3.h
TrackSummaryCnv_p2.h
TrackParameters.h
VxContainer.h
AthenaBarCodeCnv_p1
Definition
AthenaBarCodeCnv_p1.h:20
ElementLinkCnv_p3
Definition
ElementLinkCnv_p3.h:27
TPPolyCnvBase< TRANS, TRANS, PERS >::topConverter
virtual TopLevelTPCnvBase * topConverter()
Definition
TPConverter.h:191
ITPConverter
Base interface class for all TP converters - typeless.
Definition
ITPConverter.h:32
TopLevelTPCnvBase
Base class for top-level TP converters.
Definition
TopLevelTPCnvBase.h:32
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
TrackParametersCnv_p2
New convertor which handles all track parameters in one go - i.e.
Definition
TrackParametersCnv_p2.h:30
TrackParticleCnv_p3::m_trackSummaryCnv
TrackSummaryCnv_p2 * m_trackSummaryCnv
Definition
TrackParticleCnv_p3.h:47
TrackParticleCnv_p3::m_elementLinkVxContainerConverter
ElementLinkCnv_p3< ElementLink< VxContainer > > m_elementLinkVxContainerConverter
Definition
TrackParticleCnv_p3.h:49
TrackParticleCnv_p3::TrackParticleCnv_p3
TrackParticleCnv_p3()
Definition
TrackParticleCnv_p3.h:29
TrackParticleCnv_p3::m_elementLinkTrackCollectionConverter
ElementLinkCnv_p3< ElementLink< TrackCollection > > m_elementLinkTrackCollectionConverter
Definition
TrackParticleCnv_p3.h:48
TrackParticleCnv_p3::initPrivateConverters
virtual void initPrivateConverters(TopLevelTPCnvBase *)
Definition
TrackParticleCnv_p3.h:33
TrackParticleCnv_p3::persToTrans
virtual void persToTrans(const Rec ::TrackParticle_p3 *persObj, Rec ::TrackParticle *transObj, MsgStream &log)
Definition
TrackParticleCnv_p3.cxx:12
TrackParticleCnv_p3::m_parameterCnv
TrackParametersCnv_p2 * m_parameterCnv
Definition
TrackParticleCnv_p3.h:51
TrackParticleCnv_p3::m_AthenaBarCodeCnv
AthenaBarCodeCnv_p1 m_AthenaBarCodeCnv
Definition
TrackParticleCnv_p3.h:52
TrackParticleCnv_p3::transToPers
virtual void transToPers(const Rec ::TrackParticle *transObj, Rec ::TrackParticle_p3 *persObj, MsgStream &log)
Definition
TrackParticleCnv_p3.cxx:85
TrackSummaryCnv_p2
Definition
TrackSummaryCnv_p2.h:15
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0