ATLAS Offline Software
TrackCollectionSettingsButton.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 #ifndef TRACKCOLLSETTINGSBUTTON_H
6 #define TRACKCOLLSETTINGSBUTTON_H
7 
9 
10 class SoDrawStyle;
11 class SoLightModel;
12 
14 
15  Q_OBJECT
16 
17 public:
18 
19  TrackCollectionSettingsButton(QWidget * parent = 0, int dim = 25);//dim<=0 => Won't change sizepolicy
21 
22  void setDimension(int dim);
23 
24  // The below are necessary to fulfill the interface, but will just be passed onto the VP1MaterialButton owned by the TrackCollectionSettingsButton form
25  virtual bool setMaterial(SoMaterial*);
26  virtual void copyValuesFromMaterial(SoMaterial*);
27  virtual double lastAppliedTransparency() const ;
28  virtual double lastAppliedShininess() const ;
29  virtual double lastAppliedBrightness() const;
30 
31  // GUI for track lines...
32  double trackTubeRadius() const;//0 => don't show tubes for tracks
33  bool hideActualTrackPath() const;
34 
35  // GUI for cuts
36  bool useDefaultCuts() const;
37  bool cutOnlyVertexAssocTracks() const;
38  VP1Interval cutAllowedPt() const;
39  VP1Interval cutAllowedEta() const;
40  QList<VP1Interval> cutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
41  //Cuts for number of hits per subsystem:
42  QList<unsigned> cutRequiredNHits() const;//Empty list: no requirements. Otherwise a list
43  // with a length of four (pixel,sct,trt,muon)
44  QString cutRequiredDetectorElement() const; //Null string, no requirement. Otherwise the string is converted into an identifier.
45  //Truth cuts:
46  bool cutTruthFromIROnly() const;
47  bool cutExcludeBarcodeZero() const;
48  bool cutTruthExcludeNeutrals() const;
49 
50  //Overall drawstyles, complexities and light models:
51  SoDrawStyle * trackDrawStyle() const;
52  SoLightModel * trackLightModel() const;
53 
54  QByteArray saveState() const;
55  void restoreFromState( const QByteArray& );
56 
57  signals:
58  void trackTubeRadiusChanged(const double&);
59  void lastAppliedChanged(); // emitted when something related to material changes
61 
65  void cutAllowedPhiChanged(const QList<VP1Interval>&);
66  void cutRequiredNHitsChanged(const QList<unsigned>&);
67  void cutRequiredDetectorElementChanged(const QString&);
72 
73  public Q_SLOTS:
75  void setText(const QString&);
76 
77  protected Q_SLOTS:
78  void updateButton();
79 
80  protected:
81  // void initEditWindow();//!< Make sure that edit window is constructed
82  void mousePressEvent(QMouseEvent *event);
83  void mouseMoveEvent(QMouseEvent *event);
84  void dropEvent(QDropEvent *event);
85  void dragEnterEvent(QDragEnterEvent *event);
86  private:
87 
88  class Imp;
89  Imp * m_d;
90 
91  private Q_SLOTS:
92  void updateTrackDrawStyle();
93  void updateTrackLightModel(bool);
94  void updateTrackTubeRadius();
95  void updateHideActualTrackPath(bool);
106 
107 };
108 
109 #endif
110 
111 
TrackCollectionSettingsButton::updateTrackDrawStyle
void updateTrackDrawStyle()
Definition: TrackCollectionSettingsButton.cxx:268
TrackCollectionSettingsButton::lastAppliedTransparency
virtual double lastAppliedTransparency() const
Definition: TrackCollectionSettingsButton.cxx:238
TrackCollectionSettingsButton::cutAllowedPt
VP1Interval cutAllowedPt() const
Definition: TrackCollectionSettingsButton.cxx:489
TrackCollectionSettingsButton::useDefaultCutsChanged
void useDefaultCutsChanged(bool)
TrackCollectionSettingsButton::restoreFromState
void restoreFromState(const QByteArray &)
Definition: TrackCollectionSettingsButton.cxx:440
TrackCollectionSettingsButton::possibleChange_cutTruthFromIROnly
void possibleChange_cutTruthFromIROnly()
Definition: TrackCollectionSettingsButton.cxx:627
TrackCollectionSettingsButton::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Definition: TrackCollectionSettingsButton.cxx:319
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
TrackCollectionSettingsButton::setDimension
void setDimension(int dim)
Definition: TrackCollectionSettingsButton.cxx:207
TrackCollectionSettingsButton::possibleChange_cutRequiredDetectorElement
void possibleChange_cutRequiredDetectorElement()
Definition: TrackCollectionSettingsButton.cxx:618
TrackCollectionSettingsButton::updateTrackTubeRadius
void updateTrackTubeRadius()
Definition: TrackCollectionSettingsButton.cxx:260
TrackCollectionSettingsButton::showEditMaterialDialog
void showEditMaterialDialog()
Definition: TrackCollectionSettingsButton.cxx:215
TrackCollectionSettingsButton::setMaterial
virtual bool setMaterial(SoMaterial *)
Definition: TrackCollectionSettingsButton.cxx:226
VP1MaterialButton.h
TrackCollectionSettingsButton::cutOnlyVertexAssocTracksChanged
void cutOnlyVertexAssocTracksChanged(bool)
TrackCollectionSettingsButton::possibleChange_cutAllowedEta
void possibleChange_cutAllowedEta()
Definition: TrackCollectionSettingsButton.cxx:593
TrackCollectionSettingsButton::trackLightModel
SoLightModel * trackLightModel() const
Definition: TrackCollectionSettingsButton.cxx:297
TrackCollectionSettingsButton::cutTruthExcludeNeutrals
bool cutTruthExcludeNeutrals() const
Definition: TrackCollectionSettingsButton.cxx:566
TrackCollectionSettingsButton::possibleChange_useDefaultCuts
void possibleChange_useDefaultCuts()
Definition: TrackCollectionSettingsButton.cxx:575
TrackCollectionSettingsButton::dropEvent
void dropEvent(QDropEvent *event)
Definition: TrackCollectionSettingsButton.cxx:386
TrackCollectionSettingsButton::updateHideActualTrackPath
void updateHideActualTrackPath(bool)
Definition: TrackCollectionSettingsButton.cxx:286
TrackCollectionSettingsButton::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Definition: TrackCollectionSettingsButton.cxx:334
TrackCollectionSettingsButton::m_d
Imp * m_d
Definition: TrackCollectionSettingsButton.h:88
TrackCollectionSettingsButton::useDefaultCuts
bool useDefaultCuts() const
Definition: TrackCollectionSettingsButton.cxx:308
TrackCollectionSettingsButton::cutTruthFromIROnly
bool cutTruthFromIROnly() const
Definition: TrackCollectionSettingsButton.cxx:554
TrackCollectionSettingsButton::trackDrawStyle
SoDrawStyle * trackDrawStyle() const
Definition: TrackCollectionSettingsButton.cxx:292
TrackCollectionSettingsButton::trackTubeRadius
double trackTubeRadius() const
Definition: TrackCollectionSettingsButton.cxx:254
TrackCollectionSettingsButton::possibleChange_cutAllowedPt
void possibleChange_cutAllowedPt()
Definition: TrackCollectionSettingsButton.cxx:583
TrackCollectionSettingsButton::TrackCollectionSettingsButton
TrackCollectionSettingsButton(QWidget *parent=0, int dim=25)
Definition: TrackCollectionSettingsButton.cxx:92
TrackCollectionSettingsButton::updateButton
void updateButton()
Definition: TrackCollectionSettingsButton.cxx:199
TrackCollectionSettingsButton::copyValuesFromMaterial
virtual void copyValuesFromMaterial(SoMaterial *)
Definition: TrackCollectionSettingsButton.cxx:233
TrackCollectionSettingsButton::setText
void setText(const QString &)
Definition: TrackCollectionSettingsButton.cxx:84
TrackCollectionSettingsButton::possibleChange_cutAllowedPhi
void possibleChange_cutAllowedPhi()
Definition: TrackCollectionSettingsButton.cxx:601
TrackCollectionSettingsButton
Definition: TrackCollectionSettingsButton.h:13
TrackCollectionSettingsButton::Imp
Definition: TrackCollectionSettingsButton.cxx:33
TrackCollectionSettingsButton::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
Definition: TrackCollectionSettingsButton.cxx:535
TrackCollectionSettingsButton::hideActualTrackPath
bool hideActualTrackPath() const
Definition: TrackCollectionSettingsButton.cxx:302
TrackCollectionSettingsButton::trackTubeRadiusChanged
void trackTubeRadiusChanged(const double &)
TrackCollectionSettingsButton::dragEnterEvent
void dragEnterEvent(QDragEnterEvent *event)
Definition: TrackCollectionSettingsButton.cxx:327
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
TrackCollectionSettingsButton::lastAppliedBrightness
virtual double lastAppliedBrightness() const
Definition: TrackCollectionSettingsButton.cxx:248
TrackCollectionSettingsButton::cutRequiredDetectorElement
QString cutRequiredDetectorElement() const
Definition: TrackCollectionSettingsButton.cxx:549
TrackCollectionSettingsButton::updateTrackLightModel
void updateTrackLightModel(bool)
Definition: TrackCollectionSettingsButton.cxx:275
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrackCollectionSettingsButton::cutRequiredNHitsChanged
void cutRequiredNHitsChanged(const QList< unsigned > &)
TrackCollectionSettingsButton::cutAllowedEtaChanged
void cutAllowedEtaChanged(const VP1Interval &)
TrackCollectionSettingsButton::cutRequiredDetectorElementChanged
void cutRequiredDetectorElementChanged(const QString &)
TrackCollectionSettingsButton::cutAllowedPhiChanged
void cutAllowedPhiChanged(const QList< VP1Interval > &)
TrackCollectionSettingsButton::~TrackCollectionSettingsButton
virtual ~TrackCollectionSettingsButton()
Definition: TrackCollectionSettingsButton.cxx:191
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
TrackCollectionSettingsButton::possibleChange_cutRequiredNHits
void possibleChange_cutRequiredNHits()
Definition: TrackCollectionSettingsButton.cxx:609
TrackCollectionSettingsButton::hideActualTrackPathChanged
void hideActualTrackPathChanged(bool)
TrackCollectionSettingsButton::possibleChange_cutExcludeBarcodeZero
void possibleChange_cutExcludeBarcodeZero()
Definition: TrackCollectionSettingsButton.cxx:635
TrackCollectionSettingsButton::possibleChange_cutTruthExcludeNeutrals
void possibleChange_cutTruthExcludeNeutrals()
Definition: TrackCollectionSettingsButton.cxx:644
TrackCollectionSettingsButton::lastAppliedShininess
virtual double lastAppliedShininess() const
Definition: TrackCollectionSettingsButton.cxx:243
TrackCollectionSettingsButton::lastAppliedChanged
void lastAppliedChanged()
VP1MaterialButtonBase
Definition: VP1MaterialButton.h:25
TrackCollectionSettingsButton::saveState
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
Definition: TrackCollectionSettingsButton.cxx:394
TrackCollectionSettingsButton::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
Definition: TrackCollectionSettingsButton.cxx:313
TrackCollectionSettingsButton::cutTruthFromIROnlyChanged
void cutTruthFromIROnlyChanged(bool)
TrackCollectionSettingsButton::cutTruthExcludeNeutralsChanged
void cutTruthExcludeNeutralsChanged(bool)
VP1Interval
Definition: VP1Interval.h:23
TrackCollectionSettingsButton::cutAllowedEta
VP1Interval cutAllowedEta() const
Definition: TrackCollectionSettingsButton.cxx:523
TrackCollectionSettingsButton::cutExcludeBarcodeZero
bool cutExcludeBarcodeZero() const
Definition: TrackCollectionSettingsButton.cxx:560
TrackCollectionSettingsButton::possibleChange_cutOnlyVertexAssocTracks
void possibleChange_cutOnlyVertexAssocTracks()
Definition: TrackCollectionSettingsButton.cxx:653
TrackCollectionSettingsButton::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: TrackCollectionSettingsButton.cxx:529
TrackCollectionSettingsButton::cutExcludeBarcodeZeroChanged
void cutExcludeBarcodeZeroChanged(bool)
TrackCollectionSettingsButton::cutAllowedPtChanged
void cutAllowedPtChanged(const VP1Interval &)