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 // HGTD hit guide lines
118 bool showHGTDGuideLines() const;
119 bool showHGTDGuideHits() const;
120 bool showHGTDTruthTracks() const;
121 bool showHGTDParticleNames() const;
122 bool showHGTDPrimaryParticles() const;
123 bool showHGTDSecondaryParticles() const;
124 bool showHGTDUnlinkedParticles() const;
125
126 //ID Proj surfs:
127
128 //This is the surfaces the data systems should project their data to:
129 InDetProjFlags::InDetProjPartsFlags applicablePixelProjParts() const;
130 InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const;
131 InDetProjFlags::InDetProjPartsFlags applicableTRTProjParts() const;
132 //This is the surfaces the guideline system should draw surfaces:
133 InDetProjFlags::InDetProjPartsFlags shownPixelProjSurfaces() const;
134 InDetProjFlags::InDetProjPartsFlags shownSCTProjSurfaces() const;
135 InDetProjFlags::InDetProjPartsFlags shownTRTProjSurfaces() const;
136
137 //Info arriving from other systems:
138 void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags);
139
141 // Signals for changes in settings //
143signals:
145 void floorColourAndTranspChanged( const SbColor4f& );
146 void floorExtentChanged(const double&);
147 void floorSpacingChanged(const double&);
148 void floorHeightChanged(const double&);
151 void peopleColourAndTranspChanged( const SbColor4f& );
152 void lettersZPosChanged(const double&);
153 void lettersVerticalPosChanged(const double&);
154 void peopleVerticalPosChanged(const double&);
155 void showAxesChanged(bool);
156 void axesLengthChanged(const double&);
157 void axesPositionChanged(const SbVec3f&);
158 void relAxesThicknessChanged(const double&);
161 void gridColourAndTranspChanged( const SbColor4f& );
162 void gridSpacingChanged(const double&);
163 void gridExtentChanged(const double&);
167 void etaConeValue1Changed(const double&);
168 void etaConeValue2Changed(const double&);
169 void etaConeValue3Changed(const double&);
170 void etaExtentChanged(const double&);
171 void applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags);
172 void applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags);
173 void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags);
174 void shownPixelProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags);
175 void shownSCTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags);
176 void shownTRTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags);
182 void lineDirectionChanged(const SbVec3f&);
190
191private:
192
193 class Imp;
195
196private Q_SLOTS:
246};
247
248
249#endif
void possibleChange_axesLength()
void possibleChange_showCylindricalGrid()
void possibleChange_etaExtent()
void possibleChange_peopleVerticalPos()
void possibleChange_showHGTDParticleNames()
bool showMuonSpectrometer() const
void etaConeValue1Changed(const double &)
void axesLengthChanged(const double &)
SoMaterial * sctProjSurfMaterial() const
void showHGTDSecondaryParticlesChanged(bool)
double lettersVerticalPos() const
void possibleChange_relAxesThickness()
SbColor4f gridColourAndTransp() const
void possibleChange_floorHeight()
void possibleChange_showHGTDSecondaryParticles()
void showFloorChanged(bool)
void showMuonSpectrometerChanged(bool)
void shownPixelProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
SoMaterial * etaCone2Material() const
void shownTRTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
void showHGTDGuideHitsChanged(bool)
void showCartesianGridChanged(bool)
void possibleChange_etaConeValue2()
void possibleChange_showHGTDGuideHits()
double peopleVerticalPos() const
void possibleChange_showInnerDetector()
void possibleChange_showCalorimeters()
bool showHGTDSecondaryParticles() const
SoMaterial * trtProjSurfMaterial() const
void possibleChange_showHGTDPrimaryParticles()
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()
bool showHGTDParticleNames() const
void shownSCTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
SoMaterial * etaCone3Material() const
void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags)
SoMaterial * etaCone1Material() const
void possibleChange_showHGTDGuideLines()
GuideSysController(IVP1System *sys)
void possibleChange_axesPosition()
SoMaterial * peopleMaterial() const
void showHGTDUnlinkedParticlesChanged(bool)
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()
bool showHGTDUnlinkedParticles() const
SbVec3f lineDirection() const
void peopleColourAndTranspChanged(const SbColor4f &)
void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const
void etaExtentChanged(const double &)
void showLinesChanged(bool)
void possibleChange_showHGTDUnlinkedParticles()
void possibleChange_showEtaCone1()
void possibleChange_applicablePixelProjParts()
void possibleChange_gridColourAndTransp()
void floorSpacingChanged(const double &)
void floorColourAndTranspChanged(const SbColor4f &)
SoMaterial * caloTrkVolumesMaterial() const
void showHGTDParticleNamesChanged(bool)
SbColor4f floorColourAndTransp() const
void applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
void relAxesThicknessChanged(const double &)
void gridExtentChanged(const double &)
void possibleChange_showMuonSpectrometer()
void possibleChange_showHGTDTruthTracks()
void possibleChange_shownPixelProjSurfaces()
void floorExtentChanged(const double &)
SbVec3f axesPosition() const
void etaConeValue2Changed(const double &)
void showTrackingVolumesChanged(bool)
void possibleChange_showEtaCone2()
InDetProjFlags::InDetProjPartsFlags shownTRTProjSurfaces() const
void showHGTDGuideLinesChanged(bool)
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()
void showHGTDTruthTracksChanged(bool)
InDetProjFlags::InDetProjPartsFlags shownSCTProjSurfaces() const
void axesPositionChanged(const SbVec3f &)
bool showHGTDPrimaryParticles() const
void showHGTDPrimaryParticlesChanged(bool)
void showEtaCone2Changed(bool)
void etaConeValue3Changed(const double &)
void possibleChange_shownSCTProjSurfaces()
SoMaterial * lettersMaterial() const
VP1Controller(IVP1System *sys, const QString &classname)