ATLAS Offline Software
ProjectionSurfacesHelper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class ProjectionSurfacesHelper //
9 // //
10 // Description: Helper class used to display surfaces for //
11 // either pixel, sct or trt. //
12 // //
13 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
14 // Initial version: February 2008 //
15 // //
17 
18 #ifndef PROJECTIONSURFACESHELPER_H
19 #define PROJECTIONSURFACESHELPER_H
20 
21 class SoSeparator;
22 class SoMaterial;
23 
24 #include <QObject>
27 
28 class ProjectionSurfacesHelper : public QObject, public VP1HelperClassBase {
29 
30  Q_OBJECT
31 
32 public:
33 
34 
35  //Use one of the following to create an appropriate helper
36  //(projection surfaces will be put under a second internal separator
37  //under attachsep):
38  static ProjectionSurfacesHelper * createPixelHelper(SoMaterial*,SoSeparator * attachsep,QObject*parent=0,IVP1System* sys = 0);
39  static ProjectionSurfacesHelper * createSCTHelper(SoMaterial*,SoSeparator * attachsep,QObject*parent=0,IVP1System* sys = 0);
40  static ProjectionSurfacesHelper * createTRTHelper(SoMaterial*,SoSeparator * attachsep,QObject*parent=0,IVP1System* sys = 0);
41  //(non-zero system pointers to let error messages appear in gui)
42 
43  virtual ~ProjectionSurfacesHelper();
44 
45  //To see what parts are shown or to access (e.g. to edit) the
46  //material of the projection surfaces, use these two methods:
47  InDetProjFlags::InDetProjPartsFlags shownParts() const;
48  SoMaterial * material();
49 
50 public Q_SLOTS:
51  //Use this slot to control what parts are shown (default is none):
52  void setSurfaces(InDetProjFlags::InDetProjPartsFlags);
53 
54 private:
55 
56  ProjectionSurfacesHelper( double surfacethickness,
57  double barrel_inner_radius,
58  double barrel_outer_radius,
59  double barrel_posneg_z,
60  double endcap_surface_z,
61  double endcap_surface_length,
62  double endcap_inner_radius,
63  double endcap_outer_radius,
64  double endcap_zasr_disttobarrelcyl,
65  double endcap_zasr_squeezefact,
66  SoMaterial*, SoSeparator * attachsep, QObject * parent, IVP1System*sys );
67 
68  class Imp;
69  Imp * m_d;
70 
71 };
72 
73 #endif
ProjectionSurfacesHelper::createPixelHelper
static ProjectionSurfacesHelper * createPixelHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
Definition: ProjectionSurfacesHelper.cxx:16
ProjectionSurfacesHelper::createSCTHelper
static ProjectionSurfacesHelper * createSCTHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
Definition: ProjectionSurfacesHelper.cxx:35
ProjectionSurfacesHelper::setSurfaces
void setSurfaces(InDetProjFlags::InDetProjPartsFlags)
Definition: ProjectionSurfacesHelper.cxx:240
ProjectionSurfacesHelper::shownParts
InDetProjFlags::InDetProjPartsFlags shownParts() const
Definition: ProjectionSurfacesHelper.cxx:232
ProjectionSurfacesHelper::ProjectionSurfacesHelper
ProjectionSurfacesHelper(double surfacethickness, double barrel_inner_radius, double barrel_outer_radius, double barrel_posneg_z, double endcap_surface_z, double endcap_surface_length, double endcap_inner_radius, double endcap_outer_radius, double endcap_zasr_disttobarrelcyl, double endcap_zasr_squeezefact, SoMaterial *, SoSeparator *attachsep, QObject *parent, IVP1System *sys)
Definition: ProjectionSurfacesHelper.cxx:155
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
IVP1System
Definition: IVP1System.h:36
ProjectionSurfacesHelper::m_d
Imp * m_d
Definition: ProjectionSurfacesHelper.h:68
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ProjectionSurfacesHelper::material
SoMaterial * material()
Definition: ProjectionSurfacesHelper.cxx:366
VP1HelperClassBase
Definition: VP1HelperClassBase.h:28
ProjectionSurfacesHelper::~ProjectionSurfacesHelper
virtual ~ProjectionSurfacesHelper()
Definition: ProjectionSurfacesHelper.cxx:200
ProjectionSurfacesHelper
Definition: ProjectionSurfacesHelper.h:28
VP1HelperClassBase.h
ProjectionSurfacesHelper::Imp
Definition: ProjectionSurfacesHelper.cxx:73
InDetProjFlags.h
ProjectionSurfacesHelper::createTRTHelper
static ProjectionSurfacesHelper * createTRTHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
Definition: ProjectionSurfacesHelper.cxx:54