ATLAS Offline Software
GeoSysController.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 GeoSysController //
9 // //
10 // Description: Controller for the geometry system. //
11 // //
12 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
13 // Initial version: October 2008 //
14 // //
16 
17 #ifndef GEOSYSCONTROLLER_H
18 #define GEOSYSCONTROLLER_H
19 
20 #include "VP1Base/VP1Controller.h"
22 class VolumeHandle;
23 class SoGroup;
24 class SoPickStyle;
25 class VP1GeoTreeView;
26 class PhiSectionWidget;
28 
30 
31  Q_OBJECT
32 
33 public:
34 
36  virtual ~GeoSysController();
37 
38  //Change defaults (call right after constructor):
39  void setGeometrySelectable(bool);
40  void setZoomToVolumeOnClick(bool);
43  void setComplexity(double);
44 
45  // Labels
46 // void setAvailableLabels(IVP1System* sys, QStringList providedLabels);
47  void setLabelsEnabled(bool t0s, bool hits);
48 
50  int currentSettingsVersion() const;
51  void actualSaveSettings(VP1Serialise&) const;
52 
55 
56  QCheckBox * subSystemCheckBox(VP1GeoFlags::SubSystemFlag) const;//Checkbox will be disabled
57  //if corresponding geometry
58  //is not present in job.
59 
60  SoGroup * drawOptions() const;
61  SoPickStyle * pickStyle() const;
65 
67  // Access Methods for settings //
69 
70  //Those only queried on-demand:
71  bool printInfoOnClick_Shape() const;
72  bool printInfoOnClick_Material() const;
73  bool printInfoOnClick_CopyNumber() const;
74  bool printInfoOnClick_Transform() const;
75  bool printInfoOnClick_Tree() const;
76  bool printInfoOnClick_Mass() const;
79  bool zoomToVolumeOnClick() const;
81 
82  //Settings with change signals:
83 
84  float transparency() const;
85  VP1GeoFlags::MuonChamberAdaptionStyleFlags muonChamberAdaptionStyle() const;
86  bool showVolumeOutLines() const;
87  int labels() const;
88  QList<int> labelPosOffset() ;
89 
91  // Signals for changes in settings //
93 signals:
94 
95  //Change signals:
96  void transparencyChanged(float);
97  void muonChamberAdaptionStyleChanged(VP1GeoFlags::MuonChamberAdaptionStyleFlags);
99  void labelsChanged(int);
100  void labelPosOffsetChanged(QList<int>);
101 
102  //Signals without state:
104  void autoAdaptPixelsOrSCT(bool,bool,bool,bool,bool,bool);//pixel,brl,ecA,ecC,bcmA,bcmC
105  void autoAdaptMuonNSW(bool,bool,bool,bool,bool,bool); // reset to full NSW geo, sTGC, MicroMegas, Spacer, Structure, APlate
106  void resetSubSystems(VP1GeoFlags::SubSystemFlags);
107  void autoExpandByVolumeOrMaterialName(bool,QString);//volname: (false,namestr), matname: (true,namestr)
108  void autoIconifyByVolumeOrMaterialName(bool,QString);//volname: (false,namestr), matname: (true,namestr)
109  void actionOnAllNonStandardVolumes(bool);//true: zap, false: expand.
112 
113  void saveMaterialsToFile(QString,bool);//(filename,onlyChangedMaterials)
114  void loadMaterialsFromFile(QString);//filename
115 
116 private:
117 
118  class Imp;
119  Imp * m_d;
120 
121 private Q_SLOTS:
125  void updatePickStyle();
126  void saveMaterialsRequested();
127  void loadMaterialsRequested();
130  void emit_autoAdaptMuonNSW();
134  void emit_resetSubSystems();
137 };
138 
139 #endif
GeoSysController::setLabelsEnabled
void setLabelsEnabled(bool t0s, bool hits)
controls whether the checkboxes are enabled or not.
Definition: GeoSysController.cxx:498
GeoSysController::autoExpandByVolumeOrMaterialName
void autoExpandByVolumeOrMaterialName(bool, QString)
GeoSysController::printInfoOnClick_Material
bool printInfoOnClick_Material() const
Definition: GeoSysController.cxx:406
VP1Serialise
Definition: VP1Serialise.h:45
GeoSysController::orientViewToMuonChambersOnClick
bool orientViewToMuonChambersOnClick() const
Definition: GeoSysController.cxx:394
VP1GeoTreeView
Definition: VP1GeoTreeView.h:22
GeoSysController::setZoomToVolumeOnClick
void setZoomToVolumeOnClick(bool)
Definition: GeoSysController.cxx:266
GeoSysController::setAutoAdaptMuonChambersToEventData
void setAutoAdaptMuonChambersToEventData(bool)
Definition: GeoSysController.cxx:278
GeoSysController::emit_autoIconifyByVolumeOrMaterialName
void emit_autoIconifyByVolumeOrMaterialName()
Definition: GeoSysController.cxx:585
GeoSysController::autoIconifyByVolumeOrMaterialName
void autoIconifyByVolumeOrMaterialName(bool, QString)
GeoSysController::drawOptions
SoGroup * drawOptions() const
Definition: GeoSysController.cxx:358
GeoSysController::loadMaterialsFromFile
void loadMaterialsFromFile(QString)
GeoSysController
Definition: GeoSysController.h:29
GeoSysController::volumeResetRequested
void volumeResetRequested(VolumeHandle *)
GeoSysController::emit_actionOnAllNonStandardVolumes
void emit_actionOnAllNonStandardVolumes()
Definition: GeoSysController.cxx:613
GeoSysController::labelsChanged
void labelsChanged(int)
GeoSysController::showVolumeOutLinesChanged
void showVolumeOutLinesChanged(bool)
GeoSysController::emit_autoAdaptMuonNSW
void emit_autoAdaptMuonNSW()
Definition: GeoSysController.cxx:566
GeoSysController::zoomToVolumeOnClick
bool zoomToVolumeOnClick() const
Definition: GeoSysController.cxx:388
GeoSysController::transparencyChanged
void transparencyChanged(float)
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
GeoSysController::phiSectionWidget
PhiSectionWidget * phiSectionWidget() const
Definition: GeoSysController.cxx:376
GeoSysController::subSystemCheckBox
QCheckBox * subSystemCheckBox(VP1GeoFlags::SubSystemFlag) const
Definition: GeoSysController.cxx:351
GeoSysController::autoAdaptMuonChambersToEventData
bool autoAdaptMuonChambersToEventData() const
Definition: GeoSysController.cxx:442
GeoSysController::pickStyle
SoPickStyle * pickStyle() const
Definition: GeoSysController.cxx:364
GeoSysController::actualSaveSettings
void actualSaveSettings(VP1Serialise &) const
Definition: GeoSysController.cxx:656
GeoSysController::emit_adaptMuonChambersToEventData
void emit_adaptMuonChambersToEventData()
Definition: GeoSysController.cxx:541
GeoSysController::transparency
float transparency() const
Definition: GeoSysController.cxx:455
IVP1System
Definition: IVP1System.h:36
GeoSysController::labelPosOffsetChanged
void labelPosOffsetChanged(QList< int >)
GeoSysController::showVolumeOutLines
bool showVolumeOutLines() const
Definition: GeoSysController.cxx:462
GeoSysController::saveMaterialsToFile
void saveMaterialsToFile(QString, bool)
GeoSysController::muonChamberAdaptionStyle
VP1GeoFlags::MuonChamberAdaptionStyleFlags muonChamberAdaptionStyle() const
Definition: GeoSysController.cxx:468
GeoSysController::possibleChange_transparency
void possibleChange_transparency()
GeoSysController::autoAdaptPixelsOrSCT
void autoAdaptPixelsOrSCT(bool, bool, bool, bool, bool, bool)
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
GeoSysController::possibleChange_labelPosOffset
void possibleChange_labelPosOffset()
VP1GeoFlags::VOLSTATE
VOLSTATE
Definition: VP1GeoFlags.h:87
GeoSysController::emit_autoExpandByVolumeOrMaterialName
void emit_autoExpandByVolumeOrMaterialName()
Definition: GeoSysController.cxx:600
GeoSysController::saveMaterialsRequested
void saveMaterialsRequested()
Definition: GeoSysController.cxx:306
GeoSysController::setComplexity
void setComplexity(double)
Definition: GeoSysController.cxx:260
GeoSysController::possibleChange_labels
void possibleChange_labels()
VP1Deserialise
Definition: VP1Deserialise.h:44
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
PhiSectionWidget
Definition: PhiSectionWidget.h:26
GeoSysController::printInfoOnClick_Tree
bool printInfoOnClick_Tree() const
Definition: GeoSysController.cxx:424
VolumeHandle
Definition: VolumeHandle.h:21
VP1GeoFlags.h
VP1Controller
Definition: VP1Controller.h:45
GeoSysController::zappedVolumeListModel
ZappedVolumeListModel * zappedVolumeListModel() const
Definition: GeoSysController.cxx:382
GeoSysController::GeoSysController
GeoSysController(IVP1System *sys)
Definition: GeoSysController.cxx:71
GeoSysController::setOrientViewToMuonChambersOnClick
void setOrientViewToMuonChambersOnClick(bool)
Definition: GeoSysController.cxx:272
GeoSysController::Imp
Definition: GeoSysController.cxx:43
GeoSysController::printInfoOnClick_Mass
bool printInfoOnClick_Mass() const
Definition: GeoSysController.cxx:430
GeoSysController::updatePickStyle
void updatePickStyle()
Definition: GeoSysController.cxx:448
GeoSysController::volumeTreeBrowser
VP1GeoTreeView * volumeTreeBrowser() const
Definition: GeoSysController.cxx:370
GeoSysController::lastSelectedVolume
VolumeHandle * lastSelectedVolume() const
Definition: GeoSysController.cxx:300
GeoSysController::currentSettingsVersion
int currentSettingsVersion() const
Definition: GeoSysController.cxx:650
GeoSysController::autoAdaptMuonNSW
void autoAdaptMuonNSW(bool, bool, bool, bool, bool, bool)
GeoSysController::volumeStateChangeRequested
void volumeStateChangeRequested(VolumeHandle *, VP1GeoFlags::VOLSTATE)
ZappedVolumeListModel
Definition: ZappedVolumeListModel.h:15
GeoSysController::emit_autoAdaptPixelsOrSCT
void emit_autoAdaptPixelsOrSCT()
Definition: GeoSysController.cxx:548
GeoSysController::printInfoOnClick_Transform
bool printInfoOnClick_Transform() const
Definition: GeoSysController.cxx:418
GeoSysController::actualRestoreSettings
void actualRestoreSettings(VP1Deserialise &)
Definition: GeoSysController.cxx:714
GeoSysController::labels
int labels() const
Definition: GeoSysController.cxx:520
GeoSysController::resetSubSystems
void resetSubSystems(VP1GeoFlags::SubSystemFlags)
VP1GeoFlags::SubSystemFlag
SubSystemFlag
Definition: VP1GeoFlags.h:30
VP1Controller.h
GeoSysController::labelPosOffset
QList< int > labelPosOffset()
Offset in x,y,z.
Definition: GeoSysController.cxx:531
GeoSysController::actionOnAllNonStandardVolumes
void actionOnAllNonStandardVolumes(bool)
GeoSysController::setLastSelectedVolume
void setLastSelectedVolume(VolumeHandle *)
Definition: GeoSysController.cxx:284
GeoSysController::emit_resetSubSystems
void emit_resetSubSystems()
Reset to the sub-system top volume.
Definition: GeoSysController.cxx:636
GeoSysController::possibleChange_showVolumeOutLines
void possibleChange_showVolumeOutLines()
GeoSysController::adaptMuonChambersToEventData
void adaptMuonChambersToEventData()
GeoSysController::muonChamberAdaptionStyleChanged
void muonChamberAdaptionStyleChanged(VP1GeoFlags::MuonChamberAdaptionStyleFlags)
GeoSysController::printInfoOnClick_MuonStationInfo
bool printInfoOnClick_MuonStationInfo() const
Definition: GeoSysController.cxx:436
GeoSysController::setGeometrySelectable
void setGeometrySelectable(bool)
Definition: GeoSysController.cxx:253
GeoSysController::possibleChange_muonChamberAdaptionStyle
void possibleChange_muonChamberAdaptionStyle()
GeoSysController::printInfoOnClick_Shape
bool printInfoOnClick_Shape() const
Definition: GeoSysController.cxx:400
GeoSysController::m_d
Imp * m_d
Definition: GeoSysController.h:118
GeoSysController::~GeoSysController
virtual ~GeoSysController()
Definition: GeoSysController.cxx:246
GeoSysController::printInfoOnClick_CopyNumber
bool printInfoOnClick_CopyNumber() const
Definition: GeoSysController.cxx:412
GeoSysController::loadMaterialsRequested
void loadMaterialsRequested()
Definition: GeoSysController.cxx:333