ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCollectionSettingsButton Class Reference

#include <MuonCollectionSettingsButton.h>

Inheritance diagram for MuonCollectionSettingsButton:
Collaboration diagram for MuonCollectionSettingsButton:

Classes

class  Imp

Public Types

enum  ShownAssociatedObject {
  Nothing = 0x0 , TrackParticlesPrimary = 0x1 , TrackParticlesCB = 0x2 , TrackParticlesID = 0x3 ,
  TrackParticlesMS = 0x4 , TrackParticlesME = 0x5 , CaloClusters = 0x6 , Segments = 0x7
}

Public Slots

void showEditMaterialDialog ()
void setMaterialText (const QString &)

Signals

void trackTubeRadiusChanged (const double &)
void lastAppliedChanged ()
void hideActualTrackPathChanged (bool)
void cutAllowedPtChanged (const VP1Interval &)
void cutAllowedEtaChanged (const VP1Interval &)
void cutAllowedPhiChanged (const QList< VP1Interval > &)
void minimumQualityChanged (unsigned int)
void shownAssociatedObjectsChanged (MuonCollectionSettingsButton::ShownAssociatedObjects)

Public Member Functions

 MuonCollectionSettingsButton (QWidget *parent=0, int dim=25)
virtual ~MuonCollectionSettingsButton ()
void setDimension (int dim)
virtual bool setMaterial (SoMaterial *)
virtual void copyValuesFromMaterial (SoMaterial *)
virtual double lastAppliedTransparency () const
virtual double lastAppliedShininess () const
virtual double lastAppliedBrightness () const
double trackTubeRadius () const
bool hideActualTrackPath () const
VP1Interval cutAllowedPt () const
VP1Interval cutAllowedEta () const
QList< VP1IntervalcutAllowedPhi () const
SoDrawStyle * trackDrawStyle () const
SoLightModel * trackLightModel () const
SoMaterial * defaultParameterMaterial () const
SoMaterial * parameterMaterial (xAOD::ParameterPosition) const
unsigned int minimumQuality () const
ShownAssociatedObjects shownAssociatedObjects () const
QByteArray saveState () const
 fill out with the state of the object (used for drag and drop etc)
void restoreFromState (const QByteArray &)
void setSystemBasePointer (IVP1System *sys)
void message (const QString &) const
void message (const QStringList &, const QString &addtoend="") const
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &) const
void messageDebug (const QStringList &, const QString &addtoend="") const
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &) const
void messageVerbose (const QStringList &, const QString &addtoend="") const
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
IVP1SystemsystemBase () const
const QString & helperClassName () const

Static Public Member Functions

static bool verbose ()
static void warnUndeletedInstances ()
static QString str (const QString &s)
static QString str (const char *c)
static QString str (const bool b)
static QString str (const QColor &)
static QString str (const SbColor &)
static QString str (const VP1Interval &)
static QString str (const SbVec2d &)
static QString str (const SbVec2f &)
static QString str (const SbVec2s &)
static QString str (const SbVec3d &)
static QString str (const SbVec3f &)
static QString str (const SbVec3s &)
static QString str (const SbVec4d &)
static QString str (const SbVec4f &)
static QString str (short int n)
static QString str (unsigned short int n)
static QString str (long n)
static QString str (ulong n)
static QString str (int n)
static QString str (uint n)
static QString str (qlonglong n)
static QString str (qulonglong n)
static QString str (const double &d)
static QString str (const float &f)
static QString str (const void *)
template<class T>
static QString str (const T *t)
template<class T>
static QString str (const QFlags< T > &f)
template<class T>
static QString str (const HepGeom::BasicVector3D< T > &t)
static QString str (const Amg::Vector3D &t)
template<class T>
static QString str (const QList< T > &t)

Protected Slots

void updateButton ()

Protected Member Functions

void mousePressEvent (QMouseEvent *event)
void mouseMoveEvent (QMouseEvent *event)
void dropEvent (QDropEvent *event)
void dragEnterEvent (QDragEnterEvent *event)
void setHelperClassName (const QString &n)

Private Slots

void updateTrackDrawStyle ()
void updateTrackLightModel (bool)
void updateTrackTubeRadius ()
void updateHideActualTrackPath (bool)
void possibleChange_cutAllowedPt ()
void possibleChange_cutAllowedEta ()
void possibleChange_cutAllowedPhi ()
void possibleChange_minimumQuality ()
void possibleChange_shownAssociatedObjects ()

Private Attributes

Impm_d
QString m_helpername
IVP1Systemm_system

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")

Detailed Description

Definition at line 16 of file MuonCollectionSettingsButton.h.

Member Enumeration Documentation

◆ ShownAssociatedObject

Constructor & Destructor Documentation

◆ MuonCollectionSettingsButton()

MuonCollectionSettingsButton::MuonCollectionSettingsButton ( QWidget * parent = 0,
int dim = 25 )

Definition at line 92 of file MuonCollectionSettingsButton.cxx.

93 : VP1MaterialButtonBase(parent,0,"VP1MaterialButton"), m_d(new Imp)
94{
95 m_d->dim = dim;
96
97 m_d->theclass = this;
98 m_d->initEditWindow();
99
100 //Draw Styles / Complexity:
101 VP1QtInventorUtils::setLimitsLineWidthSlider(m_d->editwindow_ui.horizontalSlider_trackWidth);
102 VP1QtInventorUtils::setValueLineWidthSlider(m_d->editwindow_ui.horizontalSlider_trackWidth,1.0);
103
104 m_d->trackDrawStyle = new SoDrawStyle;
105 m_d->trackDrawStyle->setName("MuonDrawStyle");
106 m_d->trackDrawStyle->pointSize=5.0;
107 m_d->trackDrawStyle->ref();
109 connect(m_d->editwindow_ui.horizontalSlider_trackWidth,SIGNAL(valueChanged(int)),this,SLOT(updateTrackDrawStyle()));
110
111 m_d->trackLightModel = new SoLightModel;
112 m_d->trackLightModel->setName("MuonLightModel");
113 m_d->trackLightModel->ref();
115 connect(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel,SIGNAL(toggled(bool)),this,SLOT(updateTrackLightModel(bool)));
116
117 m_d->last_trackTubeRadius=trackTubeRadius();
118 connect(m_d->editwindow_ui.checkBox_trackTubes,SIGNAL(toggled(bool)),this,SLOT(updateTrackTubeRadius()));
119 connect(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM,SIGNAL(valueChanged(double)),this,SLOT(updateTrackTubeRadius()));
120
121 connect(m_d->editwindow_ui.checkBox_hideactualpaths,SIGNAL(toggled(bool)),this,SLOT(updateHideActualTrackPath(bool)));
122
123 // -> cutAllowedP/Pt
124 connect(m_d->editwindow_ui.checkBox_cut_minpt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutAllowedPt()));
125 connect(m_d->editwindow_ui.checkBox_cut_maxpt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutAllowedPt()));
126 connect(m_d->editwindow_ui.doubleSpinBox_cut_minpt_gev,SIGNAL(valueChanged(double)),this,SLOT(possibleChange_cutAllowedPt()));
127 connect(m_d->editwindow_ui.doubleSpinBox_cut_maxpt_gev,SIGNAL(valueChanged(double)),this,SLOT(possibleChange_cutAllowedPt()));
128 connect(m_d->editwindow_ui.checkBox_cut_minpt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutAllowedPt()));
129 connect(m_d->editwindow_ui.comboBox_momtype,SIGNAL(currentIndexChanged(int)),this,SLOT(possibleChange_cutAllowedPt()));
130
131 // -> cutAllowedEta
132 connect(m_d->editwindow_ui.etaPhiCutWidget,SIGNAL(allowedEtaChanged(const VP1Interval&)),this,SLOT(possibleChange_cutAllowedEta()));
133
134 // -> cutAllowedPhi
135 connect(m_d->editwindow_ui.etaPhiCutWidget,SIGNAL(allowedPhiChanged(const QList<VP1Interval>&)),this,SLOT(possibleChange_cutAllowedPhi()));
136
137 // -> quality
138 connect(m_d->editwindow_ui.comboBox_minimumQuality,SIGNAL(currentIndexChanged(int)),this,SLOT(possibleChange_minimumQuality()));
139 m_d->last_minimumQuality=minimumQuality();
140
141 // -> shownObjects
142 connect(m_d->editwindow_ui.checkBox_showTrackParticles,SIGNAL(toggled(bool)),this,SLOT(possibleChange_shownAssociatedObjects()));
143 connect(m_d->editwindow_ui.comboBox_shownTrackParticles,SIGNAL(currentIndexChanged(int)),this,SLOT(possibleChange_shownAssociatedObjects()));
144 m_d->last_shownAssociatedObjects=shownAssociatedObjects();
145
146 connect(this,SIGNAL(clicked()),this,SLOT(showEditMaterialDialog()));
147 connect(m_d->editwindow_ui.pushButton_close,SIGNAL(clicked()),this,SLOT(showEditMaterialDialog()));
148 connect(m_d->matButton,SIGNAL(lastAppliedChanged()),this,SLOT(updateButton()));
149 connect(m_d->matButton,SIGNAL(lastAppliedChanged()),this,SIGNAL(lastAppliedChanged()));
150 setAcceptDrops(true);
151
152 QTimer::singleShot(0, this, SLOT(updateButton()));
153
154}
ShownAssociatedObjects shownAssociatedObjects() const
VP1MaterialButtonBase(QWidget *parent, IVP1System *sys=0, const QString &helpername="")
static void setLimitsLineWidthSlider(QSlider *)
static void setValueLineWidthSlider(QSlider *, const double &value)

◆ ~MuonCollectionSettingsButton()

MuonCollectionSettingsButton::~MuonCollectionSettingsButton ( )
virtual

Definition at line 161 of file MuonCollectionSettingsButton.cxx.

162{
163 delete m_d->editwindow;
164 m_d->trackDrawStyle->unref();
165 m_d->trackLightModel->unref();
166 delete m_d;
167}

Member Function Documentation

◆ copyValuesFromMaterial()

void MuonCollectionSettingsButton::copyValuesFromMaterial ( SoMaterial * mat)
virtual

Implements VP1MaterialButtonBase.

Definition at line 204 of file MuonCollectionSettingsButton.cxx.

205{
206 if (!m_d->matButton) m_d->initEditWindow();
207 m_d->matButton->setMaterial(mat);
208}

◆ cutAllowedEta()

VP1Interval MuonCollectionSettingsButton::cutAllowedEta ( ) const

Definition at line 487 of file MuonCollectionSettingsButton.cxx.

488{
489 if (!m_d->editwindow)
490 m_d->initEditWindow();
491 return m_d->editwindow_ui.etaPhiCutWidget->allowedEta();
492}

◆ cutAllowedEtaChanged

void MuonCollectionSettingsButton::cutAllowedEtaChanged ( const VP1Interval & )
signal

◆ cutAllowedPhi()

QList< VP1Interval > MuonCollectionSettingsButton::cutAllowedPhi ( ) const

Definition at line 495 of file MuonCollectionSettingsButton.cxx.

496{
497 if (!m_d->editwindow)
498 m_d->initEditWindow();
499 return m_d->editwindow_ui.etaPhiCutWidget->allowedPhi();
500}

◆ cutAllowedPhiChanged

void MuonCollectionSettingsButton::cutAllowedPhiChanged ( const QList< VP1Interval > & )
signal

◆ cutAllowedPt()

VP1Interval MuonCollectionSettingsButton::cutAllowedPt ( ) const

Definition at line 451 of file MuonCollectionSettingsButton.cxx.

452{
453 if (!m_d->editwindow)
454 m_d->initEditWindow();
455 if (!m_d->editwindow_ui.checkBox_cut_minpt)
456 return VP1Interval();
457
458 // will set range to negative if we have momcut=P
459 // if minCut unset then min=-inf
460 // if minCut set, and Pt selected, then min=-minCut
461 // if minCut set, and P selected, then min=-maxCut
462 // etc
463 bool isPCut = m_d->editwindow_ui.comboBox_momtype->currentText()=="P";
464
465 const double minFromInterface=m_d->editwindow_ui.doubleSpinBox_cut_minpt_gev->value()*1000;
466 const double maxFromInterface=m_d->editwindow_ui.doubleSpinBox_cut_maxpt_gev->value()*1000;
467
468 double min=0.0,max=0.0;
469 if (!isPCut) {
470 //Pt cut
471 min = (m_d->editwindow_ui.checkBox_cut_minpt->isChecked() ? minFromInterface : -std::numeric_limits<double>::infinity());
472 max = (m_d->editwindow_ui.checkBox_cut_maxpt->isChecked() ? maxFromInterface : std::numeric_limits<double>::infinity());
473 } else {
474 min = (m_d->editwindow_ui.checkBox_cut_maxpt->isChecked() ? -maxFromInterface : -std::numeric_limits<double>::infinity());
475 max = (m_d->editwindow_ui.checkBox_cut_minpt->isChecked() ? -minFromInterface : std::numeric_limits<double>::infinity());
476 }
477
478 //message("cutAllowedPt: min,max="+QString::number(min)+","+QString::number(max));
479
480 if (max<min)
481 return VP1Interval();
482
483 return VP1Interval( min, max );//fixme: closed interval??
484}
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41

◆ cutAllowedPtChanged

void MuonCollectionSettingsButton::cutAllowedPtChanged ( const VP1Interval & )
signal

◆ defaultParameterMaterial()

SoMaterial * MuonCollectionSettingsButton::defaultParameterMaterial ( ) const

Definition at line 274 of file MuonCollectionSettingsButton.cxx.

274 {
275 // return m_d->defaultParametersMatButton->handledMaterials().at(0);// Only have one material per button.
276 return 0;
277}

◆ dragEnterEvent()

void MuonCollectionSettingsButton::dragEnterEvent ( QDragEnterEvent * event)
protected

Definition at line 344 of file MuonCollectionSettingsButton.cxx.

345{
346 if (event->source()!=this && event->mimeData()->hasFormat("vp1/material"))
347 event->acceptProposedAction();
348}

◆ dropEvent()

void MuonCollectionSettingsButton::dropEvent ( QDropEvent * event)
protected

Definition at line 403 of file MuonCollectionSettingsButton.cxx.

404{
405 QByteArray data = event->mimeData()->data("vp1/material");
406 event->acceptProposedAction();
408}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11

◆ helperClassName()

const QString & VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51{ return m_helpername; }

◆ hideActualTrackPath()

bool MuonCollectionSettingsButton::hideActualTrackPath ( ) const

Definition at line 328 of file MuonCollectionSettingsButton.cxx.

329{
330 if (!m_d->editwindow)
331 m_d->initEditWindow();
332 return m_d->editwindow_ui.checkBox_hideactualpaths->isChecked();
333}

◆ hideActualTrackPathChanged

void MuonCollectionSettingsButton::hideActualTrackPathChanged ( bool )
signal

◆ lastAppliedBrightness()

double MuonCollectionSettingsButton::lastAppliedBrightness ( ) const
virtual

Implements VP1MaterialButtonBase.

Definition at line 219 of file MuonCollectionSettingsButton.cxx.

220{
221 if (!m_d->matButton) m_d->initEditWindow();
222 return m_d->matButton->lastAppliedBrightness();
223}

◆ lastAppliedChanged

void MuonCollectionSettingsButton::lastAppliedChanged ( )
signal

◆ lastAppliedShininess()

double MuonCollectionSettingsButton::lastAppliedShininess ( ) const
virtual

Implements VP1MaterialButtonBase.

Definition at line 214 of file MuonCollectionSettingsButton.cxx.

215{
216 if (!m_d->matButton) m_d->initEditWindow();
217 return m_d->matButton->lastAppliedShininess();
218}

◆ lastAppliedTransparency()

double MuonCollectionSettingsButton::lastAppliedTransparency ( ) const
virtual

Implements VP1MaterialButtonBase.

Definition at line 209 of file MuonCollectionSettingsButton.cxx.

210{
211 if (!m_d->matButton) m_d->initEditWindow();
212 return m_d->matButton->lastAppliedTransparency();
213}

◆ message() [1/3]

void VP1HelperClassBase::message ( const QString & str) const
inherited

Definition at line 49 of file VP1HelperClassBase.cxx.

50{
51 if (m_helpername.isEmpty()) {
52 if (m_system)
53 m_system->message(str);
54 else
55 std::cout<<VP1Msg::prefix_msg()<<" [nameless helper class]: "<<str.toStdString()<<std::endl;
56 } else {
57 if (m_system)
58 m_system->message("["+m_helpername+"] " + str);
59 else
60 std::cout<<VP1Msg::prefix_msg()<<" ["<<m_helpername.toStdString()<<"]: "<<str.toStdString()<<std::endl;
61 }
62}
static const char * prefix_msg()
Definition VP1Msg.h:56
static QString str(const QString &s)
Definition VP1String.h:49

◆ message() [2/3]

void VP1HelperClassBase::message ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 131 of file VP1HelperClassBase.cxx.

132{
133 if (addtostart.isEmpty()) {
134 message(l,addtoend);
135 return;
136 }
137 if (addtoend.isEmpty()) {
138 for (const QString& s : l)
139 message(addtostart+s);
140 } else {
141 for (const QString& s : l)
142 message(addtostart+s+addtoend);
143 }
144}
void message(const QString &) const

◆ message() [3/3]

void VP1HelperClassBase::message ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 91 of file VP1HelperClassBase.cxx.

92{
93 if (addtoend.isEmpty()) {
94 for (const QString& s : l)
95 message(s);
96 } else {
97 for (const QString& s : l)
98 message(s+addtoend);
99 }
100}

◆ messageDebug() [1/3]

void VP1HelperClassBase::messageDebug ( const QString & str) const
inherited

Definition at line 65 of file VP1HelperClassBase.cxx.

66{
67 if (!VP1Msg::debug())
68 return;
69 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
70 if (m_helpername.isEmpty()) {
71 std::cout<<VP1Msg::prefix_debug()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
72 } else {
73 std::cout<<VP1Msg::prefix_debug()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
74 }
75}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ messageDebug() [2/3]

void VP1HelperClassBase::messageDebug ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 147 of file VP1HelperClassBase.cxx.

148{
149 if (!VP1Msg::debug())
150 return;
151 if (addtostart.isEmpty()) {
152 messageDebug(l,addtoend);
153 return;
154 }
155 if (addtoend.isEmpty()) {
156 for (const QString& s : l)
157 messageDebug(addtostart+s);
158 } else {
159 for (const QString& s : l)
160 messageDebug(addtostart+s+addtoend);
161 }
162}
void messageDebug(const QString &) const

◆ messageDebug() [3/3]

void VP1HelperClassBase::messageDebug ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 103 of file VP1HelperClassBase.cxx.

104{
105 if (!VP1Msg::debug())
106 return;
107 if (addtoend.isEmpty()) {
108 for (const QString& s : l)
109 messageDebug(s);
110 } else {
111 for (const QString& s : l)
112 messageDebug(s+addtoend);
113 }
114}

◆ messageVerbose() [1/3]

void VP1HelperClassBase::messageVerbose ( const QString & str) const
inherited

Definition at line 78 of file VP1HelperClassBase.cxx.

79{
80 if (!VP1Msg::verbose())
81 return;
82 std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
83 if (m_helpername.isEmpty()) {
84 std::cout<<VP1Msg::prefix_verbose()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
85 } else {
86 std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
87 }
88}
static bool verbose()
Definition VP1Msg.h:31
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ messageVerbose() [2/3]

void VP1HelperClassBase::messageVerbose ( const QString & addtostart,
const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 165 of file VP1HelperClassBase.cxx.

166{
167 if (!VP1Msg::verbose())
168 return;
169 if (addtostart.isEmpty()) {
170 messageVerbose(l,addtoend);
171 return;
172 }
173 if (addtoend.isEmpty()) {
174 for (const QString& s : l)
175 messageVerbose(addtostart+s);
176 } else {
177 for (const QString& s : l)
178 messageVerbose(addtostart+s+addtoend);
179 }
180}
void messageVerbose(const QString &) const

◆ messageVerbose() [3/3]

void VP1HelperClassBase::messageVerbose ( const QStringList & l,
const QString & addtoend = "" ) const
inherited

Definition at line 117 of file VP1HelperClassBase.cxx.

118{
119 if (!VP1Msg::verbose())
120 return;
121 if (addtoend.isEmpty()) {
122 for (const QString& s : l)
124 } else {
125 for (const QString& s : l)
126 messageVerbose(s+addtoend);
127 }
128}

◆ minimumQuality()

unsigned int MuonCollectionSettingsButton::minimumQuality ( ) const

Definition at line 295 of file MuonCollectionSettingsButton.cxx.

296{
297 if (!m_d->editwindow)
298 m_d->initEditWindow();
299
300 QString text = m_d->editwindow_ui.comboBox_minimumQuality->currentText();
301 if (text=="Very Loose") return static_cast<unsigned int>(xAOD::Muon::VeryLoose);
302 if (text=="Loose") return static_cast<unsigned int>(xAOD::Muon::Loose);
303 if (text=="Medium") return static_cast<unsigned int>(xAOD::Muon::Medium);
304 if (text=="Tight") return static_cast<unsigned int>(xAOD::Muon::Tight);
305
306 message("ERROR! MuonCollectionSettingsButton::minimumQuality - unknown value! Returning 'Very Loose'.");
307 return static_cast<unsigned int>(xAOD::Muon::VeryLoose);
308}

◆ minimumQualityChanged

void MuonCollectionSettingsButton::minimumQualityChanged ( unsigned int )
signal

◆ mouseMoveEvent()

void MuonCollectionSettingsButton::mouseMoveEvent ( QMouseEvent * event)
protected

Definition at line 351 of file MuonCollectionSettingsButton.cxx.

352{
353 if (!(event->buttons() & Qt::LeftButton))
354 return;
355 if ((event->pos() - m_d->dragStartPosition).manhattanLength()
356 < QApplication::startDragDistance())
357 return;
358
359 QDrag *drag = new QDrag(this);
360 QMimeData *mimeData = new QMimeData;
361
363 // For dragging state onto other material buttons: //
365
366 QByteArray byteArray = saveState();
367
368 // buffer.close();
369 mimeData->setData("vp1/material", byteArray);
370
371 // ////////////////////////////////////////////////////////
372 // // For dragging c++ code for defining this material //
373 // // into e.g. an editor: //
374 // ////////////////////////////////////////////////////////
375 //
376 // QString s = "SoMaterial * mat = new SoMaterial;\n";
377 // QString str_ambient = m_d->toSbColTxt(m_d->lastapplied_ambient);
378 // if (str_ambient!="SbColor(0.2,0.2,0.2)")
379 // s += "mat->ambientColor.setValue("+str_ambient+");\n";
380 // QString str_diffuse = m_d->toSbColTxt(m_d->lastapplied_diffuse);
381 // if (str_diffuse!="SbColor(0.8,0.8,0.8)")
382 // s += "mat->diffuseColor.setValue("+str_diffuse+");\n";
383 // QString str_specular = m_d->toSbColTxt(m_d->lastapplied_specular);
384 // if (str_specular!="SbColor(0,0,0)")
385 // s += "mat->specularColor.setValue("+str_specular+");\n";
386 // QString str_emissive = m_d->toSbColTxt(m_d->lastapplied_emissive);
387 // if (str_emissive!="SbColor(0,0,0)")
388 // s += "mat->emissiveColor.setValue("+str_emissive+");\n";
389 // QString str_shininess = m_d->printFloat(m_d->lastapplied_shininess/100.0);
390 // if (str_shininess!="0.2")
391 // s += "mat->shininess.setValue("+str_shininess+");\n";
392 // QString str_transparency = m_d->printFloat(m_d->lastapplied_transparency/100.0);
393 // if (str_transparency!="0")
394 // s += "mat->transparency.setValue("+str_transparency+");\n";
395 // mimeData->setText(s);
396
397 //Execute drag:
398 drag->setMimeData(mimeData);//drag assumes ownership of mimeData
399 drag->exec(Qt::CopyAction | Qt::MoveAction);
400}
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)

◆ mousePressEvent()

void MuonCollectionSettingsButton::mousePressEvent ( QMouseEvent * event)
protected

Definition at line 336 of file MuonCollectionSettingsButton.cxx.

337{
338 if (event->button() == Qt::LeftButton)
339 m_d->dragStartPosition = event->pos();
340 QPushButton::mousePressEvent(event);
341}

◆ parameterMaterial()

SoMaterial * MuonCollectionSettingsButton::parameterMaterial ( xAOD::ParameterPosition ) const

Definition at line 279 of file MuonCollectionSettingsButton.cxx.

279 {
280 // return (m_d->parameterTypeMatButtons.at(static_cast<unsigned int>(position)))->handledMaterials().at(0);// Only have one material per button.
281 return 0;
282}

◆ possibleChange_cutAllowedEta

void MuonCollectionSettingsButton::possibleChange_cutAllowedEta ( )
privateslot

Definition at line 512 of file MuonCollectionSettingsButton.cxx.

513{
514 if (m_d->last_cutAllowedEta==cutAllowedEta()) return;
515 messageVerbose("cutAllowedEta() changed");
516 m_d->last_cutAllowedEta=cutAllowedEta();
517 emit cutAllowedEtaChanged(m_d->last_cutAllowedEta);
518}
void cutAllowedEtaChanged(const VP1Interval &)

◆ possibleChange_cutAllowedPhi

void MuonCollectionSettingsButton::possibleChange_cutAllowedPhi ( )
privateslot

Definition at line 520 of file MuonCollectionSettingsButton.cxx.

521{
522 if (m_d->last_cutAllowedPhi==cutAllowedPhi()) return;
523 messageVerbose("cutAllowedPhi() changed");
524 m_d->last_cutAllowedPhi=cutAllowedPhi();
525 emit cutAllowedPhiChanged(m_d->last_cutAllowedPhi);
526}
void cutAllowedPhiChanged(const QList< VP1Interval > &)
QList< VP1Interval > cutAllowedPhi() const

◆ possibleChange_cutAllowedPt

void MuonCollectionSettingsButton::possibleChange_cutAllowedPt ( )
privateslot

Definition at line 502 of file MuonCollectionSettingsButton.cxx.

503{
504 messageVerbose("possibleChange_cutAllowedPt() ");
505
506 if (m_d->last_cutAllowedPt==cutAllowedPt()) return;
507 messageVerbose("cutAllowedPt() changed");
508 m_d->last_cutAllowedPt= cutAllowedPt();
509 emit cutAllowedPtChanged(m_d->last_cutAllowedPt);
510}
void cutAllowedPtChanged(const VP1Interval &)

◆ possibleChange_minimumQuality

void MuonCollectionSettingsButton::possibleChange_minimumQuality ( )
privateslot

Definition at line 528 of file MuonCollectionSettingsButton.cxx.

529{
530 messageVerbose("possibleChange_minimumQuality()");
531
532 if (m_d->last_minimumQuality==minimumQuality()) return;
533 messageVerbose("minimumQuality() changed");
534 m_d->last_minimumQuality=minimumQuality();
535 emit minimumQualityChanged(m_d->last_minimumQuality);
536}
void minimumQualityChanged(unsigned int)

◆ possibleChange_shownAssociatedObjects

void MuonCollectionSettingsButton::possibleChange_shownAssociatedObjects ( )
privateslot

Definition at line 542 of file MuonCollectionSettingsButton.cxx.

543{
544 messageVerbose("possibleChange_shownAssociatedObjects()");
545
546 if (m_d->last_shownAssociatedObjects==shownAssociatedObjects()) return;
547 messageVerbose("shownAssociatedObjects() changed");
548 m_d->last_shownAssociatedObjects=shownAssociatedObjects();
549 emit shownAssociatedObjectsChanged(m_d->last_shownAssociatedObjects);
550}
void shownAssociatedObjectsChanged(MuonCollectionSettingsButton::ShownAssociatedObjects)

◆ restoreFromState()

void MuonCollectionSettingsButton::restoreFromState ( const QByteArray & ba)
virtual

Implements VP1MaterialButtonBase.

Definition at line 429 of file MuonCollectionSettingsButton.cxx.

429 {
430
431 VP1Deserialise state(ba,systemBase());
432 if (state.version()<0||state.version()>1)
433 return;//Ignore silently
434 state.restore(m_d->matButton);
435 state.restore(m_d->editwindow_ui.horizontalSlider_trackWidth);
436 state.restore(m_d->editwindow_ui.checkBox_trackTubes);
437 state.restore(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM);
438 state.restore(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
439 state.restore(m_d->editwindow_ui.checkBox_hideactualpaths);
440
441 state.widgetHandled(this);
442 state.warnUnrestored(this);
443
445 updateTrackLightModel(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
446 updateButton();
447 //FIXME - anything else need updating?
448}
IVP1System * systemBase() const

◆ saveState()

QByteArray MuonCollectionSettingsButton::saveState ( ) const
virtual

fill out with the state of the object (used for drag and drop etc)

Implements VP1MaterialButtonBase.

Definition at line 411 of file MuonCollectionSettingsButton.cxx.

411 {
412 // messageVerbose("getState");
413 // if (m_d->editwindow_ui.checkBox_tracksUseBaseLightModel->isChecked()) messageVerbose("checked!");
414 VP1Serialise serialise(1/*version*/);
415
416 serialise.save(m_d->matButton);
417 // serialise.disableUnsavedChecks();
418 serialise.save(m_d->editwindow_ui.horizontalSlider_trackWidth);
419 serialise.save(m_d->editwindow_ui.checkBox_trackTubes);
420 serialise.save(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM);
421 serialise.save(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
422 serialise.save(m_d->editwindow_ui.checkBox_hideactualpaths);
423
424 serialise.widgetHandled(this);
425 serialise.warnUnsaved(this);
426 return serialise.result();
427}
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors

◆ setDimension()

void MuonCollectionSettingsButton::setDimension ( int dim)

Definition at line 177 of file MuonCollectionSettingsButton.cxx.

178{
179 if (m_d->dim == dim)
180 return;
181 m_d->dim = dim;
182 updateButton();
183}

◆ setHelperClassName()

void VP1HelperClassBase::setHelperClassName ( const QString & n)
inlineprotectedinherited

Definition at line 59 of file VP1HelperClassBase.h.

◆ setMaterial()

bool MuonCollectionSettingsButton::setMaterial ( SoMaterial * mat)
virtual

Implements VP1MaterialButtonBase.

Definition at line 196 of file MuonCollectionSettingsButton.cxx.

197{
198 // std::cout<<"MuonCollectionSettingsButton::setMaterial with mat="<<mat<<std::endl;
199 if (!m_d->matButton) m_d->initEditWindow();
200 m_d->matButton->setMaterial(mat);
201 return true;
202}

◆ setMaterialText

void MuonCollectionSettingsButton::setMaterialText ( const QString & t)
slot

Definition at line 84 of file MuonCollectionSettingsButton.cxx.

85{
86 if (m_d->editwindow)
87 m_d->editwindow->setWindowTitle(t);
88 setToolTip(t);
89}

◆ setSystemBasePointer()

void VP1HelperClassBase::setSystemBasePointer ( IVP1System * sys)
inherited

Definition at line 197 of file VP1HelperClassBase.cxx.

198{
199 m_system = sys;
200 if (VP1Msg::verbose()){
201 vp1helperclassbase_instanceMap[this] = (m_system?m_system->name():QString(""));
202 }
203}
static std::map< VP1HelperClassBase *, QString > vp1helperclassbase_instanceMap

◆ showEditMaterialDialog

void MuonCollectionSettingsButton::showEditMaterialDialog ( )
slot

Definition at line 185 of file MuonCollectionSettingsButton.cxx.

186{
187 if (!m_d->editwindow)
188 m_d->initEditWindow();
189
190 if (m_d->editwindow->isHidden())
191 m_d->editwindow->show();
192 else
193 m_d->editwindow->hide();
194}

◆ shownAssociatedObjects()

MuonCollectionSettingsButton::ShownAssociatedObjects MuonCollectionSettingsButton::shownAssociatedObjects ( ) const

Definition at line 310 of file MuonCollectionSettingsButton.cxx.

311{
312 if (!m_d->editwindow)
313 m_d->initEditWindow();
314 ShownAssociatedObjects parts = ShownAssociatedObject::Nothing;
315 // if (!m_d->ui_col.checkBox_hideactualpaths->isChecked()) parts |= TrackCommonFlags::ActualPath;
316 if (m_d->editwindow_ui.checkBox_showTrackParticles->isChecked()) {
317 if (m_d->editwindow_ui.comboBox_shownTrackParticles->currentIndex()==0) parts |= ShownAssociatedObject::TrackParticlesPrimary;
318 if (m_d->editwindow_ui.comboBox_shownTrackParticles->currentIndex()==1) parts |= ShownAssociatedObject::TrackParticlesCB;
319 if (m_d->editwindow_ui.comboBox_shownTrackParticles->currentIndex()==2) parts |= ShownAssociatedObject::TrackParticlesID;
320 if (m_d->editwindow_ui.comboBox_shownTrackParticles->currentIndex()==3) parts |= ShownAssociatedObject::TrackParticlesMS;
321 if (m_d->editwindow_ui.comboBox_shownTrackParticles->currentIndex()==4) parts |= ShownAssociatedObject::TrackParticlesME;
322 }
323 if (m_d->editwindow_ui.checkBox_showCaloClusters->isChecked()) parts |= ShownAssociatedObject::CaloClusters;
324 if (m_d->editwindow_ui.checkBox_showSegments->isChecked()) parts |= ShownAssociatedObject::Segments;
325 return parts;
326}

◆ shownAssociatedObjectsChanged

void MuonCollectionSettingsButton::shownAssociatedObjectsChanged ( MuonCollectionSettingsButton::ShownAssociatedObjects )
signal

◆ str() [1/30]

QString VP1String::str ( const Amg::Vector3D & t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53{ return b?"True":"False"; }

◆ str() [3/30]

QString VP1String::str ( const char * c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

QString VP1String::str ( const double & d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81{ return QString::number(d); }

◆ str() [5/30]

QString VP1String::str ( const float & f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82{ return QString::number(f); }

◆ str() [6/30]

template<class T>
QString VP1String::str ( const HepGeom::BasicVector3D< T > & t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95{ return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor & c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31{
32 return c.isValid() ? c.name() : "Invalid";
33}

◆ str() [8/30]

template<class T>
QString VP1String::str ( const QFlags< T > & f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91{ return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T>
QString VP1String::str ( const QList< T > & t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102{ return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

QString VP1String::str ( const QString & s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49{ return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor & c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37{
39}
static QColor sbcol2qcol(const SbColor &)

◆ str() [12/30]

QString VP1String::str ( const SbVec2d & v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61{ double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }
#define y
#define x

◆ str() [13/30]

QString VP1String::str ( const SbVec2f & v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62{ float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s & v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63{ short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d & v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64{ double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }
#define z

◆ str() [16/30]

QString VP1String::str ( const SbVec3f & v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65{ float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s & v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66{ short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d & v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67{ double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f & v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68{ float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T>
QString VP1String::str ( const T * t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87{ return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void * p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49{
50 if (p) {
51 std::ostringstream s;
52 s << p;
53 // Explicitly naming QString here avoids a cppcheck warning.
54 return QString (s.str().c_str());
55 } else {
56 return "NULL";
57 }
58}

◆ str() [22/30]

QString VP1String::str ( const VP1Interval & i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43{
44 return i.toString();
45}

◆ str() [23/30]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77{ return QString::number(n); }

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75{ return QString::number(n); }

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79{ return QString::number(n); }

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80{ return QString::number(n); }

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73{ return QString::number(n); }

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78{ return QString::number(n); }

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76{ return QString::number(n); }

◆ str() [30/30]

QString VP1String::str ( unsigned short int n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74{ return QString::number(n); }

◆ systemBase()

IVP1System * VP1HelperClassBase::systemBase ( ) const
inlineinherited

Definition at line 50 of file VP1HelperClassBase.h.

50{ return m_system; }

◆ trackDrawStyle()

SoDrawStyle * MuonCollectionSettingsButton::trackDrawStyle ( ) const

Definition at line 264 of file MuonCollectionSettingsButton.cxx.

265{
266 return m_d->trackDrawStyle;
267}

◆ trackLightModel()

SoLightModel * MuonCollectionSettingsButton::trackLightModel ( ) const

Definition at line 269 of file MuonCollectionSettingsButton.cxx.

270{
271 return m_d->trackLightModel;
272}

◆ trackTubeRadius()

double MuonCollectionSettingsButton::trackTubeRadius ( ) const

Definition at line 225 of file MuonCollectionSettingsButton.cxx.

226{
227 return m_d->editwindow_ui.checkBox_trackTubes->isChecked() ?
228 m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM->value() : 0.0;
229}

◆ trackTubeRadiusChanged

void MuonCollectionSettingsButton::trackTubeRadiusChanged ( const double & )
signal

◆ updateButton

void MuonCollectionSettingsButton::updateButton ( )
protectedslot

Definition at line 169 of file MuonCollectionSettingsButton.cxx.

170{
171 if (objectName().isEmpty())
172 setObjectName("MuonCollectionSettingsButton");
173 messageVerbose("setColButtonProperties: color=" + str(m_d->matButton->lastAppliedDiffuseColour()));
174 VP1ColorSelectButton::setColButtonProperties(this,m_d->matButton->lastAppliedDiffuseColour(),m_d->dim);
175}
static void setColButtonProperties(QPushButton *, const QColor &col, int dim)

◆ updateHideActualTrackPath

void MuonCollectionSettingsButton::updateHideActualTrackPath ( bool hide)
privateslot

Definition at line 258 of file MuonCollectionSettingsButton.cxx.

259{
261}

◆ updateTrackDrawStyle

void MuonCollectionSettingsButton::updateTrackDrawStyle ( )
privateslot

Definition at line 240 of file MuonCollectionSettingsButton.cxx.

241{
242 double val = VP1QtInventorUtils::getValueLineWidthSlider(m_d->editwindow_ui.horizontalSlider_trackWidth);
243 if (m_d->trackDrawStyle->lineWidth.getValue()!=val)
244 m_d->trackDrawStyle->lineWidth = val;
245}
static double getValueLineWidthSlider(const QSlider *)

◆ updateTrackLightModel

void MuonCollectionSettingsButton::updateTrackLightModel ( bool base)
privateslot

Definition at line 247 of file MuonCollectionSettingsButton.cxx.

248{
249 if (m_d->trackLightModel->model.getValue()!=(base?SoLightModel::BASE_COLOR:SoLightModel::PHONG)) {
250 messageVerbose("TrackLightModel changed (base = "+str(base));
251 if (base)
252 m_d->trackLightModel->model.setValue(SoLightModel::BASE_COLOR);
253 else
254 m_d->trackLightModel->model.setValue(SoLightModel::PHONG);
255 }
256}
std::string base
Definition hcg.cxx:81

◆ updateTrackTubeRadius

void MuonCollectionSettingsButton::updateTrackTubeRadius ( )
privateslot

Definition at line 231 of file MuonCollectionSettingsButton.cxx.

232{
233 if (m_d->last_trackTubeRadius==trackTubeRadius()) return;
234 m_d->last_trackTubeRadius=trackTubeRadius();
235 messageVerbose("TrackTubeRadius changed to "+str(m_d->last_trackTubeRadius));
236 emit trackTubeRadiusChanged(m_d->last_trackTubeRadius);
237 return;
238}
void trackTubeRadiusChanged(const double &)

◆ verbose()

bool VP1HelperClassBase::verbose ( )
inlinestaticinherited

Definition at line 32 of file VP1HelperClassBase.h.

32{ return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1
static const bool s_vp1verbose

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184{
186 return;
187 std::cout << "WARNING: Detected "<<vp1helperclassbase_instanceMap.size()<<" undeleted helper class instances:"<<std::endl;
188
189 std::map<VP1HelperClassBase*,QString>::iterator it,itE(vp1helperclassbase_instanceMap.end());
190 for (it = vp1helperclassbase_instanceMap.begin();it!=itE;++it) {
191 std::cout << " ==> "<<it->first<<": "<<it->first->m_helpername.toStdString()
192 << (it->second.isEmpty()?QString(""):" (in system "+it->second+")").toStdString()<<std::endl;
193 }
194}

Member Data Documentation

◆ m_d

Imp* MuonCollectionSettingsButton::m_d
private

Definition at line 100 of file MuonCollectionSettingsButton.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_system

IVP1System* VP1HelperClassBase::m_system
privateinherited

Definition at line 68 of file VP1HelperClassBase.h.

◆ s_vp1verbose

const bool VP1HelperClassBase::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 69 of file VP1HelperClassBase.h.


The documentation for this class was generated from the following files: