ATLAS Offline Software
Loading...
Searching...
No Matches
GuideSysController.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 GuideSysController //
9// //
10// Description: Guide system controller. //
11// //
12// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13// Initial version: July 2008 //
14// //
15// Updates: //
16// - 2021, Nov - Riccardo Maria BIANCHI <rbianchi@cern.ch> //
17// Added VP1People class to show people //
18// figures at scale //
19// //
21
22#ifndef GUIDESYSCONTROLLER_H
23#define GUIDESYSCONTROLLER_H
24
27#include <Inventor/C/errors/debugerror.h>
28#include <Inventor/SbColor4f.h>
29class SoMaterial;
30
32
33 Q_OBJECT
34
35public:
36
38 virtual ~GuideSysController();
39
41 int currentSettingsVersion() const;
43
45 // Access Methods for settings //
47
48 //Fixme: SoGroup * drawOptions() const;
49
50 //Various materials:
51 SoMaterial * lettersMaterial() const;
52 SoMaterial * peopleMaterial() const;
53 SoMaterial * xAxisMaterial() const;
54 SoMaterial * yAxisMaterial() const;
55 SoMaterial * zAxisMaterial() const;
56 SoMaterial * etaCone1Material() const;
57 SoMaterial * etaCone2Material() const;
58 SoMaterial * etaCone3Material() const;
59 SoMaterial * pixelProjSurfMaterial() const;
60 SoMaterial * sctProjSurfMaterial() const;
61 SoMaterial * trtProjSurfMaterial() const;
62 SoMaterial * idTrkVolumesMaterial() const;
63 SoMaterial * caloTrkVolumesMaterial() const;
64 SoMaterial * msTrkVolumesMaterial() const;
65
66 //Floor:
67 bool showFloor() const;
68 SbColor4f floorColourAndTransp() const;
69 double floorExtent() const;
70 double floorSpacing() const;
71 double floorHeight() const;
72
73 //Letters:
74 bool showLetters() const;
75 double lettersZPos() const;
76 double lettersVerticalPos() const;
77
78 //People:
79 bool showPeople() const;
80 SbColor4f peopleColourAndTransp() const;
81 double peopleZPos() const;
82 double peopleVerticalPos() const;
83
84 //Coordinate axis
85 bool showAxes() const;
86 double axesLength() const;//A negative value means that negative parts will be shown as well
87 SbVec3f axesPosition() const;
88 double relAxesThickness() const;
89
90 //Grid:
91 bool showCartesianGrid() const;
92 bool showCylindricalGrid() const;
93 SbColor4f gridColourAndTransp() const;
94 double gridSpacing() const;
95 double gridExtent() const;
96
97 //Eta cones:
98 bool showEtaCone1() const;
99 bool showEtaCone2() const;
100 bool showEtaCone3() const;
101 double etaConeValue1() const;
102 double etaConeValue2() const;
103 double etaConeValue3() const;
104 double etaExtent() const;//>0: extent means to a given radius, <0: extent means to a given z.
105
106 //TrackingVolumes
107 bool showTrackingVolumes() const;
108 bool showInnerDetector() const;
109 bool showCalorimeters() const;
110 bool showMuonSpectrometer() const;
111
112 // Lines
113 bool showLines() const;
114 double lineLength() const;
115 SbVec3f lineDirection() const;
116
117 //ID Proj surfs:
118
119 //This is the surfaces the data systems should project their data to:
120 InDetProjFlags::InDetProjPartsFlags applicablePixelProjParts() const;
121 InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const;
122 InDetProjFlags::InDetProjPartsFlags applicableTRTProjParts() const;
123 //This is the surfaces the guideline system should draw surfaces:
124 InDetProjFlags::InDetProjPartsFlags shownPixelProjSurfaces() const;
125 InDetProjFlags::InDetProjPartsFlags shownSCTProjSurfaces() const;
126 InDetProjFlags::InDetProjPartsFlags shownTRTProjSurfaces() const;
127
128 //Info arriving from other systems:
129 void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags);
130
132 // Signals for changes in settings //
134signals:
136 void floorColourAndTranspChanged( const SbColor4f& );
137 void floorExtentChanged(const double&);
138 void floorSpacingChanged(const double&);
139 void floorHeightChanged(const double&);
142 void peopleColourAndTranspChanged( const SbColor4f& );
143 void lettersZPosChanged(const double&);
144 void lettersVerticalPosChanged(const double&);
145 void peopleVerticalPosChanged(const double&);
146 void showAxesChanged(bool);
147 void axesLengthChanged(const double&);
148 void axesPositionChanged(const SbVec3f&);
149 void relAxesThicknessChanged(const double&);
152 void gridColourAndTranspChanged( const SbColor4f& );
153 void gridSpacingChanged(const double&);
154 void gridExtentChanged(const double&);
158 void etaConeValue1Changed(const double&);
159 void etaConeValue2Changed(const double&);
160 void etaConeValue3Changed(const double&);
161 void etaExtentChanged(const double&);
162 void applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags);
163 void applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags);
164 void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags);
165 void shownPixelProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags);
166 void shownSCTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags);
167 void shownTRTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags);
173 void lineDirectionChanged(const SbVec3f&);
174
175private:
176
177 class Imp;
179
180private Q_SLOTS:
223};
224
225
226#endif
void possibleChange_axesLength()
void possibleChange_showCylindricalGrid()
void possibleChange_etaExtent()
void possibleChange_peopleVerticalPos()
bool showMuonSpectrometer() const
void etaConeValue1Changed(const double &)
void axesLengthChanged(const double &)
SoMaterial * sctProjSurfMaterial() const
double lettersVerticalPos() const
void possibleChange_relAxesThickness()
SbColor4f gridColourAndTransp() const
void possibleChange_floorHeight()
void showFloorChanged(bool)
void showMuonSpectrometerChanged(bool)
void shownPixelProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
SoMaterial * etaCone2Material() const
void shownTRTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
void showCartesianGridChanged(bool)
void possibleChange_etaConeValue2()
double peopleVerticalPos() const
void possibleChange_showInnerDetector()
void possibleChange_showCalorimeters()
SoMaterial * trtProjSurfMaterial() const
void possibleChange_etaConeValue3()
void showEtaCone1Changed(bool)
void actualSaveSettings(VP1Serialise &) const
void possibleChange_showCartesianGrid()
void possibleChange_showFloor()
InDetProjFlags::InDetProjPartsFlags applicableTRTProjParts() const
void possibleChange_applicableSCTProjParts()
void showCylindricalGridChanged(bool)
void possibleChange_gridSpacing()
void showPeopleChanged(bool)
void possibleChange_lettersZPos()
void possibleChange_showEtaCone3()
void possibleChange_floorExtent()
void showCalorimetersChanged(bool)
void possibleChange_floorColourAndTransp()
void shownSCTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
SoMaterial * etaCone3Material() const
void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags)
SoMaterial * etaCone1Material() const
GuideSysController(IVP1System *sys)
void possibleChange_axesPosition()
SoMaterial * peopleMaterial() const
void floorHeightChanged(const double &)
void possibleChange_shownTRTProjSurfaces()
void possibleChange_showLetters()
void possibleChange_etaConeValue1()
void possibleChange_showPeople()
SbColor4f peopleColourAndTransp() const
double relAxesThickness() const
void possibleChange_gridExtent()
void showEtaCone3Changed(bool)
SoMaterial * idTrkVolumesMaterial() const
void lettersVerticalPosChanged(const double &)
void lineDirectionChanged(const SbVec3f &)
void actualRestoreSettings(VP1Deserialise &)
InDetProjFlags::InDetProjPartsFlags applicablePixelProjParts() const
SoMaterial * xAxisMaterial() const
void possibleChange_applicableTRTProjParts()
void applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
void showInnerDetectorChanged(bool)
void possibleChange_lettersVerticalPos()
SbVec3f lineDirection() const
void peopleColourAndTranspChanged(const SbColor4f &)
void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const
void etaExtentChanged(const double &)
void showLinesChanged(bool)
void possibleChange_showEtaCone1()
void possibleChange_applicablePixelProjParts()
void possibleChange_gridColourAndTransp()
void floorSpacingChanged(const double &)
void floorColourAndTranspChanged(const SbColor4f &)
SoMaterial * caloTrkVolumesMaterial() const
SbColor4f floorColourAndTransp() const
void applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
void relAxesThicknessChanged(const double &)
void gridExtentChanged(const double &)
void possibleChange_showMuonSpectrometer()
void possibleChange_shownPixelProjSurfaces()
void floorExtentChanged(const double &)
SbVec3f axesPosition() const
void etaConeValue2Changed(const double &)
void showTrackingVolumesChanged(bool)
void possibleChange_showEtaCone2()
InDetProjFlags::InDetProjPartsFlags shownTRTProjSurfaces() const
SoMaterial * zAxisMaterial() const
void possibleChange_showLines()
void gridColourAndTranspChanged(const SbColor4f &)
void possibleChange_showAxes()
void possibleChange_floorSpacing()
InDetProjFlags::InDetProjPartsFlags shownPixelProjSurfaces() const
void showLettersChanged(bool)
void lettersZPosChanged(const double &)
SoMaterial * yAxisMaterial() const
void possibleChange_peopleColourAndTransp()
void gridSpacingChanged(const double &)
void showAxesChanged(bool)
SoMaterial * pixelProjSurfMaterial() const
void peopleVerticalPosChanged(const double &)
SoMaterial * msTrkVolumesMaterial() const
void possibleChange_showTrackingVolumes()
InDetProjFlags::InDetProjPartsFlags shownSCTProjSurfaces() const
void axesPositionChanged(const SbVec3f &)
void showEtaCone2Changed(bool)
void etaConeValue3Changed(const double &)
void possibleChange_shownSCTProjSurfaces()
SoMaterial * lettersMaterial() const
VP1Controller(IVP1System *sys, const QString &classname)