ATLAS Offline Software
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 
25 #include "VP1Base/VP1Controller.h"
27 #include <Inventor/C/errors/debugerror.h>
28 #include <Inventor/SbColor4f.h>
29 class SoMaterial;
30 
32 
33  Q_OBJECT
34 
35 public:
36 
38  virtual ~GuideSysController();
39 
41  int currentSettingsVersion() const;
42  void actualSaveSettings(VP1Serialise&) 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 //
134 signals:
135  void showFloorChanged(bool);
136  void floorColourAndTranspChanged( const SbColor4f& );
137  void floorExtentChanged(const double&);
138  void floorSpacingChanged(const double&);
139  void floorHeightChanged(const double&);
140  void showLettersChanged(bool);
141  void showPeopleChanged(bool);
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);
172  void showLinesChanged(bool);
173  void lineDirectionChanged(const SbVec3f&);
174 
175 private:
176 
177  class Imp;
178  Imp * m_d;
179 
180 private Q_SLOTS:
223 };
224 
225 
226 #endif
GuideSysController::zAxisMaterial
SoMaterial * zAxisMaterial() const
Definition: GuideSysController.cxx:398
GuideSysController::floorHeightChanged
void floorHeightChanged(const double &)
GuideSysController::etaConeValue1
double etaConeValue1() const
Definition: GuideSysController.cxx:580
GuideSysController::lettersVerticalPosChanged
void lettersVerticalPosChanged(const double &)
GuideSysController::floorSpacingChanged
void floorSpacingChanged(const double &)
GuideSysController::trtProjSurfMaterial
SoMaterial * trtProjSurfMaterial() const
Definition: GuideSysController.cxx:404
GuideSysController::etaCone1Material
SoMaterial * etaCone1Material() const
Definition: GuideSysController.cxx:399
GuideSysController::applicablePixelProjParts
InDetProjFlags::InDetProjPartsFlags applicablePixelProjParts() const
Definition: GuideSysController.cxx:667
GuideSysController::floorHeight
double floorHeight() const
Definition: GuideSysController.cxx:449
GuideSysController::peopleMaterial
SoMaterial * peopleMaterial() const
Definition: GuideSysController.cxx:395
GuideSysController::etaCone3Material
SoMaterial * etaCone3Material() const
Definition: GuideSysController.cxx:401
VP1Serialise
Definition: VP1Serialise.h:45
GuideSysController::possibleChange_showCylindricalGrid
void possibleChange_showCylindricalGrid()
GuideSysController::showLetters
bool showLetters() const
Definition: GuideSysController.cxx:455
GuideSysController::possibleChange_showLines
void possibleChange_showLines()
GuideSysController::showEtaCone1
bool showEtaCone1() const
Definition: GuideSysController.cxx:559
GuideSysController::m_d
Imp * m_d
Definition: GuideSysController.h:177
GuideSysController::showCartesianGrid
bool showCartesianGrid() const
Definition: GuideSysController.cxx:527
GuideSysController::possibleChange_applicableSCTProjParts
void possibleChange_applicableSCTProjParts()
GuideSysController::actualSaveSettings
void actualSaveSettings(VP1Serialise &) const
Definition: GuideSysController.cxx:855
GuideSysController::possibleChange_showCalorimeters
void possibleChange_showCalorimeters()
GuideSysController::possibleChange_floorColourAndTransp
void possibleChange_floorColourAndTransp()
GuideSysController::gridColourAndTransp
SbColor4f gridColourAndTransp() const
Definition: GuideSysController.cxx:541
GuideSysController::possibleChange_lettersVerticalPos
void possibleChange_lettersVerticalPos()
GuideSysController::peopleColourAndTransp
SbColor4f peopleColourAndTransp() const
Definition: GuideSysController.cxx:430
GuideSysController::shownPixelProjSurfacesChanged
void shownPixelProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
GuideSysController::etaConeValue2Changed
void etaConeValue2Changed(const double &)
GuideSysController
Definition: GuideSysController.h:31
GuideSysController::gridSpacingChanged
void gridSpacingChanged(const double &)
GuideSysController::possibleChange_floorExtent
void possibleChange_floorExtent()
GuideSysController::showTrackingVolumes
bool showTrackingVolumes() const
Definition: GuideSysController.cxx:828
GuideSysController::possibleChange_gridColourAndTransp
void possibleChange_gridColourAndTransp()
GuideSysController::possibleChange_showAxes
void possibleChange_showAxes()
GuideSysController::showEtaCone3Changed
void showEtaCone3Changed(bool)
GuideSysController::showAxes
bool showAxes() const
Definition: GuideSysController.cxx:500
GuideSysController::peopleVerticalPos
double peopleVerticalPos() const
Definition: GuideSysController.cxx:481
GuideSysController::showEtaCone2
bool showEtaCone2() const
Definition: GuideSysController.cxx:566
GuideSysController::possibleChange_peopleColourAndTransp
void possibleChange_peopleColourAndTransp()
GuideSysController::possibleChange_showLetters
void possibleChange_showLetters()
GuideSysController::showInnerDetectorChanged
void showInnerDetectorChanged(bool)
GuideSysController::possibleChange_etaConeValue1
void possibleChange_etaConeValue1()
GuideSysController::axesPosition
SbVec3f axesPosition() const
Definition: GuideSysController.cxx:513
GuideSysController::msTrkVolumesMaterial
SoMaterial * msTrkVolumesMaterial() const
Definition: GuideSysController.cxx:407
GuideSysController::possibleChange_shownSCTProjSurfaces
void possibleChange_shownSCTProjSurfaces()
GuideSysController::updateProjPartsCheckboxStates_SCT
void updateProjPartsCheckboxStates_SCT()
Definition: GuideSysController.cxx:809
GuideSysController::showEtaCone2Changed
void showEtaCone2Changed(bool)
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
GuideSysController::showLettersChanged
void showLettersChanged(bool)
GuideSysController::lineDirection
SbVec3f lineDirection() const
Definition: GuideSysController.cxx:612
GuideSysController::etaExtent
double etaExtent() const
Definition: GuideSysController.cxx:598
GuideSysController::possibleChange_applicableTRTProjParts
void possibleChange_applicableTRTProjParts()
GuideSysController::possibleChange_lettersZPos
void possibleChange_lettersZPos()
GuideSysController::showCartesianGridChanged
void showCartesianGridChanged(bool)
GuideSysController::possibleChange_gridSpacing
void possibleChange_gridSpacing()
GuideSysController::caloTrkVolumesMaterial
SoMaterial * caloTrkVolumesMaterial() const
Definition: GuideSysController.cxx:406
GuideSysController::idTrkVolumesMaterial
SoMaterial * idTrkVolumesMaterial() const
Definition: GuideSysController.cxx:405
GuideSysController::showFloor
bool showFloor() const
Definition: GuideSysController.cxx:410
GuideSysController::etaConeValue3Changed
void etaConeValue3Changed(const double &)
GuideSysController::possibleChange_peopleVerticalPos
void possibleChange_peopleVerticalPos()
GuideSysController::peopleZPos
double peopleZPos() const
Definition: GuideSysController.cxx:487
GuideSysController::floorColourAndTransp
SbColor4f floorColourAndTransp() const
Definition: GuideSysController.cxx:424
GuideSysController::shownSCTProjSurfacesChanged
void shownSCTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
IVP1System
Definition: IVP1System.h:36
GuideSysController::lineDirectionChanged
void lineDirectionChanged(const SbVec3f &)
GuideSysController::possibleChange_axesLength
void possibleChange_axesLength()
GuideSysController::possibleChange_showFloor
void possibleChange_showFloor()
GuideSysController::possibleChange_etaExtent
void possibleChange_etaExtent()
GuideSysController::showLines
bool showLines() const
Definition: GuideSysController.cxx:605
GuideSysController::actualRestoreSettings
void actualRestoreSettings(VP1Deserialise &)
Definition: GuideSysController.cxx:972
GuideSysController::relAxesThicknessChanged
void relAxesThicknessChanged(const double &)
GuideSysController::peopleColourAndTranspChanged
void peopleColourAndTranspChanged(const SbColor4f &)
GuideSysController::axesLengthChanged
void axesLengthChanged(const double &)
GuideSysController::showEtaCone1Changed
void showEtaCone1Changed(bool)
GuideSysController::possibleChange_showPeople
void possibleChange_showPeople()
GuideSysController::showCylindricalGrid
bool showCylindricalGrid() const
Definition: GuideSysController.cxx:534
GuideSysController::showMuonSpectrometerChanged
void showMuonSpectrometerChanged(bool)
GuideSysController::applicableTRTProjPartsChanged
void applicableTRTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
GuideSysController::gridColourAndTranspChanged
void gridColourAndTranspChanged(const SbColor4f &)
GuideSysController::floorExtentChanged
void floorExtentChanged(const double &)
GuideSysController::lettersVerticalPos
double lettersVerticalPos() const
Definition: GuideSysController.cxx:475
GuideSysController::gridExtent
double gridExtent() const
Definition: GuideSysController.cxx:553
GuideSysController::lettersZPos
double lettersZPos() const
Definition: GuideSysController.cxx:462
GuideSysController::possibleChange_showEtaCone1
void possibleChange_showEtaCone1()
GuideSysController::pixelProjSurfMaterial
SoMaterial * pixelProjSurfMaterial() const
Definition: GuideSysController.cxx:402
GuideSysController::gridExtentChanged
void gridExtentChanged(const double &)
GuideSysController::applicableSCTProjParts
InDetProjFlags::InDetProjPartsFlags applicableSCTProjParts() const
Definition: GuideSysController.cxx:676
GuideSysController::shownTRTProjSurfacesChanged
void shownTRTProjSurfacesChanged(InDetProjFlags::InDetProjPartsFlags)
GuideSysController::lettersZPosChanged
void lettersZPosChanged(const double &)
VP1Deserialise
Definition: VP1Deserialise.h:44
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
GuideSysController::etaCone2Material
SoMaterial * etaCone2Material() const
Definition: GuideSysController.cxx:400
GuideSysController::lineLength
double lineLength() const
Definition: GuideSysController.cxx:622
GuideSysController::possibleChange_gridExtent
void possibleChange_gridExtent()
VP1Controller
Definition: VP1Controller.h:45
GuideSysController::showLinesChanged
void showLinesChanged(bool)
GuideSysController::floorExtent
double floorExtent() const
Definition: GuideSysController.cxx:437
GuideSysController::shownTRTProjSurfaces
InDetProjFlags::InDetProjPartsFlags shownTRTProjSurfaces() const
Definition: GuideSysController.cxx:774
GuideSysController::showPeopleChanged
void showPeopleChanged(bool)
GuideSysController::xAxisMaterial
SoMaterial * xAxisMaterial() const
Definition: GuideSysController.cxx:396
GuideSysController::showPeople
bool showPeople() const
Definition: GuideSysController.cxx:417
GuideSysController::sctProjSurfMaterial
SoMaterial * sctProjSurfMaterial() const
Definition: GuideSysController.cxx:403
GuideSysController::floorSpacing
double floorSpacing() const
Definition: GuideSysController.cxx:443
GuideSysController::possibleChange_floorHeight
void possibleChange_floorHeight()
GuideSysController::yAxisMaterial
SoMaterial * yAxisMaterial() const
Definition: GuideSysController.cxx:397
GuideSysController::etaConeValue1Changed
void etaConeValue1Changed(const double &)
GuideSysController::axesLength
double axesLength() const
Definition: GuideSysController.cxx:506
GuideSysController::possibleChange_axesPosition
void possibleChange_axesPosition()
GuideSysController::possibleChange_showMuonSpectrometer
void possibleChange_showMuonSpectrometer()
GuideSysController::showCalorimeters
bool showCalorimeters() const
Definition: GuideSysController.cxx:838
GuideSysController::possibleChange_relAxesThickness
void possibleChange_relAxesThickness()
GuideSysController::possibleChange_showEtaCone3
void possibleChange_showEtaCone3()
GuideSysController::gridSpacing
double gridSpacing() const
Definition: GuideSysController.cxx:547
GuideSysController::peopleVerticalPosChanged
void peopleVerticalPosChanged(const double &)
GuideSysController::shownPixelProjSurfaces
InDetProjFlags::InDetProjPartsFlags shownPixelProjSurfaces() const
Definition: GuideSysController.cxx:746
GuideSysController::updateProjPartsCheckboxStates_TRT
void updateProjPartsCheckboxStates_TRT()
Definition: GuideSysController.cxx:819
GuideSysController::showEtaCone3
bool showEtaCone3() const
Definition: GuideSysController.cxx:573
GuideSysController::lettersMaterial
SoMaterial * lettersMaterial() const
Definition: GuideSysController.cxx:394
GuideSysController::updateProjPartsCheckboxStates_Pixel
void updateProjPartsCheckboxStates_Pixel()
Definition: GuideSysController.cxx:799
GuideSysController::GuideSysController
GuideSysController(IVP1System *sys)
Definition: GuideSysController.cxx:122
GuideSysController::axesPositionChanged
void axesPositionChanged(const SbVec3f &)
GuideSysController::possibleChange_shownTRTProjSurfaces
void possibleChange_shownTRTProjSurfaces()
GuideSysController::showAxesChanged
void showAxesChanged(bool)
GuideSysController::possibleChange_etaConeValue3
void possibleChange_etaConeValue3()
GuideSysController::applicableTRTProjParts
InDetProjFlags::InDetProjPartsFlags applicableTRTProjParts() const
Definition: GuideSysController.cxx:685
GuideSysController::showInnerDetector
bool showInnerDetector() const
Definition: GuideSysController.cxx:833
GuideSysController::floorColourAndTranspChanged
void floorColourAndTranspChanged(const SbColor4f &)
InDetProjFlags.h
GuideSysController::currentSettingsVersion
int currentSettingsVersion() const
Definition: GuideSysController.cxx:849
GuideSysController::showTrackingVolumesChanged
void showTrackingVolumesChanged(bool)
GuideSysController::possibleChange_showCartesianGrid
void possibleChange_showCartesianGrid()
GuideSysController::showCylindricalGridChanged
void showCylindricalGridChanged(bool)
GuideSysController::showMuonSpectrometer
bool showMuonSpectrometer() const
Definition: GuideSysController.cxx:843
GuideSysController::applicableSCTProjPartsChanged
void applicableSCTProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
VP1Controller.h
GuideSysController::showCalorimetersChanged
void showCalorimetersChanged(bool)
GuideSysController::possibleChange_showEtaCone2
void possibleChange_showEtaCone2()
GuideSysController::etaExtentChanged
void etaExtentChanged(const double &)
GuideSysController::applicablePixelProjPartsChanged
void applicablePixelProjPartsChanged(InDetProjFlags::InDetProjPartsFlags)
GuideSysController::relAxesThickness
double relAxesThickness() const
Definition: GuideSysController.cxx:521
GuideSysController::shownSCTProjSurfaces
InDetProjFlags::InDetProjPartsFlags shownSCTProjSurfaces() const
Definition: GuideSysController.cxx:760
GuideSysController::possibleChange_showTrackingVolumes
void possibleChange_showTrackingVolumes()
GuideSysController::possibleChange_applicablePixelProjParts
void possibleChange_applicablePixelProjParts()
GuideSysController::possibleChange_floorSpacing
void possibleChange_floorSpacing()
GuideSysController::showFloorChanged
void showFloorChanged(bool)
GuideSysController::etaConeValue3
double etaConeValue3() const
Definition: GuideSysController.cxx:592
GuideSysController::possibleChange_lineDirection
void possibleChange_lineDirection()
Definition: GuideSysController.cxx:1097
GuideSysController::possibleChange_shownPixelProjSurfaces
void possibleChange_shownPixelProjSurfaces()
GuideSysController::Imp
Definition: GuideSysController.cxx:48
GuideSysController::possibleChange_showInnerDetector
void possibleChange_showInnerDetector()
GuideSysController::~GuideSysController
virtual ~GuideSysController()
Definition: GuideSysController.cxx:387
GuideSysController::setInDetDetTypesUsingProjections
void setInDetDetTypesUsingProjections(InDetProjFlags::DetTypeFlags)
Definition: GuideSysController.cxx:788
GuideSysController::possibleChange_etaConeValue2
void possibleChange_etaConeValue2()
GuideSysController::etaConeValue2
double etaConeValue2() const
Definition: GuideSysController.cxx:586