ATLAS Offline Software
Tracking
TrkEventCnv
TrkEventTPCnv
TrkEventTPCnv
TrkSurfaces
BoundSurfaceCnv_p2.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef BOUND_SURFACE_CNV_P2_H
6
#define BOUND_SURFACE_CNV_P2_H
7
8
//-----------------------------------------------------------------------------
9
//
10
// file: BoundSurfaceCnv_p2.h
11
//
12
//-----------------------------------------------------------------------------
13
14
#include "
AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h
"
15
16
#include "
TrkSurfaces/StraightLineSurface.h
"
17
#include "
TrkSurfaces/DiscSurface.h
"
18
#include "
TrkSurfaces/PlaneSurface.h
"
19
#include "
TrkSurfaces/CylinderSurface.h
"
20
#include "
TrkSurfaces/ConeSurface.h
"
21
#include "
TrkSurfaces/PerigeeSurface.h
"
22
#include "
TrkDistortedSurfaces/SaggedLineSurface.h
"
23
24
#include "
TrkEventTPCnv/TrkSurfaces/BoundSurface_p2.h
"
25
26
#include "
SurfaceCnv_p2.h
"
27
#include "
CylinderBoundsCnv_p1.h
"
28
#include "
DiscBoundsCnv_p1.h
"
29
#include "
ConeBoundsCnv_p1.h
"
30
31
class
MsgStream;
32
33
template
<
class
SURFACE,
class
BOUNDS_CNV = ITPConverterFor<Trk::SurfaceBounds> >
34
class
BoundSurfaceCnv_p2
35
:
public
T_AthenaPoolTPPolyCnvBase
< Trk::Surface, SURFACE, Trk::BoundSurface_p2>
36
{
37
public
:
38
BoundSurfaceCnv_p2
() :
m_boundsCnv
(0) {}
39
40
void
persToTrans
(
const
Trk::BoundSurface_p2
*, SURFACE *, MsgStream & );
41
void
transToPers
(
const
SURFACE *,
Trk::BoundSurface_p2
*, MsgStream & );
42
SURFACE*
createTransient
(
const
Trk::BoundSurface_p2
* persObj, MsgStream&
log
);
43
44
private
:
45
SurfaceCnv_p2 < SURFACE >
m_surfaceCnv
;
// Base class convertor
46
BOUNDS_CNV *
m_boundsCnv
;
47
};
48
49
50
51
52
template
<
class
SURFACE >
53
class
BoundSurfaceCnv_p2
< SURFACE,
ITPConverterFor
<
Trk
::SurfaceBounds> >
54
:
public
T_AthenaPoolTPPolyCnvBase
< Trk::Surface, SURFACE, Trk::BoundSurface_p2>
55
{
56
public
:
57
void
persToTrans
(
const
Trk::BoundSurface_p2
*, SURFACE *, MsgStream & );
58
void
transToPers
(
const
SURFACE *,
Trk::BoundSurface_p2
*, MsgStream & );
59
SURFACE*
createTransient
(
const
Trk::BoundSurface_p2
* persObj, MsgStream&
log
);
60
61
private
:
62
SurfaceCnv_p2 <SURFACE>
m_surfaceCnv
;
63
};
64
65
class
BoundDiscSurfaceCnv_p2
66
:
public
BoundSurfaceCnv_p2
< Trk::DiscSurface, DiscBoundsCnv_p1 > {};
67
68
class
BoundCylinderSurfaceCnv_p2
69
:
public
BoundSurfaceCnv_p2
< Trk::CylinderSurface, CylinderBoundsCnv_p1 > {};
70
71
class
BoundStraightLineSurfaceCnv_p2
72
:
public
BoundSurfaceCnv_p2
< Trk::StraightLineSurface, CylinderBoundsCnv_p1 > {};
73
74
class
BoundPlaneSurfaceCnv_p2
75
:
public
BoundSurfaceCnv_p2
< Trk::PlaneSurface > {};
76
77
class
BoundConeSurfaceCnv_p2
78
:
public
BoundSurfaceCnv_p2
< Trk::ConeSurface, ConeBoundsCnv_p1 > {};
79
80
class
BoundSaggedLineSurfaceCnv_p2
81
:
public
BoundSurfaceCnv_p2
< Trk::SaggedLineSurface, CylinderBoundsCnv_p1 > {};
82
83
84
// PerigeeSurface is boundless.
85
86
87
#endif
88
89
90
91
BoundSurfaceCnv_p2::m_surfaceCnv
SurfaceCnv_p2< SURFACE > m_surfaceCnv
Definition:
BoundSurfaceCnv_p2.h:45
ITPConverterFor
Definition:
TPConverter.h:37
StraightLineSurface.h
PerigeeSurface.h
BoundSurfaceCnv_p2::persToTrans
void persToTrans(const Trk::BoundSurface_p2 *, SURFACE *, MsgStream &)
Definition:
BoundSurfaceCnv_p2.cxx:23
BoundSurfaceCnv_p2
Definition:
ConeSurface.h:27
BoundSurfaceCnv_p2::transToPers
void transToPers(const SURFACE *, Trk::BoundSurface_p2 *, MsgStream &)
Definition:
BoundSurfaceCnv_p2.cxx:42
BoundSurfaceCnv_p2::m_boundsCnv
BOUNDS_CNV * m_boundsCnv
Definition:
BoundSurfaceCnv_p2.h:46
Trk::BoundSurface_p2
Definition:
BoundSurface_p2.h:19
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::m_surfaceCnv
SurfaceCnv_p2< SURFACE > m_surfaceCnv
Definition:
BoundSurfaceCnv_p2.h:62
BoundSurface_p2.h
TPPolyCnvBase
Definition:
TPConverter.h:674
ConeSurface.h
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::transToPers
void transToPers(const SURFACE *, Trk::BoundSurface_p2 *, MsgStream &)
ConeBoundsCnv_p1.h
T_AthenaPoolTPConverter.h
CylinderSurface.h
BoundSurfaceCnv_p2::createTransient
SURFACE * createTransient(const Trk::BoundSurface_p2 *persObj, MsgStream &log)
Definition:
BoundSurfaceCnv_p2.cxx:30
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition:
FakeTrackBuilder.h:9
DiscBoundsCnv_p1.h
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::persToTrans
void persToTrans(const Trk::BoundSurface_p2 *, SURFACE *, MsgStream &)
SurfaceCnv_p2.h
SurfaceCnv_p2
Definition:
SurfaceCnv_p2.h:33
BoundSaggedLineSurfaceCnv_p2
Definition:
BoundSurfaceCnv_p2.h:81
BoundStraightLineSurfaceCnv_p2
Definition:
BoundSurfaceCnv_p2.h:72
SaggedLineSurface.h
PlaneSurface.h
python.CaloCondTools.log
log
Definition:
CaloCondTools.py:20
DiscSurface.h
BoundConeSurfaceCnv_p2
Definition:
BoundSurfaceCnv_p2.h:78
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::createTransient
SURFACE * createTransient(const Trk::BoundSurface_p2 *persObj, MsgStream &log)
BoundSurfaceCnv_p2::BoundSurfaceCnv_p2
BoundSurfaceCnv_p2()
Definition:
BoundSurfaceCnv_p2.h:38
BoundDiscSurfaceCnv_p2
Definition:
BoundSurfaceCnv_p2.h:66
CylinderBoundsCnv_p1.h
BoundCylinderSurfaceCnv_p2
Definition:
BoundSurfaceCnv_p2.h:69
BoundPlaneSurfaceCnv_p2
Definition:
BoundSurfaceCnv_p2.h:75
Generated on Sun Dec 22 2024 21:07:31 for ATLAS Offline Software by
1.8.18