ATLAS Offline Software
Loading...
Searching...
No Matches
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
21class SoSeparator;
22class SoMaterial;
23
24#include <QObject>
27
28class ProjectionSurfacesHelper : public QObject, public VP1HelperClassBase {
29
30 Q_OBJECT
31
32public:
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
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
50public Q_SLOTS:
51 //Use this slot to control what parts are shown (default is none):
52 void setSurfaces(InDetProjFlags::InDetProjPartsFlags);
53
54private:
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;
70
71};
72
73#endif
static ProjectionSurfacesHelper * createSCTHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
static ProjectionSurfacesHelper * createTRTHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
void setSurfaces(InDetProjFlags::InDetProjPartsFlags)
static ProjectionSurfacesHelper * createPixelHelper(SoMaterial *, SoSeparator *attachsep, QObject *parent=0, IVP1System *sys=0)
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)
InDetProjFlags::InDetProjPartsFlags shownParts() const
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")