ATLAS Offline Software
PRDSystemController.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 PRDSystemController //
9 // //
10 // Description: Controller widget for the PRD system. //
11 // Keeps all nasty gui stuff internally, and //
12 // only presents the actual interesting data //
13 // with specialised access methods and signals. //
14 // //
15 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
16 // Initial version: November 2007 //
17 // //
19 
20 #ifndef PRDSYSTEMCONTROLLER_H
21 #define PRDSYSTEMCONTROLLER_H
22 
23 #include "VP1Base/VP1Controller.h"
28 #include <QByteArray>
29 #include <set>
31 class SoMaterial;
32 class SoGroup;
33 
35 
36  Q_OBJECT
37 
38 public:
39 
41  virtual ~PRDSystemController();
42 
44  int currentSettingsVersion() const;
45  void actualSaveSettings(VP1Serialise&) const;
46 
47  //Use by the system to access the collection widget, which again is
48  //the main entry point for communication with the prd collections
49  //(loading/hiding/etc.).
51 
52  SoGroup * drawOptions(PRDDetType::Type) const;
53 
54  SoMaterial * getHighLightMaterial();
55  double highLightMaterialWeight() const;//value indicates relative weight
56  //of highlight material. 0.0
57  //obviously means no high light
58  //material, and values > 999.0
59  //should be taken to mean infinite
60  //weight
61 
62  //Stateless on-click info:
63  bool printInfoOnClick() const;
64  bool zoomOnClick() const;
65  bool muonOrientToChambersOnClick() const;
66 
67  //Access relevant information of controller:
69 
70  bool selectionModeMultiple() const;
71  bool showSelectionLine() const;
72  SoMaterial * getMultiSelectionLineMaterial() const;
73 
74  bool highLightOutliers() const;
75  bool drawErrors() const;
76  bool drawRDOs() const;
77 
81 
82  bool projectPixelHits() const;
83  bool projectSCTHits() const;
84  bool projectTRTHits() const;
85  bool projectMDTHits() const;
86  bool projectRPCHits() const;
87  bool projectCSCHits() const;
88  bool projectTGCHits() const;
89  // bool projectSTGCHits() const;
90 
91  //Cuts;
92  VP1Interval cutAllowedEta() const;
93  QList<VP1Interval> cutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
94  PRDCommonFlags::InDetPartsFlags inDetPartsFlags() const;
95  unsigned pixelMinNRDOPerCluster() const;
96  bool sctExcludeIsolatedClusters() const;
97  unsigned trtMinToT() const;
98  unsigned trtMaxToT() const;
99  unsigned trtMinLE() const;
100  unsigned trtMaxLE() const;
101  bool trtRequireHT() const;
102  unsigned mdtMinNHitsPerStation() const;
104  bool mdtExcludeMaskedHits() const;
105  QString mdt_cutMdtDriftCircleStatus() const;
106  bool limitToActiveChambers() const;
107  //Used ID parts:
108  InDetProjFlags::DetTypeFlags inDetPartsUsingProjections() const;
109 
110  std::set<PRDDetType::Type> shownCollectionTypes() const;
111 
112 signals:
113  //The following signals are emitted when any of the relevant information in the controller changes value:
114 
115  //Display modes and projections:
116  // void generalPRDDetailLevelChanged(PRDCollHandleBase::DETAIL);
120  void clearSelection() const;//only signal
121  void highLightMaterialWeightChanged(const double&);
123  void drawErrorsChanged(bool);
124  void drawRDOsChanged(bool);
135  // void projectSTGCHitsChanged(bool);
136 
137  //Cuts:
139  void cutAllowedPhiChanged(const QList<VP1Interval>&);
140  void inDetPartsFlagsChanged(PRDCommonFlags::InDetPartsFlags);
143  void trtMinToTChanged(unsigned);
144  void trtMaxToTChanged(unsigned);
145  void trtMinLEChanged(unsigned);
146  void trtMaxLEChanged(unsigned);
152 
154 
155  //Used ID parts:
156  void inDetPartsUsingProjectionsChanged(InDetProjFlags::DetTypeFlags);
157  void shownCollectionTypesChanged(const std::set<PRDDetType::Type>&);
158 
159 private:
160 
161  class Imp;
162  Imp * m_d;
163 
164  //For verbose output:
165  template <class T> static QString toString( const T& t ) { return VP1Controller::toString(t); }//unhide base methods
166 
169  static QString toString( const std::set<PRDDetType::Type>& s ) { return "["+str(s.size())+" types]"; }
170 
171 
172 private Q_SLOTS:
173  void emitClearSelection();
174  void updateHighlightGui();
199 
201 
209  // void possibleChange_projectSTGCHits();
212 
213 };
214 
215 #endif
PRDSystemController::projectSCTHits
bool projectSCTHits() const
Definition: PRDSystemController.cxx:555
PRDSystemController::trtMinToT
unsigned trtMinToT() const
Definition: PRDSystemController.cxx:389
PRDSystemController::possibleChange_trtMinLE
void possibleChange_trtMinLE()
PRDCollHandleBase.h
PRDSystemController::~PRDSystemController
virtual ~PRDSystemController()
Definition: PRDSystemController.cxx:274
PRDSystemController::possibleChange_mdtExcludeMaskedHits
void possibleChange_mdtExcludeMaskedHits()
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
VP1Controller::toString
static QString toString(const T &par)
Definition: VP1Controller.h:138
VP1Serialise
Definition: VP1Serialise.h:45
PRDSystemController::possibleChange_highLightOutliers
void possibleChange_highLightOutliers()
PRDSystemController::highLightTRTHitsByHighThresholdChanged
void highLightTRTHitsByHighThresholdChanged(bool)
PRDSystemController::cutAllowedPhiChanged
void cutAllowedPhiChanged(const QList< VP1Interval > &)
PRDSystemController::possibleChange_projectCSCHits
void possibleChange_projectCSCHits()
PRDSystemController::trtMaxToT
unsigned trtMaxToT() const
Definition: PRDSystemController.cxx:395
PRDSystemController::projectRPCHits
bool projectRPCHits() const
Definition: PRDSystemController.cxx:558
PRDSystemController::possibleChange_highLightMaterialWeight
void possibleChange_highLightMaterialWeight()
PRDSystemController::collWidget
VP1CollectionWidget * collWidget() const
Definition: PRDSystemController.cxx:282
PRDSystemController::pixelMinNRDOPerClusterChanged
void pixelMinNRDOPerClusterChanged(unsigned)
PRDSystemController::colourMethodChanged
void colourMethodChanged(PRDCollHandleBase::COLOURMETHOD)
PRDSystemController::possibleChange_projectPixelHits
void possibleChange_projectPixelHits()
PRDSystemController::possibleChange_showSelectionLine
void possibleChange_showSelectionLine()
PRDSystemController::possibleChange_trtMaxLE
void possibleChange_trtMaxLE()
PRDSystemController::mdtExcludeMaskedHitsChanged
void mdtExcludeMaskedHitsChanged(bool)
PRDSystemController::drawRDOsChanged
void drawRDOsChanged(bool)
PRDSystemController
Definition: PRDSystemController.h:34
PRDSystemController::sctExcludeIsolatedClustersChanged
void sctExcludeIsolatedClustersChanged(bool)
PRDSystemController::possibleChange_cutAllowedPhi
void possibleChange_cutAllowedPhi()
PRDSystemController::updateHighlightGui
void updateHighlightGui()
Definition: PRDSystemController.cxx:507
PRDSystemController::possibleChange_selectionModeMultiple
void possibleChange_selectionModeMultiple()
PRDCommonFlags.h
PRDSystemController::highLightOutliersChanged
void highLightOutliersChanged(bool)
PRDSystemController::drawRDOs
bool drawRDOs() const
Definition: PRDSystemController.cxx:492
PRDSystemController::sctExcludeIsolatedClusters
bool sctExcludeIsolatedClusters() const
Definition: PRDSystemController.cxx:428
PRDCollHandleBase::toString
static QString toString(const DETAIL &)
Definition: PRDCollHandleBase.cxx:727
PRDSystemController::cutAllowedEtaChanged
void cutAllowedEtaChanged(const VP1Interval &)
PRDSystemController::inDetPartsFlagsChanged
void inDetPartsFlagsChanged(PRDCommonFlags::InDetPartsFlags)
PRDSystemController::projectCSCHitsChanged
void projectCSCHitsChanged(bool)
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PRDCollHandleBase::COLOURMETHOD
COLOURMETHOD
Definition: PRDCollHandleBase.h:71
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
PRDSystemController::printInfoOnClick
bool printInfoOnClick() const
Definition: PRDSystemController.cxx:348
PRDSystemController::toString
static QString toString(const PRDCollHandleBase::DETAIL &par)
Definition: PRDSystemController.h:167
PRDSystemController::possibleChange_highLightMDTHitsByMask
void possibleChange_highLightMDTHitsByMask()
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
PRDSystemController::projectMDTHitsChanged
void projectMDTHitsChanged(bool)
PRDCollHandleBase::DETAIL
DETAIL
Definition: PRDCollHandleBase.h:66
PRDSystemController::possibleChange_inDetPartsUsingProjections
void possibleChange_inDetPartsUsingProjections()
PRDSystemController::possibleChange_pixelMinNRDOPerCluster
void possibleChange_pixelMinNRDOPerCluster()
PRDSystemController::mdtAllowedADCValues
VP1Interval mdtAllowedADCValues() const
Definition: PRDSystemController.cxx:440
PRDSystemController::projectTRTHits
bool projectTRTHits() const
Definition: PRDSystemController.cxx:556
PRDSystemController::projectTGCHitsChanged
void projectTGCHitsChanged(bool)
PRDSystemController::possibleChange_drawErrors
void possibleChange_drawErrors()
PRDSystemController::m_d
Imp * m_d
Definition: PRDSystemController.h:161
PRDSystemController::possibleChange_colourMethod
void possibleChange_colourMethod()
PRDDetType::Type
Type
Definition: PRDDetTypes.h:12
PRDSystemController::possibleChange_trtMinToT
void possibleChange_trtMinToT()
PRDSystemController::highLightMaterialWeightChanged
void highLightMaterialWeightChanged(const double &)
IVP1System
Definition: IVP1System.h:36
PRDSystemController::trtRequireHT
bool trtRequireHT() const
Definition: PRDSystemController.cxx:413
PRDSystemController::possibleChange_trtMaxToT
void possibleChange_trtMaxToT()
PRDSystemController::getHighLightMaterial
SoMaterial * getHighLightMaterial()
Definition: PRDSystemController.cxx:335
PRDSystemController::projectCSCHits
bool projectCSCHits() const
Definition: PRDSystemController.cxx:559
PRDSystemController::projectPixelHitsChanged
void projectPixelHitsChanged(bool)
PRDSystemController::showSelectionLineChanged
void showSelectionLineChanged(bool)
PRDSystemController::trtMaxLE
unsigned trtMaxLE() const
Definition: PRDSystemController.cxx:407
PRDSystemController::trtRequireHTChanged
void trtRequireHTChanged(bool)
PRDSystemController::toString
static QString toString(const T &t)
Definition: PRDSystemController.h:165
PRDSystemController::mdtMinNHitsPerStationChanged
void mdtMinNHitsPerStationChanged(unsigned)
PRDSystemController::trtMaxLEChanged
void trtMaxLEChanged(unsigned)
PRDSystemController::toString
static QString toString(const std::set< PRDDetType::Type > &s)
Definition: PRDSystemController.h:169
PRDSystemController::trtMinLE
unsigned trtMinLE() const
Definition: PRDSystemController.cxx:401
PRDSystemController::possibleChange_projectTGCHits
void possibleChange_projectTGCHits()
PRDSystemController::emitClearSelection
void emitClearSelection()
Definition: PRDSystemController.cxx:328
PRDSystemController::showSelectionLine
bool showSelectionLine() const
Definition: PRDSystemController.cxx:614
PRDSystemController::possibleChange_projectMDTHits
void possibleChange_projectMDTHits()
PRDSystemController::Imp
Definition: PRDSystemController.cxx:32
PRDSystemController::highLightMDTHitsByUpperADCBound
int highLightMDTHitsByUpperADCBound()
Definition: PRDSystemController.cxx:533
PRDSystemController::possibleChange_mdtAllowedADCValues
void possibleChange_mdtAllowedADCValues()
PRDSystemController::possibleChange_projectTRTHits
void possibleChange_projectTRTHits()
PRDSystemController::mdtExcludeMaskedHits
bool mdtExcludeMaskedHits() const
Definition: PRDSystemController.cxx:451
VP1Deserialise
Definition: VP1Deserialise.h:44
PRDSystemController::trtMinToTChanged
void trtMinToTChanged(unsigned)
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
PRDSystemController::projectPixelHits
bool projectPixelHits() const
Definition: PRDSystemController.cxx:554
VP1Controller
Definition: VP1Controller.h:45
PRDSystemController::highLightMaterialWeight
double highLightMaterialWeight() const
Definition: PRDSystemController.cxx:542
PRDSystemController::actualSaveSettings
void actualSaveSettings(VP1Serialise &) const
Definition: PRDSystemController.cxx:643
PRDSystemController::highLightMDTHitsByMask
bool highLightMDTHitsByMask()
Definition: PRDSystemController.cxx:525
PRDSystemController::possibleChange_cutAllowedEta
void possibleChange_cutAllowedEta()
PRDSystemController::mdt_cutMdtDriftCircleStatus
QString mdt_cutMdtDriftCircleStatus() const
Definition: PRDSystemController.cxx:457
PRDSystemController::limitToActiveChambersChanged
void limitToActiveChambersChanged(bool)
PRDSystemController::highLightTRTHitsByHighThreshold
bool highLightTRTHitsByHighThreshold()
Definition: PRDSystemController.cxx:517
PRDSystemController::shownCollectionTypes
std::set< PRDDetType::Type > shownCollectionTypes() const
Definition: PRDSystemController.cxx:620
PRDSystemController::projectMDTHits
bool projectMDTHits() const
Definition: PRDSystemController.cxx:557
PRDSystemController::projectRPCHitsChanged
void projectRPCHitsChanged(bool)
PRDSystemController::possibleChange_highLightTRTHitsByHighThreshold
void possibleChange_highLightTRTHitsByHighThreshold()
PRDSystemController::projectTGCHits
bool projectTGCHits() const
Definition: PRDSystemController.cxx:560
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
PRDSystemController::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: PRDSystemController.cxx:372
PRDSystemController::colourMethod
PRDCollHandleBase::COLOURMETHOD colourMethod() const
Definition: PRDSystemController.cxx:469
PRDSystemController::possibleChange_mdtMinNHitsPerStation
void possibleChange_mdtMinNHitsPerStation()
PRDSystemController::possibleChange_limitToActiveChambers
void possibleChange_limitToActiveChambers()
PRDSystemController::trtMaxToTChanged
void trtMaxToTChanged(unsigned)
PRDSystemController::mdtMinNHitsPerStation
unsigned mdtMinNHitsPerStation() const
Definition: PRDSystemController.cxx:434
PRDSystemController::cutAllowedEta
VP1Interval cutAllowedEta() const
Definition: PRDSystemController.cxx:366
PRDSystemController::inDetPartsUsingProjections
InDetProjFlags::DetTypeFlags inDetPartsUsingProjections() const
Definition: PRDSystemController.cxx:564
PRDSystemController::zoomOnClick
bool zoomOnClick() const
Definition: PRDSystemController.cxx:354
PRDSystemController::drawErrors
bool drawErrors() const
Definition: PRDSystemController.cxx:485
PRDSystemController::possibleChange_projectSCTHits
void possibleChange_projectSCTHits()
PRDSystemController::mdt_cutMdtDriftCircleStatusChanged
void mdt_cutMdtDriftCircleStatusChanged(QString)
PRDSystemController::projectSCTHitsChanged
void projectSCTHitsChanged(bool)
VP1Interval
Definition: VP1Interval.h:23
PRDSystemController::possibleChange_sctExcludeIsolatedClusters
void possibleChange_sctExcludeIsolatedClusters()
PRDSystemController::PRDSystemController
PRDSystemController(IVP1System *sys)
Definition: PRDSystemController.cxx:85
VP1CollectionWidget
Definition: VP1CollectionWidget.h:32
PRDSystemController::clearSelection
void clearSelection() const
PRDSystemController::shownCollectionTypesChanged
void shownCollectionTypesChanged(const std::set< PRDDetType::Type > &)
PRDSystemController::pixelMinNRDOPerCluster
unsigned pixelMinNRDOPerCluster() const
Definition: PRDSystemController.cxx:420
PRDSystemController::inDetPartsFlags
PRDCommonFlags::InDetPartsFlags inDetPartsFlags() const
Definition: PRDSystemController.cxx:378
InDetProjFlags.h
PRDSystemController::trtMinLEChanged
void trtMinLEChanged(unsigned)
PRDSystemController::getMultiSelectionLineMaterial
SoMaterial * getMultiSelectionLineMaterial() const
Definition: PRDSystemController.cxx:317
PRDSystemController::actualRestoreSettings
void actualRestoreSettings(VP1Deserialise &)
Definition: PRDSystemController.cxx:712
PRDSystemController::selectionModeMultipleChanged
void selectionModeMultipleChanged(bool)
PRDSystemController::selectionModeMultiple
bool selectionModeMultiple() const
Definition: PRDSystemController.cxx:608
PRDSystemController::possibleChange_trtRequireHT
void possibleChange_trtRequireHT()
PRDSystemController::currentSettingsVersion
int currentSettingsVersion() const
Definition: PRDSystemController.cxx:637
VP1Controller.h
PRDSystemController::possibleChange_mdt_cutMdtDriftCircleStatus
void possibleChange_mdt_cutMdtDriftCircleStatus()
PRDSystemController::drawOptions
SoGroup * drawOptions(PRDDetType::Type) const
Definition: PRDSystemController.cxx:288
PRDSystemController::highLightMDTHitsByUpperADCBoundChanged
void highLightMDTHitsByUpperADCBoundChanged(int)
PRDSystemController::muonOrientToChambersOnClick
bool muonOrientToChambersOnClick() const
Definition: PRDSystemController.cxx:360
PRDSystemController::highLightMDTHitsByMaskChanged
void highLightMDTHitsByMaskChanged(bool)
PRDSystemController::highLightOutliers
bool highLightOutliers() const
Definition: PRDSystemController.cxx:500
PRDSystemController::drawErrorsChanged
void drawErrorsChanged(bool)
PRDSystemController::toString
static QString toString(const PRDCollHandleBase::COLOURMETHOD &par)
Definition: PRDSystemController.h:168
PRDSystemController::projectTRTHitsChanged
void projectTRTHitsChanged(bool)
PRDSystemController::possibleChange_highLightMDTHitsByUpperADCBound
void possibleChange_highLightMDTHitsByUpperADCBound()
PRDSystemController::limitToActiveChambers
bool limitToActiveChambers() const
Definition: PRDSystemController.cxx:463
PRDSystemController::possibleChange_drawRDOs
void possibleChange_drawRDOs()
PRDSystemController::mdtAllowedADCValuesChanged
void mdtAllowedADCValuesChanged(VP1Interval)
PRDSystemController::inDetPartsUsingProjectionsChanged
void inDetPartsUsingProjectionsChanged(InDetProjFlags::DetTypeFlags)
PRDDetTypes.h
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
PRDSystemController::possibleChange_inDetPartsFlags
void possibleChange_inDetPartsFlags()
PRDSystemController::possibleChange_projectRPCHits
void possibleChange_projectRPCHits()
PRDSystemController::possibleChange_shownCollectionTypes
void possibleChange_shownCollectionTypes()