ATLAS Offline Software
ElectronCollectionSettingsButton.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 VP1AODSYSTEMS_ELECTRONCOLLSETTINGSBUTTON_H
6 #define VP1AODSYSTEMS_ELECTRONCOLLSETTINGSBUTTON_H
7 
10 
11 class SoDrawStyle;
12 class SoLightModel;
13 
15 
16  Q_OBJECT
17 
18 public:
19 
20  ElectronCollectionSettingsButton(QWidget * parent = 0, int dim = 25);//dim<=0 => Won't change sizepolicy
22 
23  void setDimension(int dim);
24 
25  // The below are necessary to fulfill the interface, but will just be passed onto the VP1MaterialButton owned by the ElectronCollectionSettingsButton form
26  virtual bool setMaterial(SoMaterial*);
27  virtual void copyValuesFromMaterial(SoMaterial*);
28  virtual double lastAppliedTransparency() const ;
29  virtual double lastAppliedShininess() const ;
30  virtual double lastAppliedBrightness() const;
31 
32  // GUI for track lines...
33  double trackTubeRadius() const;//0 => don't show tubes for tracks
34  bool hideActualTrackPath() const;
35 
36  // GUI for propagation
37  bool useExistingParameters() const;
38  int numOfStepsForInterpolation() const;
39 
40 
41  // GUI for parameters
42  bool showParameters() const;
43  bool colourParametersByType() const;
44 
45 
46  // GUI for cuts
47  bool cutOnlyVertexAssocTracks() const;
48  VP1Interval cutAllowedPt() const;
49  VP1Interval cutAllowedEta() const;
50  QList<VP1Interval> cutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
51  //Cuts for number of hits per subsystem:
52  QList<unsigned> cutRequiredNHits() const;//Empty list: no requirements. Otherwise a list
53  // with a length of four (pixel,sct,trt,muon)
54 
55  //Overall drawstyles, complexities and light models:
56  SoDrawStyle * trackDrawStyle() const;
57  SoLightModel * trackLightModel() const;
58 
59  // Parameters
60  SoMaterial* defaultParameterMaterial() const;
61  SoMaterial* parameterMaterial( xAOD::ParameterPosition) const;
62 
63  QByteArray saveState() const;
64  void restoreFromState( const QByteArray& );
65 
66  signals:
67  void trackTubeRadiusChanged(const double&);
68  void lastAppliedChanged(); // emitted when something related to material changes
70 
73 
76  void cutAllowedPhiChanged(const QList<VP1Interval>&);
77  void cutRequiredNHitsChanged(const QList<unsigned>&);
80 
81  public Q_SLOTS:
83  void setMaterialText(const QString&);
84 
85  protected Q_SLOTS:
86  void updateButton();
87 
88 protected:
89  // void initEditWindow();//!< Make sure that edit window is constructed
90  void mousePressEvent(QMouseEvent *event);
91  void mouseMoveEvent(QMouseEvent *event);
92  void dropEvent(QDropEvent *event);
93  void dragEnterEvent(QDragEnterEvent *event);
94 private:
95 
96  class Imp;
97  Imp *m_d;
98 
99  private Q_SLOTS:
100  void updateTrackDrawStyle();
101  void updateTrackLightModel(bool);
102  void updateTrackTubeRadius();
103  void updateHideActualTrackPath(bool);
111 
112 };
113 
114 #endif
115 
116 
ElectronCollectionSettingsButton
Definition: ElectronCollectionSettingsButton.h:14
ElectronCollectionSettingsButton::Imp
Definition: ElectronCollectionSettingsButton.cxx:38
ElectronCollectionSettingsButton::updateHideActualTrackPath
void updateHideActualTrackPath(bool)
Definition: ElectronCollectionSettingsButton.cxx:307
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
ElectronCollectionSettingsButton::cutAllowedPhiChanged
void cutAllowedPhiChanged(const QList< VP1Interval > &)
ElectronCollectionSettingsButton::saveState
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
Definition: ElectronCollectionSettingsButton.cxx:456
ElectronCollectionSettingsButton::lastAppliedTransparency
virtual double lastAppliedTransparency() const
Definition: ElectronCollectionSettingsButton.cxx:258
ElectronCollectionSettingsButton::updateTrackTubeRadius
void updateTrackTubeRadius()
Definition: ElectronCollectionSettingsButton.cxx:280
ElectronCollectionSettingsButton::hideActualTrackPathChanged
void hideActualTrackPathChanged(bool)
VP1MaterialButton.h
ElectronCollectionSettingsButton::dropEvent
void dropEvent(QDropEvent *event)
Definition: ElectronCollectionSettingsButton.cxx:448
ElectronCollectionSettingsButton::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
Definition: ElectronCollectionSettingsButton.cxx:556
ElectronCollectionSettingsButton::updateTrackDrawStyle
void updateTrackDrawStyle()
Definition: ElectronCollectionSettingsButton.cxx:289
ElectronCollectionSettingsButton::cutOnlyVertexAssocTracksChanged
void cutOnlyVertexAssocTracksChanged(bool)
ElectronCollectionSettingsButton::possibleChange_cutAllowedPt
void possibleChange_cutAllowedPt()
Definition: ElectronCollectionSettingsButton.cxx:572
ElectronCollectionSettingsButton::possibleChange_parameterColours
void possibleChange_parameterColours()
Definition: ElectronCollectionSettingsButton.cxx:620
ElectronCollectionSettingsButton::copyValuesFromMaterial
virtual void copyValuesFromMaterial(SoMaterial *)
Definition: ElectronCollectionSettingsButton.cxx:253
ElectronCollectionSettingsButton::parameterMaterial
SoMaterial * parameterMaterial(xAOD::ParameterPosition) const
Definition: ElectronCollectionSettingsButton.cxx:334
xAOD::ParameterPosition
ParameterPosition
Enum allowing us to know where in ATLAS the parameters are defined.
Definition: TrackingPrimitives.h:209
ElectronCollectionSettingsButton::lastAppliedChanged
void lastAppliedChanged()
ElectronCollectionSettingsButton::setDimension
void setDimension(int dim)
Definition: ElectronCollectionSettingsButton.cxx:226
ElectronCollectionSettingsButton::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event)
Definition: ElectronCollectionSettingsButton.cxx:396
ElectronCollectionSettingsButton::trackLightModel
SoLightModel * trackLightModel() const
Definition: ElectronCollectionSettingsButton.cxx:318
ElectronCollectionSettingsButton::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: ElectronCollectionSettingsButton.cxx:548
ElectronCollectionSettingsButton::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
Definition: ElectronCollectionSettingsButton.cxx:373
ElectronCollectionSettingsButton::cutAllowedEtaChanged
void cutAllowedEtaChanged(const VP1Interval &)
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
ElectronCollectionSettingsButton::colourParametersByType
bool colourParametersByType() const
Definition: ElectronCollectionSettingsButton.cxx:364
ElectronCollectionSettingsButton::trackDrawStyle
SoDrawStyle * trackDrawStyle() const
Definition: ElectronCollectionSettingsButton.cxx:313
ElectronCollectionSettingsButton::lastAppliedBrightness
virtual double lastAppliedBrightness() const
Definition: ElectronCollectionSettingsButton.cxx:268
ElectronCollectionSettingsButton::defaultParameterMaterial
SoMaterial * defaultParameterMaterial() const
Definition: ElectronCollectionSettingsButton.cxx:331
ElectronCollectionSettingsButton::dragEnterEvent
void dragEnterEvent(QDragEnterEvent *event)
Definition: ElectronCollectionSettingsButton.cxx:389
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ElectronCollectionSettingsButton::trackTubeRadiusChanged
void trackTubeRadiusChanged(const double &)
ElectronCollectionSettingsButton::cutRequiredNHitsChanged
void cutRequiredNHitsChanged(const QList< unsigned > &)
ElectronCollectionSettingsButton::possibleChange_cutRequiredNHits
void possibleChange_cutRequiredNHits()
Definition: ElectronCollectionSettingsButton.cxx:598
python.L1.Config.LegacyTopoMergerMap.signals
signals
Definition: LegacyTopoMergerMap.py:13
ElectronCollectionSettingsButton::possibleChange_cutOnlyVertexAssocTracks
void possibleChange_cutOnlyVertexAssocTracks()
Definition: ElectronCollectionSettingsButton.cxx:606
ElectronCollectionSettingsButton::showParameters
bool showParameters() const
Returns the number of steps to use when interpolating between paramters (0 is no interpolation....
Definition: ElectronCollectionSettingsButton.cxx:356
ElectronCollectionSettingsButton::~ElectronCollectionSettingsButton
virtual ~ElectronCollectionSettingsButton()
Definition: ElectronCollectionSettingsButton.cxx:210
ElectronCollectionSettingsButton::colourParametersByTypeChanged
void colourParametersByTypeChanged(bool)
ElectronCollectionSettingsButton::updateTrackLightModel
void updateTrackLightModel(bool)
Definition: ElectronCollectionSettingsButton.cxx:296
ElectronCollectionSettingsButton::showParametersChanged
void showParametersChanged(bool)
ElectronCollectionSettingsButton::cutAllowedEta
VP1Interval cutAllowedEta() const
Definition: ElectronCollectionSettingsButton.cxx:540
ElectronCollectionSettingsButton::possibleChange_cutAllowedEta
void possibleChange_cutAllowedEta()
Definition: ElectronCollectionSettingsButton.cxx:582
VP1MaterialButtonBase
Definition: VP1MaterialButton.h:25
ElectronCollectionSettingsButton::updateButton
void updateButton()
Definition: ElectronCollectionSettingsButton.cxx:218
ElectronCollectionSettingsButton::m_d
Imp * m_d
Definition: ElectronCollectionSettingsButton.h:96
VP1Interval
Definition: VP1Interval.h:23
ElectronCollectionSettingsButton::mousePressEvent
void mousePressEvent(QMouseEvent *event)
Definition: ElectronCollectionSettingsButton.cxx:381
ElectronCollectionSettingsButton::cutAllowedPtChanged
void cutAllowedPtChanged(const VP1Interval &)
ElectronCollectionSettingsButton::possibleChange_showParameters
void possibleChange_showParameters()
Definition: ElectronCollectionSettingsButton.cxx:614
ElectronCollectionSettingsButton::ElectronCollectionSettingsButton
ElectronCollectionSettingsButton(QWidget *parent=0, int dim=25)
Definition: ElectronCollectionSettingsButton.cxx:118
ElectronCollectionSettingsButton::cutAllowedPt
VP1Interval cutAllowedPt() const
Definition: ElectronCollectionSettingsButton.cxx:504
ElectronCollectionSettingsButton::setMaterial
virtual bool setMaterial(SoMaterial *)
Definition: ElectronCollectionSettingsButton.cxx:245
ElectronCollectionSettingsButton::numOfStepsForInterpolation
int numOfStepsForInterpolation() const
Returns true if the propagation should use the parameters already on the particle,...
Definition: ElectronCollectionSettingsButton.cxx:327
ElectronCollectionSettingsButton::setMaterialText
void setMaterialText(const QString &)
Definition: ElectronCollectionSettingsButton.cxx:110
ElectronCollectionSettingsButton::showEditMaterialDialog
void showEditMaterialDialog()
Definition: ElectronCollectionSettingsButton.cxx:234
ElectronCollectionSettingsButton::lastAppliedShininess
virtual double lastAppliedShininess() const
Definition: ElectronCollectionSettingsButton.cxx:263
ElectronCollectionSettingsButton::possibleChange_cutAllowedPhi
void possibleChange_cutAllowedPhi()
Definition: ElectronCollectionSettingsButton.cxx:590
ElectronCollectionSettingsButton::useExistingParameters
bool useExistingParameters() const
Definition: ElectronCollectionSettingsButton.cxx:323
ElectronCollectionSettingsButton::restoreFromState
void restoreFromState(const QByteArray &)
Definition: ElectronCollectionSettingsButton.cxx:478
TrackingPrimitives.h
ElectronCollectionSettingsButton::hideActualTrackPath
bool hideActualTrackPath() const
Definition: ElectronCollectionSettingsButton.cxx:349
ElectronCollectionSettingsButton::propagationOptionsChanged
void propagationOptionsChanged()
ElectronCollectionSettingsButton::trackTubeRadius
double trackTubeRadius() const
Definition: ElectronCollectionSettingsButton.cxx:274