ATLAS Offline Software
DetElementSurfaceCnv_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 TRK_DETELEMENTSURFACECNV_P1_H
6 #define TRK_DETELEMENTSURFACECNV_P1_H
7 
8 //-----------------------------------------------------------------------------
9 //
10 // file: DetElementSurfaceCnv_p1.h
11 //
12 //-----------------------------------------------------------------------------
13 
16 #include "TrkSurfaces/Surface.h"
17 #include "GaudiKernel/ToolHandle.h"
18 #include "TrkEventCnvTools/IEventCnvSuperTool.h" // for some reason cant be forward declared (template business)
20 
21 class MsgStream;
22 
23 // #include "TrkSurfaces/StraightLineSurface.h"
24 // #include "TrkSurfaces/DiscSurface.h"
25 // #include "TrkSurfaces/PlaneSurface.h"
26 // #include "TrkSurfaces/CylinderSurface.h"
27 
28 // template< class SURFACE >
29 // class DetElementSurfaceCnv_p1
30 // : public T_AthenaPoolTPAbstractPolyCnvBase< Trk::Surface, Trk::DetElementSurface<SURFACE>, Trk::DetElementSurface_p1 >
31 // {
32 // public:
33 // DetElementSurfaceCnv_p1() {}
34 // //Trk::DetElementSurface<SURFACE> * createTransient( const Trk::DetElementSurface_p1 *persObj, MsgStream & log );
35 // void persToTrans( const Trk::DetElementSurface_p1 *persObj, Trk::DetElementSurface<SURFACE> *transObj, MsgStream &log ) {}
36 // void transToPers( const Trk::DetElementSurface<SURFACE> *transObj, Trk::DetElementSurface_p1 *persObj, MsgStream &log );
37 // };
38 //
39 // class DetElementStraightLineSurfaceCnv_p1 : public DetElementSurfaceCnv_p1<Trk::StraightLineSurface> {};
40 // class DetElementDiscSurfaceCnv_p1 : public DetElementSurfaceCnv_p1<Trk::DiscSurface>();
41 // class DetElementPlaneSurfaceCnv_p1 : public DetElementSurfaceCnv_p1<Trk::PlaneSurface>();
42 // class DetElementCylinderSurfaceCnv_p1 : public DetElementSurfaceCnv_p1<Trk::CylinderSurface>();
43 
45  : public T_AthenaPoolTPPolyCnvBase< Trk::Surface, Trk::DetElementSurface, Trk::DetElementSurface_p1 >
46 {
47 public:
48  DetElementSurfaceCnv_p1() : m_eventCnvTool("Trk::EventCnvSuperTool/EventCnvSuperTool"){}
49  virtual Trk::DetElementSurface * createTransient( const Trk::DetElementSurface_p1 *persObj, MsgStream & log ); // DO NOT USE
50  const Trk::Surface* createSurface( MsgStream & log ); // DO USE!!!
51  virtual void persToTrans( const Trk::DetElementSurface_p1 *persObj, Trk::DetElementSurface *transObj, MsgStream &log );
52  virtual void transToPers( const Trk::DetElementSurface *transObj, Trk::DetElementSurface_p1 *persObj, MsgStream &log );
53  //virtual Trk::Surface* virt_createTransFromPStore( unsigned index, MsgStream &log ){}
54 private:
55  ToolHandle<Trk::IEventCnvSuperTool> m_eventCnvTool;
57 };
58 
59 
60 #endif
DetElementSurfaceCnv_p1::createSurface
const Trk::Surface * createSurface(MsgStream &log)
Definition: DetElementSurfaceCnv_p1.cxx:19
Surface.h
DetElementSurfaceCnv_p1::transToPers
virtual void transToPers(const Trk::DetElementSurface *transObj, Trk::DetElementSurface_p1 *persObj, MsgStream &log)
Definition: DetElementSurfaceCnv_p1.cxx:35
Trk::DetElementSurface_p1
Definition: DetElementSurface_p1.h:18
DetElementSurface_p1.h
IEventCnvSuperTool.h
TPPolyCnvBase
Definition: TPConverter.h:674
DetElementSurfaceCnv_p1::persToTrans
virtual void persToTrans(const Trk::DetElementSurface_p1 *persObj, Trk::DetElementSurface *transObj, MsgStream &log)
Definition: DetElementSurfaceCnv_p1.cxx:27
DetElementSurfaceCnv_p1::createTransient
virtual Trk::DetElementSurface * createTransient(const Trk::DetElementSurface_p1 *persObj, MsgStream &log)
Definition: DetElementSurfaceCnv_p1.cxx:10
T_AthenaPoolTPConverter.h
Trk::DetElementSurface
Definition: DetElementSurface.h:32
DetElementSurfaceCnv_p1::m_id
Identifier m_id
Used in a horrible hack, in createSurface()
Definition: DetElementSurfaceCnv_p1.h:56
DetElementSurfaceCnv_p1
Definition: DetElementSurfaceCnv_p1.h:46
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
DetElementSurfaceCnv_p1::DetElementSurfaceCnv_p1
DetElementSurfaceCnv_p1()
Definition: DetElementSurfaceCnv_p1.h:48
DetElementSurfaceCnv_p1::m_eventCnvTool
ToolHandle< Trk::IEventCnvSuperTool > m_eventCnvTool
Definition: DetElementSurfaceCnv_p1.h:55
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
DetElementSurface.h
Identifier
Definition: IdentifierFieldParser.cxx:14