ATLAS Offline Software
BoundSurfaceCnv_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 BOUND_SURFACE_CNV_P1_H
6 #define BOUND_SURFACE_CNV_P1_H
7 
8 //-----------------------------------------------------------------------------
9 //
10 // file: BoundSurfaceCnv_p1.h
11 //
12 //-----------------------------------------------------------------------------
13 
15 
20 
22 
23 #include "SurfaceCnv_p1.h"
24 #include "CylinderBoundsCnv_p1.h"
25 #include "DiscBoundsCnv_p1.h"
26 
27 class MsgStream;
28 
29 template< class SURFACE, class BOUNDS_CNV = ITPConverterFor<Trk::SurfaceBounds> >
31  : public T_AthenaPoolTPPolyCnvBase< Trk::Surface, SURFACE, Trk::BoundSurface_p1>
32 {
33 public:
35 
36  void persToTrans( const Trk::BoundSurface_p1 *, SURFACE *, MsgStream & );
37  void transToPers( const SURFACE *, Trk::BoundSurface_p1 *, MsgStream & );
38 
39 private:
40  SurfaceCnv_p1 m_surfaceCnv; // Base class convertor
41  BOUNDS_CNV *m_boundsCnv;
42 };
43 
44 
45 
46 
47 template< class SURFACE >
48 class BoundSurfaceCnv_p1< SURFACE, ITPConverterFor<Trk::SurfaceBounds> >
49  : public T_AthenaPoolTPPolyCnvBase< Trk::Surface, SURFACE, Trk::BoundSurface_p1>
50 {
51 public:
52  void persToTrans( const Trk::BoundSurface_p1 *, SURFACE *, MsgStream & );
53  void transToPers( const SURFACE *, Trk::BoundSurface_p1 *, MsgStream & );
54 
55 private:
57 };
58 
60  : public BoundSurfaceCnv_p1< Trk::DiscSurface, DiscBoundsCnv_p1 > {};
61 
63  : public BoundSurfaceCnv_p1< Trk::CylinderSurface, CylinderBoundsCnv_p1 > {};
64 
66  : public BoundSurfaceCnv_p1< Trk::StraightLineSurface, CylinderBoundsCnv_p1 > {};
67 
69  : public BoundSurfaceCnv_p1< Trk::PlaneSurface > {};
70 
71 #endif
72 
73 
74 
75 
ITPConverterFor
Definition: TPConverter.h:37
StraightLineSurface.h
BoundSurfaceCnv_p1::m_surfaceCnv
SurfaceCnv_p1 m_surfaceCnv
Definition: BoundSurfaceCnv_p1.h:40
BoundSurfaceCnv_p1::BoundSurfaceCnv_p1
BoundSurfaceCnv_p1()
Definition: BoundSurfaceCnv_p1.h:34
BoundSurface_p1.h
BoundSurfaceCnv_p1< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::persToTrans
void persToTrans(const Trk::BoundSurface_p1 *, SURFACE *, MsgStream &)
BoundSurfaceCnv_p1
Definition: ConeSurface.h:25
BoundSurfaceCnv_p1::transToPers
void transToPers(const SURFACE *, Trk::BoundSurface_p1 *, MsgStream &)
Definition: BoundSurfaceCnv_p1.cxx:57
TPPolyCnvBase
Definition: TPConverter.h:674
DiscSurfaceCnv_p1
Definition: BoundSurfaceCnv_p1.h:60
CylinderSurfaceCnv_p1
Definition: BoundSurfaceCnv_p1.h:63
SurfaceCnv_p1
Definition: SurfaceCnv_p1.h:23
T_AthenaPoolTPConverter.h
BoundSurfaceCnv_p1< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::m_surfaceCnv
SurfaceCnv_p1 m_surfaceCnv
Definition: BoundSurfaceCnv_p1.h:56
CylinderSurface.h
BoundSurfaceCnv_p1::m_boundsCnv
BOUNDS_CNV * m_boundsCnv
Definition: BoundSurfaceCnv_p1.h:41
StraightLineSurfaceCnv_p1
Definition: BoundSurfaceCnv_p1.h:66
Trk::BoundSurface_p1
Definition: BoundSurface_p1.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DiscBoundsCnv_p1.h
PlaneSurfaceCnv_p1
Definition: BoundSurfaceCnv_p1.h:69
SurfaceCnv_p1.h
PlaneSurface.h
DiscSurface.h
BoundSurfaceCnv_p1< SURFACE, ITPConverterFor< Trk::SurfaceBounds > >::transToPers
void transToPers(const SURFACE *, Trk::BoundSurface_p1 *, MsgStream &)
BoundSurfaceCnv_p1::persToTrans
void persToTrans(const Trk::BoundSurface_p1 *, SURFACE *, MsgStream &)
Definition: BoundSurfaceCnv_p1.cxx:23
CylinderBoundsCnv_p1.h