ATLAS Offline Software
Loading...
Searching...
No Matches
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
22class VolumeHandle;
23class SoGroup;
24class SoPickStyle;
25class VP1GeoTreeView;
28
30
31 Q_OBJECT
32
33public:
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;
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 //
93signals:
94
95 //Change signals:
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
116private:
117
118 class Imp;
120
121private Q_SLOTS:
125 void updatePickStyle();
137};
138
139#endif
bool printInfoOnClick_Transform() const
void adaptMuonChambersToEventData()
void possibleChange_labels()
void loadMaterialsFromFile(QString)
void possibleChange_muonChamberAdaptionStyle()
void autoAdaptMuonNSW(bool, bool, bool, bool, bool, bool)
void setGeometrySelectable(bool)
void emit_resetSubSystems()
Reset to the sub-system top volume.
bool showVolumeOutLines() const
int currentSettingsVersion() const
bool printInfoOnClick_Tree() const
bool printInfoOnClick_Shape() const
void actionOnAllNonStandardVolumes(bool)
SoPickStyle * pickStyle() const
void volumeStateChangeRequested(VolumeHandle *, VP1GeoFlags::VOLSTATE)
VP1GeoFlags::MuonChamberAdaptionStyleFlags muonChamberAdaptionStyle() const
GeoSysController(IVP1System *sys)
void emit_autoIconifyByVolumeOrMaterialName()
void emit_actionOnAllNonStandardVolumes()
void possibleChange_transparency()
void transparencyChanged(float)
bool autoAdaptMuonChambersToEventData() const
void volumeResetRequested(VolumeHandle *)
VolumeHandle * lastSelectedVolume() const
void actualRestoreSettings(VP1Deserialise &)
bool printInfoOnClick_MuonStationInfo() const
void autoIconifyByVolumeOrMaterialName(bool, QString)
void possibleChange_showVolumeOutLines()
void setAutoAdaptMuonChambersToEventData(bool)
ZappedVolumeListModel * zappedVolumeListModel() const
void setZoomToVolumeOnClick(bool)
void labelPosOffsetChanged(QList< int >)
void setLabelsEnabled(bool t0s, bool hits)
controls whether the checkboxes are enabled or not.
bool printInfoOnClick_CopyNumber() const
VP1GeoTreeView * volumeTreeBrowser() const
PhiSectionWidget * phiSectionWidget() const
QList< int > labelPosOffset()
Offset in x,y,z.
bool orientViewToMuonChambersOnClick() const
void resetSubSystems(VP1GeoFlags::SubSystemFlags)
bool printInfoOnClick_Mass() const
bool zoomToVolumeOnClick() const
SoGroup * drawOptions() const
QCheckBox * subSystemCheckBox(VP1GeoFlags::SubSystemFlag) const
void autoAdaptPixelsOrSCT(bool, bool, bool, bool, bool, bool)
void labelsChanged(int)
void possibleChange_labelPosOffset()
void showVolumeOutLinesChanged(bool)
void setLastSelectedVolume(VolumeHandle *)
void saveMaterialsToFile(QString, bool)
void autoExpandByVolumeOrMaterialName(bool, QString)
void actualSaveSettings(VP1Serialise &) const
void emit_adaptMuonChambersToEventData()
void emit_autoExpandByVolumeOrMaterialName()
void setComplexity(double)
bool printInfoOnClick_Material() const
float transparency() const
void muonChamberAdaptionStyleChanged(VP1GeoFlags::MuonChamberAdaptionStyleFlags)
void setOrientViewToMuonChambersOnClick(bool)
VP1Controller(IVP1System *sys, const QString &classname)