ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkEventTPCnv
TrkEventTPCnv
TrkSurfaces
BoundSurfaceCnv_p2.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 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
// Special case for SaggedLineSurface: the detector elements we get back
81
// are now StraightLineSurface's.
82
class
BoundSaggedLineSurfaceCnv_p2
83
:
public
BoundSurfaceCnv_p2
< Trk::StraightLineSurface, CylinderBoundsCnv_p1 > {
84
public
:
85
virtual
const
std::type_info&
transientTInfo
()
const override
86
{
return
typeid
(
Trk::SaggedLineSurface
); }
87
};
88
89
90
// PerigeeSurface is boundless.
91
92
93
#endif
94
95
96
97
BoundSurface_p2.h
ConeBoundsCnv_p1.h
ConeSurface.h
CylinderBoundsCnv_p1.h
CylinderSurface.h
DiscBoundsCnv_p1.h
DiscSurface.h
PerigeeSurface.h
PlaneSurface.h
SaggedLineSurface.h
StraightLineSurface.h
SurfaceCnv_p2.h
T_AthenaPoolTPConverter.h
T_AthenaPoolTPPolyCnvBase
TPPolyCnvBase< TRANS_BASE, TRANS, PERS > T_AthenaPoolTPPolyCnvBase
Definition
T_AthenaPoolTPConverter.h:38
BoundConeSurfaceCnv_p2
Definition
BoundSurfaceCnv_p2.h:78
BoundCylinderSurfaceCnv_p2
Definition
BoundSurfaceCnv_p2.h:69
BoundDiscSurfaceCnv_p2
Definition
BoundSurfaceCnv_p2.h:66
BoundPlaneSurfaceCnv_p2
Definition
BoundSurfaceCnv_p2.h:75
BoundSaggedLineSurfaceCnv_p2
Definition
BoundSurfaceCnv_p2.h:83
BoundSaggedLineSurfaceCnv_p2::transientTInfo
virtual const std::type_info & transientTInfo() const override
return C++ type id of the transient class this converter is for
Definition
BoundSurfaceCnv_p2.h:85
BoundStraightLineSurfaceCnv_p2
Definition
BoundSurfaceCnv_p2.h:72
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::m_surfaceCnv
SurfaceCnv_p2< SURFACE > m_surfaceCnv
Definition
BoundSurfaceCnv_p2.h:62
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::transToPers
void transToPers(const SURFACE *, Trk::BoundSurface_p2 *, MsgStream &)
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::createTransient
SURFACE * createTransient(const Trk::BoundSurface_p2 *persObj, MsgStream &log)
BoundSurfaceCnv_p2< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::persToTrans
void persToTrans(const Trk::BoundSurface_p2 *, SURFACE *, MsgStream &)
BoundSurfaceCnv_p2::transToPers
void transToPers(const SURFACE *, Trk::BoundSurface_p2 *, MsgStream &)
Definition
BoundSurfaceCnv_p2.cxx:42
BoundSurfaceCnv_p2::BoundSurfaceCnv_p2
BoundSurfaceCnv_p2()
Definition
BoundSurfaceCnv_p2.h:38
BoundSurfaceCnv_p2::persToTrans
void persToTrans(const Trk::BoundSurface_p2 *, SURFACE *, MsgStream &)
Definition
BoundSurfaceCnv_p2.cxx:23
BoundSurfaceCnv_p2::m_boundsCnv
BOUNDS_CNV * m_boundsCnv
Definition
BoundSurfaceCnv_p2.h:46
BoundSurfaceCnv_p2::m_surfaceCnv
SurfaceCnv_p2< SURFACE > m_surfaceCnv
Definition
BoundSurfaceCnv_p2.h:45
BoundSurfaceCnv_p2::createTransient
SURFACE * createTransient(const Trk::BoundSurface_p2 *persObj, MsgStream &log)
Definition
BoundSurfaceCnv_p2.cxx:30
ITPConverterFor< TRANS_BASE >::ITPConverterFor
ITPConverterFor()
Definition
TPConverter.h:43
Trk::BoundSurface_p2
Definition
BoundSurface_p2.h:19
Trk::SaggedLineSurface
The distorted surface itself is the nominal surface.
Definition
SaggedLineSurface.h:33
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Generated on
for ATLAS Offline Software by
1.17.0