ATLAS Offline Software
Tracking
TrkEventCnv
TrkEventTPCnv
TrkEventTPCnv
TrkParameters
AtaSurfaceCnv_p1.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 AtaSurfaceCnv_p1_H
6
#define AtaSurfaceCnv_p1_H
7
8
//-----------------------------------------------------------------------------
9
//
10
// file: AtaSurfaceCnv_p1.h
11
//
12
//-----------------------------------------------------------------------------
13
14
#include "
AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h
"
15
16
#include "
TrkParameters/TrackParameters.h
"
17
#include "
TrackParametersCnv_p1.h
"
18
#include "
TrkEventTPCnv/TrkSurfaces/SurfaceCnv_p1.h
"
19
#include "
TrkEventTPCnv/TrkSurfaces/BoundSurfaceCnv_p1.h
"
20
#include "
TrkEventTPCnv/TrkParameters/AtaSurface_p1.h
"
21
#include "
TrkEventTPCnv/TrkParameters/TrackParametersCnv_p1.h
"
22
23
#include "GaudiKernel/ToolHandle.h"
24
#include "
TrkEventCnvTools/IEventCnvSuperTool.h
"
// for some reason cant be forward declared (template business)
25
26
class
MsgStream;
27
28
template
<
class
SURFACE_CNV,
class
ATA_SURFACE >
29
class
AtaSurfaceCnv_p1
30
:
public
T_AthenaPoolTPPolyCnvBase
< Trk::TrackParameters, ATA_SURFACE, Trk::AtaSurface_p1>
31
{
32
public
:
33
AtaSurfaceCnv_p1
():
m_paramCnv
(0),
m_surfaceCnv
(0),
m_eventCnvTool
(
"Trk::EventCnvSuperTool/EventCnvSuperTool"
) {}
34
35
void
persToTrans
(
const
Trk::AtaSurface_p1
*, ATA_SURFACE *, MsgStream & );
36
void
transToPers
(
const
ATA_SURFACE *,
Trk::AtaSurface_p1
*, MsgStream & );
37
38
private
:
39
TrackParametersCnv_p1
*
m_paramCnv
;
// base class
40
SURFACE_CNV *
m_surfaceCnv
;
// always same type (hence no ITPConverterFor)
41
ToolHandle<Trk::IEventCnvSuperTool>
m_eventCnvTool
;
42
};
43
44
45
// Here we create instances of the various convertors, where the code is in AtaSurfaceCnv.icc
46
// (with a specialisation for AtaStraightLine, which actually behaves like PerigeeCnv)
47
class
AtaDiscCnv_p1
:
public
AtaSurfaceCnv_p1
< DiscSurfaceCnv_p1, Trk::AtaDisc > {};
48
class
AtaCylinderCnv_p1
:
public
AtaSurfaceCnv_p1
< CylinderSurfaceCnv_p1, Trk::AtaCylinder > {};
49
class
AtaPlaneCnv_p1
:
public
AtaSurfaceCnv_p1
< PlaneSurfaceCnv_p1, Trk::AtaPlane > {};
50
class
AtaStraightLineCnv_p1
:
public
AtaSurfaceCnv_p1
< StraightLineSurfaceCnv_p1, Trk::AtaStraightLine > {};
51
class
CurvilinearParametersCnv_p1
:
public
AtaSurfaceCnv_p1
< PlaneSurfaceCnv_p1, Trk::CurvilinearParameters > {};
52
53
#endif
54
55
56
57
58
59
60
61
62
63
64
65
AtaSurfaceCnv_p1::transToPers
void transToPers(const ATA_SURFACE *, Trk::AtaSurface_p1 *, MsgStream &)
Trk::AtaSurface_p1
Definition:
AtaSurface_p1.h:17
TrackParameters.h
AtaStraightLineCnv_p1
Definition:
AtaSurfaceCnv_p1.h:50
AtaSurfaceCnv_p1::persToTrans
void persToTrans(const Trk::AtaSurface_p1 *, ATA_SURFACE *, MsgStream &)
IEventCnvSuperTool.h
TPPolyCnvBase
Definition:
TPConverter.h:674
AtaSurfaceCnv_p1::m_surfaceCnv
SURFACE_CNV * m_surfaceCnv
Definition:
AtaSurfaceCnv_p1.h:40
T_AthenaPoolTPConverter.h
AtaSurfaceCnv_p1
Definition:
ParametersBase.h:26
AtaSurfaceCnv_p1::m_paramCnv
TrackParametersCnv_p1 * m_paramCnv
Definition:
AtaSurfaceCnv_p1.h:39
AtaSurfaceCnv_p1::AtaSurfaceCnv_p1
AtaSurfaceCnv_p1()
Definition:
AtaSurfaceCnv_p1.h:33
AtaPlaneCnv_p1
Definition:
AtaSurfaceCnv_p1.h:49
AtaDiscCnv_p1
Definition:
AtaSurfaceCnv_p1.h:47
AtaSurface_p1.h
SurfaceCnv_p1.h
CurvilinearParametersCnv_p1
Definition:
AtaSurfaceCnv_p1.h:51
AtaSurfaceCnv_p1::m_eventCnvTool
ToolHandle< Trk::IEventCnvSuperTool > m_eventCnvTool
Definition:
AtaSurfaceCnv_p1.h:41
AtaCylinderCnv_p1
Definition:
AtaSurfaceCnv_p1.h:48
TrackParametersCnv_p1.h
BoundSurfaceCnv_p1.h
TrackParametersCnv_p1
Definition:
TrackParametersCnv_p1.h:24
Generated on Thu Nov 7 2024 21:10:17 for ATLAS Offline Software by
1.8.18