ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCollectionSettingsButton.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_MUONCOLLSETTINGSBUTTON_H
6#define VP1AODSYSTEMS_MUONCOLLSETTINGSBUTTON_H
7
9#ifndef Q_MOC_RUN
10#include "xAODMuon/Muon.h"
11#endif
12
13class SoDrawStyle;
14class SoLightModel;
15
17
18 Q_OBJECT
19
20public:
21
22 MuonCollectionSettingsButton(QWidget * parent = 0, int dim = 25);//dim<=0 => Won't change sizepolicy
24
25 void setDimension(int dim);
26
27 // The below are necessary to fulfill the interface, but will just be passed onto the VP1MaterialButton owned by the MuonCollectionSettingsButton form
28 virtual bool setMaterial(SoMaterial*);
29 virtual void copyValuesFromMaterial(SoMaterial*);
30 virtual double lastAppliedTransparency() const ;
31 virtual double lastAppliedShininess() const ;
32 virtual double lastAppliedBrightness() const;
33
34 // GUI for track lines...
35 double trackTubeRadius() const;//0 => don't show tubes for tracks
36 bool hideActualTrackPath() const;
37
38 // GUI for cuts
41 QList<VP1Interval> cutAllowedPhi() const;//All off: empty list. All on: list with one entry: ]-inf,inf[
42 // with a length of four (pixel,sct,trt,muon)
43
44 //Overall drawstyles, complexities and light models:
45 SoDrawStyle * trackDrawStyle() const;
46 SoLightModel * trackLightModel() const;
47
48 // Parameters
49 SoMaterial* defaultParameterMaterial() const;
50 SoMaterial* parameterMaterial( xAOD::ParameterPosition ) const;
51
52 // Quality cuts
53 unsigned int minimumQuality() const;
54
65 Q_DECLARE_FLAGS(ShownAssociatedObjects, ShownAssociatedObject)
66 ShownAssociatedObjects shownAssociatedObjects() const;
67
68 QByteArray saveState() const;
69 void restoreFromState( const QByteArray& );
70
71 signals:
72 void trackTubeRadiusChanged(const double&);
73 void lastAppliedChanged(); // emitted when something related to material changes
75
78 void cutAllowedPhiChanged(const QList<VP1Interval>&);
79
80 void minimumQualityChanged(unsigned int);
81
82 void shownAssociatedObjectsChanged(MuonCollectionSettingsButton::ShownAssociatedObjects);
83
84 public Q_SLOTS:
86 void setMaterialText(const QString&);
87
88 protected Q_SLOTS:
89 void updateButton();
90
91protected:
92 // void initEditWindow();//!< Make sure that edit window is constructed
93 void mousePressEvent(QMouseEvent *event);
94 void mouseMoveEvent(QMouseEvent *event);
95 void dropEvent(QDropEvent *event);
96 void dragEnterEvent(QDragEnterEvent *event);
97private:
98
99 class Imp;
101
102 private Q_SLOTS:
104 void updateTrackLightModel(bool);
106 void updateHideActualTrackPath(bool);
112};
113
114Q_DECLARE_OPERATORS_FOR_FLAGS(MuonCollectionSettingsButton::ShownAssociatedObjects)
115
116#endif
117
118
void cutAllowedPtChanged(const VP1Interval &)
void shownAssociatedObjectsChanged(MuonCollectionSettingsButton::ShownAssociatedObjects)
void cutAllowedEtaChanged(const VP1Interval &)
void minimumQualityChanged(unsigned int)
virtual void copyValuesFromMaterial(SoMaterial *)
ShownAssociatedObjects shownAssociatedObjects() const
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
void trackTubeRadiusChanged(const double &)
MuonCollectionSettingsButton(QWidget *parent=0, int dim=25)
SoMaterial * parameterMaterial(xAOD::ParameterPosition) const
void dragEnterEvent(QDragEnterEvent *event)
void cutAllowedPhiChanged(const QList< VP1Interval > &)
QList< VP1Interval > cutAllowedPhi() const
VP1MaterialButtonBase(QWidget *parent, IVP1System *sys=0, const QString &helpername="")
ParameterPosition
Enum allowing us to know where in ATLAS the parameters are defined.