ATLAS Offline Software
GeoSysController.cxx
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 // Implementation of class GeoSysController //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: October 2008 //
12 // //
14 
15 #define VP1IMPVARNAME m_d
16 
19 #include "VP1Base/VP1Serialise.h"
20 #include "VP1Base/VP1Deserialise.h"
21 #include "VP1Base/VP1Settings.h"
22 #include "VP1Base/IVP1System.h"
23 #ifndef BUILDVP1LIGHT
25 #endif
26 
27 #include "ui_geometrysystemcontroller.h"
28 #include "ui_settings_display_form.h"
29 #include "ui_settings_iconisedvols_form.h"
30 #include "ui_settings_interactions_form.h"
31 #include "ui_settings_misc_form.h"
32 #include "ui_settings_muonchamber_form.h"
33 #include "ui_settings_treebrowser_form.h"
34 
35 #include <Inventor/nodes/SoPickStyle.h>
36 
37 #include <QFileDialog>
38 
39 #include <map>
40 
41 
42 //____________________________________________________________________
44 public:
46  Ui::GeometrySystemControllerForm ui{};
47  Ui::GeoSysSettingsDisplayForm ui_disp{};
48  Ui::GeoSysSettingsIconisedVolumesForm ui_iconisedvols{};
49  Ui::GeoSysSettingsInteractionsForm ui_int{};
50  Ui::GeoSysSettingsMiscForm ui_misc{};
51  Ui::GeoSysSettingsMuonChamberForm ui_muon{};
52  Ui::GeoSysSettingsTreeBrowserForm ui_treebrowser{};
53  std::map<VP1GeoFlags::SubSystemFlag,QCheckBox*> subSysCheckBoxMap;
54  float last_transparency = 0.0F;
56  VP1GeoFlags::MuonChamberAdaptionStyleFlags last_muonChamberAdaptionStyle;
57  int last_labels = 0;
58  QList<int> last_labelPosOffset;
59  SoPickStyle * pickStyle = nullptr;
62 
65 
66 // std::map<QString, QList<QCheckBox*> > labelProvidingSystems; //!< First is name of system, second is list of types of information provided (system stores actual information)
67 };
68 
69 
70 //____________________________________________________________________
72  : VP1Controller(sys,"GeoSysController"), m_d(new Imp)
73 {
74  m_d->theclass = this;
75  m_d->ui.setupUi(this);
76 
77  initDialog(m_d->ui_disp, m_d->ui.pushButton_settings_display);
78  initDialog(m_d->ui_iconisedvols, m_d->ui.pushButton_settings_iconisedvols);
79  initDialog(m_d->ui_int, m_d->ui.pushButton_settings_interactions);
80  initDialog(m_d->ui_misc, m_d->ui.pushButton_settings_misc);
81  initDialog(m_d->ui_muon, m_d->ui.pushButton_settings_muonchambers);
82  initDialog(m_d->ui_treebrowser, m_d->ui.pushButton_settings_treebrowser);
83 
84  // m_d->ui_disp.widget_drawOptions->setLineWidthsDisabled();
85  m_d->ui_disp.widget_drawOptions->setPointSizesDisabled();
86 // m_d->ui_disp.widget_drawOptions->setBaseLightingDisabled();
87  m_d->ui_disp.widget_drawOptions->setComplexity(0.6);
88 
89  m_d->pickStyle = new SoPickStyle;
90  m_d->pickStyle->ref();
91 
92  #ifndef BUILDVP1LIGHT
93  //Possibly hide parts of gui, depending on job configuration:
95  m_d->ui.groupBox_innerdetector->setVisible(false);
96  m_d->ui.groupBox_calorimeters->setVisible(false);
97  m_d->ui.groupBox_muonsystems->setVisible(false);
98  m_d->ui.pushButton_settings_muonchambers->setEnabled(false);
99  m_d->ui_misc.groupBox_pixelactivemodules->setVisible(false);
100  m_d->ui_misc.groupBox_sctactivemodules->setVisible(false);
101  m_d->ui.groupBox_misc->setVisible(false);
102  m_d->ui_muon.groupBox_muonchamberconfig->setVisible(false);
103  m_d->ui_misc.groupBox_show_NSW_chambers->setVisible(false);
104  m_d->ui_int.checkBox_AutomaticMuonChamberEndViews->setVisible(false);
105  message("GeoModel not properly initialised.");
106  } else {
107  m_d->ui.groupBox_innerdetector->setVisible(VP1JobConfigInfo::hasPixelGeometry()
111  m_d->ui_misc.groupBox_pixelactivemodules->setVisible(VP1JobConfigInfo::hasPixelGeometry());
112  m_d->ui_misc.groupBox_sctactivemodules->setVisible(VP1JobConfigInfo::hasSCTGeometry());
113  m_d->ui.groupBox_calorimeters->setVisible(VP1JobConfigInfo::hasLArGeometry()
115  m_d->ui.groupBox_muonsystems->setVisible(VP1JobConfigInfo::hasMuonGeometry());
116  m_d->ui.pushButton_settings_muonchambers->setEnabled(VP1JobConfigInfo::hasMuonGeometry());
117  m_d->ui_int.checkBox_print_muonstationinfo->setVisible(VP1JobConfigInfo::hasMuonGeometry());
118  m_d->ui_muon.groupBox_muonchamberconfig->setVisible(VP1JobConfigInfo::hasMuonGeometry());
119  m_d->ui_misc.groupBox_show_NSW_chambers->setVisible(VP1JobConfigInfo::hasMuonNSWGeometry());
120  m_d->ui_int.checkBox_AutomaticMuonChamberEndViews->setVisible(VP1JobConfigInfo::hasMuonGeometry());
121  }
122  #endif
123 
124 
125  m_d->zappedVolumeListModel = new ZappedVolumeListModel(m_d->ui_iconisedvols.listView_iconisedvolumes);
126  m_d->ui_iconisedvols.listView_iconisedvolumes->setUniformItemSizes(true);
127  m_d->ui_iconisedvols.listView_iconisedvolumes->setSelectionMode(QAbstractItemView::ExtendedSelection);
128  m_d->ui_iconisedvols.listView_iconisedvolumes->setModel(m_d->zappedVolumeListModel);
129 
130  connect(m_d->ui_iconisedvols.listView_iconisedvolumes,SIGNAL(activated(const QModelIndex&)),
131  m_d->zappedVolumeListModel,SLOT(activated(const QModelIndex&)));
132 
134  // Setup connections which monitor changes in the controller so that we may emit signals as appropriate: //
136 
138  connectToLastUpdateSlot(m_d->ui_int.checkBox_geomselectable);
139 
141  connectToLastUpdateSlot(m_d->ui_disp.checkBox_showVolumeOutLines);
142 
144  connectToLastUpdateSlot(m_d->ui_disp.spinBox_transp);
145 
147  connectToLastUpdateSlot(m_d->ui_muon.checkBox_muonadapt_openmdtchambers);
148  connectToLastUpdateSlot(m_d->ui_muon.checkBox_muonadapt_hidetubes);
149  connectToLastUpdateSlot(m_d->ui_muon.checkBox_muonadapt_hiderpcvolumes);
150  connectToLastUpdateSlot(m_d->ui_muon.checkBox_muonadapt_opencscchambers);
151  connectToLastUpdateSlot(m_d->ui_muon.checkBox_muonadapt_opentgcchambers);
152 
153  initLastVars();
154 
155  //Connections for state-less signals:
156 
157  connect(m_d->ui_disp.pushButton_saveChangedMaterials,SIGNAL(clicked()),this,SLOT(saveMaterialsRequested()));
158  connect(m_d->ui_disp.pushButton_loadMaterials,SIGNAL(clicked()),this,SLOT(loadMaterialsRequested()));
159 
160  connect(m_d->ui_misc.pushButton_nonStandardShapes_Iconify,SIGNAL(clicked()),
162  connect(m_d->ui_misc.pushButton_nonStandardShapes_Expand,SIGNAL(clicked()),
164 
165  // Expand volumes based on Material
166  connect(m_d->ui_misc.lineEdit_expand_vols_matname,SIGNAL(returnPressed()),this,SLOT(emit_autoExpandByVolumeOrMaterialName()));
167  connect(m_d->ui_misc.pushButton_expand_vols_matname,SIGNAL(clicked()),this,SLOT(emit_autoExpandByVolumeOrMaterialName()));
168 
169  // Expand volumes based on Name
170  connect(m_d->ui_misc.lineEdit_expand_vols_volname,SIGNAL(returnPressed()),this,SLOT(emit_autoExpandByVolumeOrMaterialName()));
171  connect(m_d->ui_misc.pushButton_expand_vols_volname,SIGNAL(clicked()),this,SLOT(emit_autoExpandByVolumeOrMaterialName()));
172 
173  // Iconify/Zap volumes based on Name
174  connect(m_d->ui_misc.lineEdit_iconify_vols_volname,SIGNAL(returnPressed()),this,SLOT(emit_autoIconifyByVolumeOrMaterialName()));
175  connect(m_d->ui_misc.pushButton_iconify_vols_volname,SIGNAL(clicked()),this,SLOT(emit_autoIconifyByVolumeOrMaterialName()));
176 
177  connect(m_d->ui_muon.pushButton_muonadapt_adapttoevtdata,SIGNAL(clicked()),this,SLOT(emit_adaptMuonChambersToEventData()));
178 
179  connect(m_d->ui_misc.toolButton_pixelmod_adapt,SIGNAL(clicked(bool)),this,SLOT(emit_autoAdaptPixelsOrSCT()));
180  connect(m_d->ui_misc.toolButton_sctmod_adapt,SIGNAL(clicked(bool)),this,SLOT(emit_autoAdaptPixelsOrSCT()));
181 
182  connect(m_d->ui_misc.toolButton_nswchambers_adapt,SIGNAL(clicked(bool)),this,SLOT(emit_autoAdaptMuonNSW()));
183  connect(m_d->ui_misc.toolButton_nswchambers_reset,SIGNAL(clicked(bool)),this,SLOT(emit_autoAdaptMuonNSW()));
184 
185  connect(m_d->ui_misc.toolButton_pixelmod_reset,SIGNAL(clicked(bool)),this,SLOT(emit_resetSubSystems()));
186  connect(m_d->ui_misc.toolButton_sctmod_reset,SIGNAL(clicked(bool)),this,SLOT(emit_resetSubSystems()));
187  connect(m_d->ui_muon.pushButton_muonadapt_resetToAllChambers,SIGNAL(clicked()),this,SLOT(emit_resetSubSystems()));
188 
190 
191  // INNER DETECTOR
192  m_d->subSysCheckBoxMap[VP1GeoFlags::Pixel] = m_d->ui.checkBox_Pixel;
193  m_d->subSysCheckBoxMap[VP1GeoFlags::SCT] = m_d->ui.checkBox_SCT;
194  m_d->subSysCheckBoxMap[VP1GeoFlags::TRT] = m_d->ui.checkBox_TRT;
195  m_d->subSysCheckBoxMap[VP1GeoFlags::InDetServMat] = m_d->ui.checkBox_InDetServMat;
196 
197  // CALO
198  m_d->subSysCheckBoxMap[VP1GeoFlags::LAr] = m_d->ui.checkBox_LAr;
199  m_d->subSysCheckBoxMap[VP1GeoFlags::Tile] = m_d->ui.checkBox_Tile;
200 
201  // MUON TOROID
202  m_d->subSysCheckBoxMap[VP1GeoFlags::BarrelToroid] = m_d->ui.checkBox_MuonBarrelToroid;
203  m_d->subSysCheckBoxMap[VP1GeoFlags::ToroidECA] = m_d->ui.checkBox_MuonECAToroid;
204  // m_d->subSysCheckBoxMap[VP1GeoFlags::ToroidECC] = m_d->ui.checkBox_MuonECCToroid;
205  // MUON MISC
206  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonFeet] = m_d->ui.checkBox_MuonFeet;
207  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonShielding] = m_d->ui.checkBox_MuonShielding;
208  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonToroidsEtc] = m_d->ui.checkBox_MuonEtc; // this is the "Services" checkbox in the GUI
209  // MUON CHAMBERS
210  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonEndcapStationCSC] = m_d->ui.checkBox_MuonEndcapStationCSC;
211  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonEndcapStationTGC] = m_d->ui.checkBox_MuonEndcapStationTGC;
212  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonEndcapStationMDT] = m_d->ui.checkBox_MuonEndcapStationMDT;
214  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonBarrelStationInner] = m_d->ui.checkBox_MuonBarrelStationInner;
215  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonBarrelStationMiddle] = m_d->ui.checkBox_MuonBarrelStationMiddle;
216  m_d->subSysCheckBoxMap[VP1GeoFlags::MuonBarrelStationOuter] = m_d->ui.checkBox_MuonBarrelStationOuter;
217 
218  // MISCELLANEOUS
219  m_d->subSysCheckBoxMap[VP1GeoFlags::CavernInfra] = m_d->ui.checkBox_CavernInfra;
220  m_d->subSysCheckBoxMap[VP1GeoFlags::BeamPipe] = m_d->ui.checkBox_BeamPipe;
221  m_d->subSysCheckBoxMap[VP1GeoFlags::LUCID] = m_d->ui.checkBox_LUCID;
222  m_d->subSysCheckBoxMap[VP1GeoFlags::ZDC] = m_d->ui.checkBox_ZDC;
223  m_d->subSysCheckBoxMap[VP1GeoFlags::ALFA] = m_d->ui.checkBox_ALFA;
224  m_d->subSysCheckBoxMap[VP1GeoFlags::AFP] = m_d->ui.checkBox_AFP;
225  m_d->subSysCheckBoxMap[VP1GeoFlags::ForwardRegion] = m_d->ui.checkBox_ForwardRegion;
226  // OTHER
228 
229  // -> labels
231  connectToLastUpdateSlot(m_d->ui_disp.groupBox_labels);
232  connectToLastUpdateSlot(m_d->ui_disp.checkBox_labels_names);
233  connectToLastUpdateSlot(m_d->ui_disp.checkBox_labels_mooret0s);
234  connectToLastUpdateSlot(m_d->ui_disp.checkBox_labels_mboyt0s);
235  connectToLastUpdateSlot(m_d->ui_disp.checkBox_labels_hits);
236 
238  connectToLastUpdateSlot(m_d->ui_disp.horizontalSlider_labels_xOffset);
239  connectToLastUpdateSlot(m_d->ui_disp.horizontalSlider_labels_yOffset);
240  connectToLastUpdateSlot(m_d->ui_disp.horizontalSlider_labels_zOffset);
241 
242  m_d->last_labels=0;
243 }
244 
245 //____________________________________________________________________
247 {
248  m_d->pickStyle->unref();
249  delete m_d;
250 }
251 
252 //____________________________________________________________________
254 {
255  m_d->ui_int.checkBox_geomselectable->setChecked(b);
256  updatePickStyle();
257 }
258 
259 //____________________________________________________________________
261 {
262  m_d->ui_disp.widget_drawOptions->setComplexity(c);
263 }
264 
265 //____________________________________________________________________
267 {
268  m_d->ui_int.checkBox_zoomToVolumes->setChecked(b);
269 }
270 
271 //____________________________________________________________________
273 {
274  m_d->ui_int.checkBox_AutomaticMuonChamberEndViews->setChecked(b);
275 }
276 
277 //____________________________________________________________________
279 {
280  m_d->ui_muon.checkBox_muonadapt_autoadapt->setChecked(b);
281 }
282 
283 //____________________________________________________________________
285 {
287  m_d->ui_disp.matButton_lastSel->setEnabled(vh!=0);
288  if (vh) {
289  QList<SoMaterial*> mats = m_d->ui_disp.matButton_lastSel->handledMaterials();
290  if (mats.isEmpty()||mats.at(0)!=vh->material()) {
291  m_d->ui_disp.matButton_lastSel->clearHandledMaterials();
292  m_d->ui_disp.matButton_lastSel->setMaterial(vh->material());
293  }
294  } else {
295  m_d->ui_disp.matButton_lastSel->clearHandledMaterials();
296  }
297 }
298 
299 //____________________________________________________________________
301 {
302  return m_d->lastSelectedVolHandle;
303 }
304 
305 //____________________________________________________________________
307 {
308  const bool ctrl_isdown = (Qt::ControlModifier & QApplication::keyboardModifiers());
309  const bool onlyChangedMaterials = !ctrl_isdown;
310 
311  QString filename
312  = QFileDialog::getSaveFileName(this, "Select geometry material file to save",
313  (m_d->lastSaveMaterialsFile.isEmpty()?
316  "VP1 geometry material files (*.vp1geomat)",
317  0,QFileDialog::DontResolveSymlinks);
318 
319  if(filename.isEmpty())
320  return;
321 
322  if (!filename.endsWith(".vp1geomat"))
323  filename += ".vp1geomat";
324 
326 
327  messageVerbose("Emitting saveMaterialsToFile(\""+filename+"\","+str(onlyChangedMaterials)+")");
328  emit saveMaterialsToFile(filename,onlyChangedMaterials);
329 
330 }
331 
332 //____________________________________________________________________
334 {
335  QString filename = QFileDialog::getOpenFileName(this, "Select geometry material file to load",
336  (m_d->lastLoadMaterialsFile.isEmpty()?
339  "VP1 geometry material files (*.vp1geomat)",
340  0,QFileDialog::DontResolveSymlinks);
341  if(filename.isEmpty())
342  return;
343 
345 
346  messageVerbose("Emitting loadMaterialsFromFile(\""+filename+"\")");
348 }
349 
350 //____________________________________________________________________
352 {
353  std::map<VP1GeoFlags::SubSystemFlag,QCheckBox*>::const_iterator it = m_d->subSysCheckBoxMap.find(f);
354  return it==m_d->subSysCheckBoxMap.end() ? 0 : it->second;
355 }
356 
357 //____________________________________________________________________
359 {
360  return m_d->ui_disp.widget_drawOptions->drawOptionsGroup();
361 }
362 
363 //____________________________________________________________________
364 SoPickStyle * GeoSysController::pickStyle() const
365 {
366  return m_d->pickStyle;
367 }
368 
369 //____________________________________________________________________
371 {
372  return m_d->ui_treebrowser.treeView_volumebrowser;
373 }
374 
375 //____________________________________________________________________
377 {
378  return m_d->ui_disp.phisectionwidget;
379 }
380 
381 //____________________________________________________________________
383 {
384  return m_d->zappedVolumeListModel;
385 }
386 
387 //____________________________________________________________________
389 {
390  return m_d->ui_int.checkBox_zoomToVolumes->isChecked();
391 }
392 
393 //____________________________________________________________________
395 {
396  return m_d->ui_int.checkBox_AutomaticMuonChamberEndViews->isChecked();
397 }
398 
399 //____________________________________________________________________
401 {
402  return m_d->ui_int.checkBox_print_shape->isChecked();
403 }
404 
405 //____________________________________________________________________
407 {
408  return m_d->ui_int.checkBox_print_material->isChecked();
409 }
410 
411 //____________________________________________________________________
413 {
414  return m_d->ui_int.checkBox_print_copyno->isChecked();
415 }
416 
417 //____________________________________________________________________
419 {
420  return m_d->ui_int.checkBox_print_transform->isChecked();
421 }
422 
423 //____________________________________________________________________
425 {
426  return m_d->ui_int.checkBox_print_tree->isChecked();
427 }
428 
429 //____________________________________________________________________
431 {
432  return m_d->ui_int.checkBox_print_mass->isChecked();
433 }
434 
435 //____________________________________________________________________
437 {
438  return m_d->ui_int.checkBox_print_muonstationinfo->isChecked();
439 }
440 
441 //____________________________________________________________________
443 {
444  return m_d->ui_muon.checkBox_muonadapt_autoadapt->isChecked();
445 }
446 
447 //_____________________________________________________________________________________
449 {
450  m_d->pickStyle->style = m_d->ui_int.checkBox_geomselectable->isChecked()
451  ? SoPickStyle::SHAPE : SoPickStyle::UNPICKABLE;
452 }
453 
454 //____________________________________________________________________
456 {
457  int v(m_d->ui_disp.spinBox_transp->value());
458  return (v>=100?1.0:(v<=0?0.0:v/100.0));
459 }
460 
461 //____________________________________________________________________
463 {
464  return m_d->ui_disp.checkBox_showVolumeOutLines->isChecked();
465 }
466 
467 //____________________________________________________________________
468 VP1GeoFlags::MuonChamberAdaptionStyleFlags GeoSysController::muonChamberAdaptionStyle() const
469 {
470  VP1GeoFlags::MuonChamberAdaptionStyleFlags f;
471  if (m_d->ui_muon.checkBox_muonadapt_openmdtchambers->isChecked())
473  if (m_d->ui_muon.checkBox_muonadapt_hidetubes->isChecked())
475  if (m_d->ui_muon.checkBox_muonadapt_hiderpcvolumes->isChecked())
477  if (m_d->ui_muon.checkBox_muonadapt_opencscchambers->isChecked())
479  if (m_d->ui_muon.checkBox_muonadapt_opentgcchambers->isChecked())
481  return f;
482 }
483 
484 //void GeoSysController::setAvailableLabels(IVP1System* sys, QStringList providedLabels){
485 // messageVerbose("setAvailableLabels for "+sys->name() );
486 // if (m_d->labelProvidingSystems.find(sys->name())!=m_d->labelProvidingSystems.end())
487 // return;
488 // QList<QCheckBox*> checkboxes;
489 // for(QString label : providedLabels) {
490 // QCheckBox *checkbox = new QCheckBox(label, this);
491 // checkboxes.append(checkbox);
492 // }
493 // m_d->labelProvidingSystems[sys->name()]= checkboxes;
495 //
496 //}
497 
499  // make sure that when labels are enabled, only the systems which we have are enabled too
500  if (t0s) {
501  connect(m_d->ui_disp.groupBox_labels,SIGNAL(toggled(bool)),
502  m_d->ui_disp.checkBox_labels_mooret0s,SLOT(setEnabled(bool)));
503  connect(m_d->ui_disp.groupBox_labels,SIGNAL(toggled(bool)),
504  m_d->ui_disp.checkBox_labels_mboyt0s,SLOT(setEnabled(bool)));
505  } else {
506  m_d->ui_disp.checkBox_labels_mooret0s->setEnabled(false);
507  m_d->ui_disp.checkBox_labels_mboyt0s->setEnabled(false);
508  }
509  if (hits) {
510  connect(m_d->ui_disp.groupBox_labels,SIGNAL(toggled(bool)),
511  m_d->ui_disp.checkBox_labels_hits,SLOT(setEnabled(bool)));
512  } else {
513  m_d->ui_disp.checkBox_labels_hits->setEnabled(false);
514  }
515 
516  messageVerbose("setLabelsEnabled() t0s="+str(t0s)+", hits="+str(hits));
517 }
518 
519 
521  if (!m_d->ui_disp.groupBox_labels->isChecked()) return 0;
522  int labels=0;
523  if (m_d->ui_disp.checkBox_labels_names->isChecked()) labels|=0x1;
524  if (m_d->ui_disp.checkBox_labels_mooret0s->isChecked()) labels|=0x2;
525  if (m_d->ui_disp.checkBox_labels_mboyt0s->isChecked()) labels|=0x4;
526  // leaving space for another t0 type, if necessary
527  if (m_d->ui_disp.checkBox_labels_hits->isChecked()) labels|=0x10;
528  return labels;
529 }
530 
532 {
533  QList<int> values;
534  values << m_d->ui_disp.horizontalSlider_labels_xOffset->value();
535  values << m_d->ui_disp.horizontalSlider_labels_yOffset->value();
536  values << m_d->ui_disp.horizontalSlider_labels_zOffset->value();
537  return values;
538 }
539 
540 //____________________________________________________________________
542 {
543  messageVerbose("Emitting adaptMuonChambersToEventData()");
545 }
546 
547 //____________________________________________________________________
549 {
550  bool pixel(sender()==m_d->ui_misc.toolButton_pixelmod_adapt);
551  bool brl = pixel ? m_d->ui_misc.checkBox_pixelmod_barrel->isChecked()
552  : m_d->ui_misc.checkBox_sctmod_barrel->isChecked();
553  bool ecA = pixel ? m_d->ui_misc.checkBox_pixelmod_endcapA->isChecked()
554  : m_d->ui_misc.checkBox_sctmod_endcapA->isChecked();
555  bool ecC = pixel ? m_d->ui_misc.checkBox_pixelmod_endcapC->isChecked()
556  : m_d->ui_misc.checkBox_sctmod_endcapC->isChecked();
557  bool bcmA = pixel ? m_d->ui_misc.checkBox_bcmMod_Aside->isChecked() : false;
558  bool bcmC = pixel ? m_d->ui_misc.checkBox_bcmMod_Cside->isChecked() : false;
559 
560  messageVerbose ("Emitting autoAdaptPixelsOrSCT("+str(pixel)+", "+str(brl)+","+str(ecA)+","+str(ecC)+","+str(bcmA)+","+str(bcmC)+")");
561  emit autoAdaptPixelsOrSCT(pixel,brl,ecA,ecC,bcmA,bcmC);
562 }
563 
564 
565 //____________________________________________________________________
567 {
568  bool reset = false;
569  if (sender()==m_d->ui_misc.toolButton_nswchambers_reset) {
570  reset = true;
571  }
572  bool stgc = m_d->ui_misc.checkBox_NSW_sTGC->isChecked();
573  bool mm = m_d->ui_misc.checkBox_NSW_MM->isChecked();
574  bool pSp = m_d->ui_misc.checkBox_NSW_Passive_Spacer->isChecked();
575  bool pSt = m_d->ui_misc.checkBox_NSW_Passive_Structure->isChecked();
576  bool pAP = m_d->ui_misc.checkBox_NSW_Passive_APlate->isChecked();
577 
578  messageVerbose ("Emitting autoAdaptPixelsOrSCT("+str(reset)+","+str(stgc)+","+str(mm)+")");
579  emit autoAdaptMuonNSW(reset, stgc, mm, pSp, pSt, pAP);
580 }
581 
582 
583 
584 //____________________________________________________________________
586 {
587  bool volname(sender()==m_d->ui_misc.pushButton_iconify_vols_volname
588  ||sender()==m_d->ui_misc.lineEdit_iconify_vols_volname);
589 
590  QString name(volname ? m_d->ui_misc.lineEdit_iconify_vols_volname->text()
591  : "" );
592 
593  if (name.isEmpty())
594  return;
595  messageVerbose("emitting autoIconifyByVolumeOrMaterialName("+str(!volname)+", "+name+")");
597 }
598 
599 //____________________________________________________________________
601 {
602  bool volname(sender()==m_d->ui_misc.pushButton_expand_vols_volname
603  ||sender()==m_d->ui_misc.lineEdit_expand_vols_volname);
604  QString name(volname?m_d->ui_misc.lineEdit_expand_vols_volname->text()
605  :m_d->ui_misc.lineEdit_expand_vols_matname->text());
606  if (name.isEmpty())
607  return;
608  messageVerbose("emitting autoExpandByVolumeOrMaterialName("+str(!volname)+", "+name+")");
609  emit autoExpandByVolumeOrMaterialName(!volname,name);
610 }
611 
612 //____________________________________________________________________
614  bool zap(sender()==m_d->ui_misc.pushButton_nonStandardShapes_Iconify);
615  messageVerbose("emitting actionOnAllNonStandardVolumes("+str(zap)+")");
617 }
618 
619 //____________________________________________________________________
621 
637 {
638  VP1GeoFlags::SubSystemFlags f;
639  if (sender()==m_d->ui_misc.toolButton_pixelmod_reset)
641  else if (sender()==m_d->ui_misc.toolButton_sctmod_reset)
643  else if (sender()==m_d->ui_muon.pushButton_muonadapt_resetToAllChambers)
645  messageVerbose(" Emitting resetSubSystems("+str(f)+")");
646  emit resetSubSystems(f);
647 }
648 
649 //____________________________________________________________________
651 {
652  return 6;
653 }
654 
655 //____________________________________________________________________
657 {
658  s.save(m_d->ui_disp.phisectionwidget);//version <=1 saved in old format
659  s.save(m_d->ui_disp.spinBox_transp);
660  s.save(m_d->ui_muon.checkBox_muonadapt_autoadapt);
661  s.save(m_d->ui_muon.checkBox_muonadapt_openmdtchambers);
662  s.save(m_d->ui_muon.checkBox_muonadapt_hidetubes);
663  s.save(m_d->ui_muon.checkBox_muonadapt_hiderpcvolumes);
664  s.save(m_d->ui_muon.checkBox_muonadapt_opencscchambers);
665  s.save(m_d->ui_muon.checkBox_muonadapt_opentgcchambers);
666  s.save(m_d->ui_misc.checkBox_pixelmod_barrel);
667  s.save(m_d->ui_misc.checkBox_pixelmod_endcapA);
668  s.save(m_d->ui_misc.checkBox_pixelmod_endcapC);
669  s.save(m_d->ui_misc.checkBox_sctmod_barrel);
670  s.save(m_d->ui_misc.checkBox_sctmod_endcapA);
671  s.save(m_d->ui_misc.checkBox_sctmod_endcapC);
672  s.save(m_d->ui_disp.widget_drawOptions);
673  s.save(m_d->ui_misc.lineEdit_expand_vols_matname);
674  s.save(m_d->ui_misc.lineEdit_expand_vols_volname);
675  s.save(m_d->ui_int.checkBox_geomselectable);
676  s.save(m_d->ui_int.checkBox_print_shape);
677  s.save(m_d->ui_int.checkBox_print_material);
678  s.save(m_d->ui_int.checkBox_print_transform);
679  s.save(m_d->ui_int.checkBox_print_mass);
680  s.save(m_d->ui_int.checkBox_print_copyno);
681  s.save(m_d->ui_int.checkBox_print_tree);
682  s.save(m_d->ui_int.checkBox_print_muonstationinfo);
683  s.save(m_d->ui_int.checkBox_zoomToVolumes);
684  s.save(m_d->ui_int.checkBox_AutomaticMuonChamberEndViews);
685  s.save(m_d->ui_disp.checkBox_showVolumeOutLines);//version 1+
686  s.save(m_d->ui_misc.checkBox_bcmMod_Aside);//version 3+
687  s.save(m_d->ui_misc.checkBox_bcmMod_Cside);//version 3+
688 
689  // labels - version 4+
690  s.save(m_d->ui_disp.groupBox_labels);
691  s.save(m_d->ui_disp.horizontalSlider_labels_xOffset);
692  s.save(m_d->ui_disp.horizontalSlider_labels_yOffset);
693  s.save(m_d->ui_disp.horizontalSlider_labels_zOffset);
694  s.save(m_d->ui_disp.checkBox_labels_names);
695  //version 5+
696  s.save(m_d->ui_disp.checkBox_labels_mboyt0s);
697  s.save(m_d->ui_disp.checkBox_labels_mooret0s);
698  s.save(m_d->ui_disp.checkBox_labels_hits);
699  // version >=6
700  s.save(m_d->ui_misc.checkBox_NSW_MM);
701  s.save(m_d->ui_misc.checkBox_NSW_sTGC);
702  s.save(m_d->ui_misc.checkBox_NSW_Passive_Spacer);
703  s.save(m_d->ui_misc.checkBox_NSW_Passive_Structure);
704  s.save(m_d->ui_misc.checkBox_NSW_Passive_APlate);
705 
706 
707  s.ignoreWidget(m_d->ui_disp.matButton_lastSel);
708  std::map<VP1GeoFlags::SubSystemFlag,QCheckBox*>::const_iterator it,itE(m_d->subSysCheckBoxMap.end());
709  for (it=m_d->subSysCheckBoxMap.begin();it!=itE;++it)
710  s.ignoreWidget(it->second);
711 }
712 
713 //____________________________________________________________________
715 {
716  if (s.version()<0||s.version()>currentSettingsVersion()) {
717  message("Warning: State data in .vp1 file has unsupported version ("+str(s.version())+")");
718  return;
719  }
720 
721  if (s.version()<=1) {
722  s.ignoreObsoletePhiSectionWidgetState();
723  s.ignoreWidget(m_d->ui_disp.phisectionwidget);
724  } else {
725  s.restore(m_d->ui_disp.phisectionwidget);
726  }
727  s.restore(m_d->ui_disp.spinBox_transp);
728  s.restore(m_d->ui_muon.checkBox_muonadapt_autoadapt);
729  s.restore(m_d->ui_muon.checkBox_muonadapt_openmdtchambers);
730  s.restore(m_d->ui_muon.checkBox_muonadapt_hidetubes);
731  s.restore(m_d->ui_muon.checkBox_muonadapt_hiderpcvolumes);
732  s.restore(m_d->ui_muon.checkBox_muonadapt_opencscchambers);
733  s.restore(m_d->ui_muon.checkBox_muonadapt_opentgcchambers);
734  s.restore(m_d->ui_misc.checkBox_pixelmod_barrel);
735  s.restore(m_d->ui_misc.checkBox_pixelmod_endcapA);
736  s.restore(m_d->ui_misc.checkBox_pixelmod_endcapC);
737  s.restore(m_d->ui_misc.checkBox_sctmod_barrel);
738  s.restore(m_d->ui_misc.checkBox_sctmod_endcapA);
739  s.restore(m_d->ui_misc.checkBox_sctmod_endcapC);
740  s.restore(m_d->ui_disp.widget_drawOptions);
741  s.restore(m_d->ui_misc.lineEdit_expand_vols_matname);
742  s.restore(m_d->ui_misc.lineEdit_expand_vols_volname);
743  s.restore(m_d->ui_int.checkBox_geomselectable);
744  s.restore(m_d->ui_int.checkBox_print_shape);
745  s.restore(m_d->ui_int.checkBox_print_material);
746  s.restore(m_d->ui_int.checkBox_print_transform);
747  s.restore(m_d->ui_int.checkBox_print_mass);
748  s.restore(m_d->ui_int.checkBox_print_copyno);
749  s.restore(m_d->ui_int.checkBox_print_tree);
750  s.restore(m_d->ui_int.checkBox_print_muonstationinfo);
751  s.restore(m_d->ui_int.checkBox_zoomToVolumes);
752  s.restore(m_d->ui_int.checkBox_AutomaticMuonChamberEndViews);
753  if (s.version()>=1)
754  s.restore(m_d->ui_disp.checkBox_showVolumeOutLines);
755 
756  if (s.version()>=3) {
757  s.restore(m_d->ui_misc.checkBox_bcmMod_Aside);
758  s.restore(m_d->ui_misc.checkBox_bcmMod_Cside);
759  }
760 
761  // labels
762  if (s.version()>=4){
763  s.restore(m_d->ui_disp.groupBox_labels);
764  s.restore(m_d->ui_disp.horizontalSlider_labels_xOffset);
765  s.restore(m_d->ui_disp.horizontalSlider_labels_yOffset);
766  s.restore(m_d->ui_disp.horizontalSlider_labels_zOffset);
767  s.restore(m_d->ui_disp.checkBox_labels_names);
768  }
769  if (s.version()>=5){
770  s.restore(m_d->ui_disp.checkBox_labels_mboyt0s);
771  s.restore(m_d->ui_disp.checkBox_labels_mooret0s);
772  s.restore(m_d->ui_disp.checkBox_labels_hits);
773  }
774  if (s.version()>=6){
775  s.restore(m_d->ui_misc.checkBox_NSW_MM);
776  s.restore(m_d->ui_misc.checkBox_NSW_sTGC);
777  s.restore(m_d->ui_misc.checkBox_NSW_Passive_Spacer);
778  s.restore(m_d->ui_misc.checkBox_NSW_Passive_Structure);
779  s.restore(m_d->ui_misc.checkBox_NSW_Passive_APlate);
780  }
781 
782  s.ignoreWidget(m_d->ui_disp.matButton_lastSel);
783  std::map<VP1GeoFlags::SubSystemFlag,QCheckBox*>::const_iterator it,itE(m_d->subSysCheckBoxMap.end());
784  for (it=m_d->subSysCheckBoxMap.begin();it!=itE;++it)
785  s.ignoreWidget(it->second);
786 
787  m_d->ui_int.groupBox_printOnSelection->setEnabled(m_d->ui_int.checkBox_geomselectable->isChecked());
788  m_d->ui_int.groupBox_automaticViewReorientations->setEnabled(m_d->ui_int.checkBox_geomselectable->isChecked());
789 
790 }
791 
793 // Test for possible changes in values and emit signals as appropriate:
794 // (possibleChange_XXX() slots code provided by macros)
795 #define VP1CONTROLLERCLASSNAME GeoSysController
797 POSSIBLECHANGE_IMP(transparency)
798 POSSIBLECHANGE_IMP(showVolumeOutLines)
799 POSSIBLECHANGE_IMP(muonChamberAdaptionStyle)
801 POSSIBLECHANGE_IMP(labelPosOffset)
802 
803 
804 
GeoSysController::setLabelsEnabled
void setLabelsEnabled(bool t0s, bool hits)
controls whether the checkboxes are enabled or not.
Definition: GeoSysController.cxx:498
VP1Serialise.h
VP1GeoFlags::MuonBarrelStationInner
@ MuonBarrelStationInner
Definition: VP1GeoFlags.h:42
VP1Controller::addUpdateSlot
const char * addUpdateSlot(const char *slot)
Definition: VP1Controller.cxx:318
GeoSysController::autoExpandByVolumeOrMaterialName
void autoExpandByVolumeOrMaterialName(bool, QString)
GeoSysController::Imp::ui_int
Ui::GeoSysSettingsInteractionsForm ui_int
Definition: GeoSysController.cxx:49
GeoSysController.h
POSSIBLECHANGE_IMP
#define POSSIBLECHANGE_IMP(x)
Definition: VP1ControllerMacros.h:18
VP1GeoFlags::ToroidECA
@ ToroidECA
Definition: VP1GeoFlags.h:58
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
VP1Deserialise.h
GeoSysController::printInfoOnClick_Material
bool printInfoOnClick_Material() const
Definition: GeoSysController.cxx:406
VP1Serialise
Definition: VP1Serialise.h:45
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
GeoSysController::orientViewToMuonChambersOnClick
bool orientViewToMuonChambersOnClick() const
Definition: GeoSysController.cxx:394
VP1GeoTreeView
Definition: VP1GeoTreeView.h:22
VP1GeoFlags::MuonShielding
@ MuonShielding
Definition: VP1GeoFlags.h:62
VP1GeoFlags::ALFA
@ ALFA
Definition: VP1GeoFlags.h:57
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::Imp::pickStyle
SoPickStyle * pickStyle
Definition: GeoSysController.cxx:59
GeoSysController::Imp::zappedVolumeListModel
ZappedVolumeListModel * zappedVolumeListModel
Definition: GeoSysController.cxx:61
GeoSysController::autoIconifyByVolumeOrMaterialName
void autoIconifyByVolumeOrMaterialName(bool, QString)
VP1JobConfigInfo::hasTileGeometry
static bool hasTileGeometry()
Definition: VP1JobConfigInfo.cxx:133
GeoSysController::drawOptions
SoGroup * drawOptions() const
Definition: GeoSysController.cxx:358
GeoSysController::loadMaterialsFromFile
void loadMaterialsFromFile(QString)
TRTCalib_cfilter.t0s
list t0s
Definition: TRTCalib_cfilter.py:110
GeoSysController::Imp::lastSelectedVolHandle
VolumeHandle * lastSelectedVolHandle
Definition: GeoSysController.cxx:60
VP1GeoFlags::InDetServMat
@ InDetServMat
Definition: VP1GeoFlags.h:37
VolumeHandle::material
SoMaterial * material()
Definition: VolumeHandle.cxx:187
GeoSysController
Definition: GeoSysController.h:29
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
VP1JobConfigInfo::hasLArGeometry
static bool hasLArGeometry()
Definition: VP1JobConfigInfo.cxx:132
VP1GeoFlags::Pixel
@ Pixel
Definition: VP1GeoFlags.h:34
fillPileUpNoiseLumi.connect
string connect
Definition: fillPileUpNoiseLumi.py:70
VP1GeoFlags::AllMuonChambers
@ AllMuonChambers
Definition: VP1GeoFlags.h:50
VP1Controller::initDialog
void initDialog(T &theUI, QPushButton *launchbutton, QAbstractButton *enabledButton=0)
Definition: VP1Controller.h:144
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
GeoSysController::Imp::last_transparency
float last_transparency
Definition: GeoSysController.cxx:54
GeoSysController::emit_actionOnAllNonStandardVolumes
void emit_actionOnAllNonStandardVolumes()
Definition: GeoSysController.cxx:613
skel.it
it
Definition: skel.GENtoEVGEN.py:396
VP1GeoFlags::BeamPipe
@ BeamPipe
Definition: VP1GeoFlags.h:52
GeoSysController::Imp::ui_disp
Ui::GeoSysSettingsDisplayForm ui_disp
Definition: GeoSysController.cxx:47
GeoSysController::Imp::last_muonChamberAdaptionStyle
VP1GeoFlags::MuonChamberAdaptionStyleFlags last_muonChamberAdaptionStyle
Definition: GeoSysController.cxx:56
GeoSysController::emit_autoAdaptMuonNSW
void emit_autoAdaptMuonNSW()
Definition: GeoSysController.cxx:566
GeoSysController::zoomToVolumeOnClick
bool zoomToVolumeOnClick() const
Definition: GeoSysController.cxx:388
VP1GeoFlags::HideRPCVolumes
@ HideRPCVolumes
Definition: VP1GeoFlags.h:82
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
VP1GeoFlags::MuonFeet
@ MuonFeet
Definition: VP1GeoFlags.h:61
VP1Controller::connectToLastUpdateSlot
void connectToLastUpdateSlot(QObject *sender, const char *signal)
Definition: VP1Controller.cxx:327
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
GeoSysController::Imp::last_labelPosOffset
QList< int > last_labelPosOffset
needed for POSSIBLECHANGE_IMP macro.
Definition: GeoSysController.cxx:58
TruthTest.itE
itE
Definition: TruthTest.py:25
GeoSysController::Imp::lastLoadMaterialsFile
QString lastLoadMaterialsFile
Definition: GeoSysController.cxx:64
VP1GeoFlags::MuonToroidsEtc
@ MuonToroidsEtc
Definition: VP1GeoFlags.h:63
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:805
VP1GeoFlags::MuonEndcapStationNSW
@ MuonEndcapStationNSW
Definition: VP1GeoFlags.h:65
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
ZappedVolumeListModel.h
VP1GeoFlags::MuonEndcapStationCSC
@ MuonEndcapStationCSC
Definition: VP1GeoFlags.h:46
GeoSysController::pickStyle
SoPickStyle * pickStyle() const
Definition: GeoSysController.cxx:364
VP1GeoFlags::ForwardRegion
@ ForwardRegion
Definition: VP1GeoFlags.h:66
VP1Settings.h
GeoSysController::actualSaveSettings
void actualSaveSettings(VP1Serialise &) const
Definition: GeoSysController.cxx:656
GeoSysController::emit_adaptMuonChambersToEventData
void emit_adaptMuonChambersToEventData()
Definition: GeoSysController.cxx:541
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
GeoSysController::transparency
float transparency() const
Definition: GeoSysController.cxx:455
IVP1System
Definition: IVP1System.h:36
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::Imp::ui_iconisedvols
Ui::GeoSysSettingsIconisedVolumesForm ui_iconisedvols
Definition: GeoSysController.cxx:48
VP1Settings::defaultFileSelectDirectory
static QString defaultFileSelectDirectory()
Definition: VP1Settings.cxx:22
GeoSysController::possibleChange_transparency
void possibleChange_transparency()
VP1GeoFlags::OpenCSCChambers
@ OpenCSCChambers
Definition: VP1GeoFlags.h:79
GeoSysController::Imp::ui_treebrowser
Ui::GeoSysSettingsTreeBrowserForm ui_treebrowser
Definition: GeoSysController.cxx:52
GeoSysController::autoAdaptPixelsOrSCT
void autoAdaptPixelsOrSCT(bool, bool, bool, bool, bool, bool)
GeoSysController::Imp::ui_muon
Ui::GeoSysSettingsMuonChamberForm ui_muon
Definition: GeoSysController.cxx:51
VP1GeoFlags::MuonEndcapStationMDT
@ MuonEndcapStationMDT
Definition: VP1GeoFlags.h:49
GeoSysController::Imp::subSysCheckBoxMap
std::map< VP1GeoFlags::SubSystemFlag, QCheckBox * > subSysCheckBoxMap
Definition: GeoSysController.cxx:53
VP1JobConfigInfo::hasSCTGeometry
static bool hasSCTGeometry()
Definition: VP1JobConfigInfo.cxx:128
GeoSysController::possibleChange_labelPosOffset
void possibleChange_labelPosOffset()
VP1GeoFlags::LAr
@ LAr
Definition: VP1GeoFlags.h:39
VP1GeoFlags::MuonEndcapStationTGC
@ MuonEndcapStationTGC
Definition: VP1GeoFlags.h:47
GeoSysController::Imp::theclass
GeoSysController * theclass
Definition: GeoSysController.cxx:45
VP1GeoFlags::OpenMDTChambers
@ OpenMDTChambers
Definition: VP1GeoFlags.h:78
GeoSysController::emit_autoExpandByVolumeOrMaterialName
void emit_autoExpandByVolumeOrMaterialName()
Definition: GeoSysController.cxx:600
hist_file_dump.f
f
Definition: hist_file_dump.py:135
GeoSysController::saveMaterialsRequested
void saveMaterialsRequested()
Definition: GeoSysController.cxx:306
GeoSysController::setComplexity
void setComplexity(double)
Definition: GeoSysController.cxx:260
VP1GeoFlags::AllUnrecognisedVolumes
@ AllUnrecognisedVolumes
Definition: VP1GeoFlags.h:73
GeoSysController::possibleChange_labels
void possibleChange_labels()
VP1Deserialise
Definition: VP1Deserialise.h:44
VP1JobConfigInfo::hasTRTGeometry
static bool hasTRTGeometry()
Definition: VP1JobConfigInfo.cxx:129
PhiSectionWidget
Definition: PhiSectionWidget.h:26
GeoSysController::printInfoOnClick_Tree
bool printInfoOnClick_Tree() const
Definition: GeoSysController.cxx:424
VolumeHandle
Definition: VolumeHandle.h:21
GeoSysController::Imp::ui
Ui::GeometrySystemControllerForm ui
Definition: GeoSysController.cxx:46
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
VP1JobConfigInfo::hasInDetServiceMaterialGeometry
static bool hasInDetServiceMaterialGeometry()
Definition: VP1JobConfigInfo.cxx:130
GeoSysController::Imp::last_showVolumeOutLines
bool last_showVolumeOutLines
Definition: GeoSysController.cxx:55
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
VP1GeoFlags::LUCID
@ LUCID
Definition: VP1GeoFlags.h:55
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
python.PyAthena.v
v
Definition: PyAthena.py:154
GeoSysController::lastSelectedVolume
VolumeHandle * lastSelectedVolume() const
Definition: GeoSysController.cxx:300
VP1GeoFlags::MuonBarrelStationMiddle
@ MuonBarrelStationMiddle
Definition: VP1GeoFlags.h:44
GeoSysController::currentSettingsVersion
int currentSettingsVersion() const
Definition: GeoSysController.cxx:650
GeoSysController::autoAdaptMuonNSW
void autoAdaptMuonNSW(bool, bool, bool, bool, bool, bool)
GeoSysController::Imp::lastSaveMaterialsFile
QString lastSaveMaterialsFile
Definition: GeoSysController.cxx:63
ZappedVolumeListModel
Definition: ZappedVolumeListModel.h:15
CxxUtils::reset
constexpr std::enable_if_t< is_bitmask_v< E >, E & > reset(E &lhs, E rhs)
Convenience function to clear bits in a class enum bitmask.
Definition: bitmask.h:251
GeoSysController::emit_autoAdaptPixelsOrSCT
void emit_autoAdaptPixelsOrSCT()
Definition: GeoSysController.cxx:548
VP1GeoFlags::HideMDTTubes
@ HideMDTTubes
Definition: VP1GeoFlags.h:81
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
GeoSysController::printInfoOnClick_Transform
bool printInfoOnClick_Transform() const
Definition: GeoSysController.cxx:418
VP1GeoFlags::MuonBarrelStationOuter
@ MuonBarrelStationOuter
Definition: VP1GeoFlags.h:45
VP1GeoFlags::OpenTGCChambers
@ OpenTGCChambers
Definition: VP1GeoFlags.h:80
GeoSysController::actualRestoreSettings
void actualRestoreSettings(VP1Deserialise &)
Definition: GeoSysController.cxx:714
GeoSysController::labels
int labels() const
Definition: GeoSysController.cxx:520
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
VP1JobConfigInfo.h
GeoSysController::resetSubSystems
void resetSubSystems(VP1GeoFlags::SubSystemFlags)
VP1GeoFlags::SubSystemFlag
SubSystemFlag
Definition: VP1GeoFlags.h:30
GeoSysController::Imp::last_labels
int last_labels
needed for POSSIBLECHANGE_IMP macro.
Definition: GeoSysController.cxx:57
VP1GeoFlags::BarrelToroid
@ BarrelToroid
Definition: VP1GeoFlags.h:41
VP1JobConfigInfo::hasMuonNSWGeometry
static bool hasMuonNSWGeometry()
Definition: VP1JobConfigInfo.cxx:135
GeoSysController::labelPosOffset
QList< int > labelPosOffset()
Offset in x,y,z.
Definition: GeoSysController.cxx:531
VP1JobConfigInfo::hasPixelGeometry
static bool hasPixelGeometry()
Definition: VP1JobConfigInfo.cxx:127
GeoSysController::actionOnAllNonStandardVolumes
void actionOnAllNonStandardVolumes(bool)
GeoSysController::setLastSelectedVolume
void setLastSelectedVolume(VolumeHandle *)
Definition: GeoSysController.cxx:284
VP1GeoFlags::SCT
@ SCT
Definition: VP1GeoFlags.h:35
GeoSysController::Imp::ui_misc
Ui::GeoSysSettingsMiscForm ui_misc
Definition: GeoSysController.cxx:50
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()
VP1JobConfigInfo::hasMuonGeometry
static bool hasMuonGeometry()
Definition: VP1JobConfigInfo.cxx:134
python.compressB64.c
def c
Definition: compressB64.py:93
GeoSysController::printInfoOnClick_MuonStationInfo
bool printInfoOnClick_MuonStationInfo() const
Definition: GeoSysController.cxx:436
VP1GeoFlags::CavernInfra
@ CavernInfra
Definition: VP1GeoFlags.h:51
GeoSysController::setGeometrySelectable
void setGeometrySelectable(bool)
Definition: GeoSysController.cxx:253
GeoSysController::possibleChange_muonChamberAdaptionStyle
void possibleChange_muonChamberAdaptionStyle()
VP1Controller::initLastVars
void initLastVars()
Definition: VP1Controller.cxx:68
IVP1System.h
VP1GeoFlags::ZDC
@ ZDC
Definition: VP1GeoFlags.h:56
SiliconTech::pixel
@ pixel
VP1GeoFlags::TRT
@ TRT
Definition: VP1GeoFlags.h:36
GeoSysController::printInfoOnClick_Shape
bool printInfoOnClick_Shape() const
Definition: GeoSysController.cxx:400
VP1JobConfigInfo::hasGeoModelExperiment
static bool hasGeoModelExperiment()
Definition: VP1JobConfigInfo.cxx:125
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
VP1ControllerMacros.h
VP1GeoFlags::Tile
@ Tile
Definition: VP1GeoFlags.h:40
VP1GeoFlags::AFP
@ AFP
Definition: VP1GeoFlags.h:67