ATLAS Offline Software
Loading...
Searching...
No Matches
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
10class SoDrawStyle;
11class SoLightModel;
12
14
15 Q_OBJECT
16
17public:
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;
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>&);
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;
90
91 private Q_SLOTS:
93 void updateTrackLightModel(bool);
106
107};
108
109#endif
110
111
void cutRequiredDetectorElementChanged(const QString &)
void cutTruthExcludeNeutralsChanged(bool)
void trackTubeRadiusChanged(const double &)
void cutAllowedEtaChanged(const VP1Interval &)
void cutAllowedPhiChanged(const QList< VP1Interval > &)
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
void cutRequiredNHitsChanged(const QList< unsigned > &)
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
void cutAllowedPtChanged(const VP1Interval &)
void cutOnlyVertexAssocTracksChanged(bool)
virtual void copyValuesFromMaterial(SoMaterial *)
TrackCollectionSettingsButton(QWidget *parent=0, int dim=25)
VP1MaterialButtonBase(QWidget *parent, IVP1System *sys=0, const QString &helpername="")