ATLAS Offline Software
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 
15 
23 
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> >
35  : public T_AthenaPoolTPPolyCnvBase< Trk::Surface, SURFACE, Trk::BoundSurface_p2>
36 {
37 public:
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:
63 };
64 
66  : public BoundSurfaceCnv_p2< Trk::DiscSurface, DiscBoundsCnv_p1 > {};
67 
69  : public BoundSurfaceCnv_p2< Trk::CylinderSurface, CylinderBoundsCnv_p1 > {};
70 
72  : public BoundSurfaceCnv_p2< Trk::StraightLineSurface, CylinderBoundsCnv_p1 > {};
73 
75  : public BoundSurfaceCnv_p2< Trk::PlaneSurface > {};
76 
78  : public BoundSurfaceCnv_p2< Trk::ConeSurface, ConeBoundsCnv_p1 > {};
79 
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