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 488 of file MuonCollectionSettingsButton.cxx.

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

◆ cutAllowedEtaChanged

void MuonCollectionSettingsButton::cutAllowedEtaChanged ( const VP1Interval & )
signal

◆ cutAllowedPhi()

QList< VP1Interval > MuonCollectionSettingsButton::cutAllowedPhi ( ) const

Definition at line 496 of file MuonCollectionSettingsButton.cxx.

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

◆ cutAllowedPhiChanged

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

◆ cutAllowedPt()

VP1Interval MuonCollectionSettingsButton::cutAllowedPt ( ) const

Definition at line 452 of file MuonCollectionSettingsButton.cxx.

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

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

◆ dropEvent()

void MuonCollectionSettingsButton::dropEvent ( QDropEvent * event)
protected

Definition at line 404 of file MuonCollectionSettingsButton.cxx.

405{
406 QByteArray data = event->mimeData()->data("vp1/material");
407 event->acceptProposedAction();
409}
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 329 of file MuonCollectionSettingsButton.cxx.

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

◆ 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 using Quality=xAOD::Muon::Quality;
302 if (text=="Very Loose") return static_cast<unsigned int>(Quality::VeryLoose);
303 if (text=="Loose") return static_cast<unsigned int>(Quality::Loose);
304 if (text=="Medium") return static_cast<unsigned int>(Quality::Medium);
305 if (text=="Tight") return static_cast<unsigned int>(Quality::Tight);
306
307 message("ERROR! MuonCollectionSettingsButton::minimumQuality - unknown value! Returning 'Very Loose'.");
308 return static_cast<unsigned int>(Quality::VeryLoose);
309}

◆ minimumQualityChanged

void MuonCollectionSettingsButton::minimumQualityChanged ( unsigned int )
signal

◆ mouseMoveEvent()

void MuonCollectionSettingsButton::mouseMoveEvent ( QMouseEvent * event)
protected

Definition at line 352 of file MuonCollectionSettingsButton.cxx.

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

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

◆ 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 513 of file MuonCollectionSettingsButton.cxx.

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

◆ possibleChange_cutAllowedPhi

void MuonCollectionSettingsButton::possibleChange_cutAllowedPhi ( )
privateslot

Definition at line 521 of file MuonCollectionSettingsButton.cxx.

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

◆ possibleChange_cutAllowedPt

void MuonCollectionSettingsButton::possibleChange_cutAllowedPt ( )
privateslot

Definition at line 503 of file MuonCollectionSettingsButton.cxx.

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

◆ possibleChange_minimumQuality

void MuonCollectionSettingsButton::possibleChange_minimumQuality ( )
privateslot

Definition at line 529 of file MuonCollectionSettingsButton.cxx.

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

◆ possibleChange_shownAssociatedObjects

void MuonCollectionSettingsButton::possibleChange_shownAssociatedObjects ( )
privateslot

Definition at line 543 of file MuonCollectionSettingsButton.cxx.

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

◆ restoreFromState()

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

Implements VP1MaterialButtonBase.

Definition at line 430 of file MuonCollectionSettingsButton.cxx.

430 {
431
432 VP1Deserialise state(ba,systemBase());
433 if (state.version()<0||state.version()>1)
434 return;//Ignore silently
435 state.restore(m_d->matButton);
436 state.restore(m_d->editwindow_ui.horizontalSlider_trackWidth);
437 state.restore(m_d->editwindow_ui.checkBox_trackTubes);
438 state.restore(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM);
439 state.restore(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
440 state.restore(m_d->editwindow_ui.checkBox_hideactualpaths);
441
442 state.widgetHandled(this);
443 state.warnUnrestored(this);
444
446 updateTrackLightModel(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
447 updateButton();
448 //FIXME - anything else need updating?
449}
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 412 of file MuonCollectionSettingsButton.cxx.

412 {
413 // messageVerbose("getState");
414 // if (m_d->editwindow_ui.checkBox_tracksUseBaseLightModel->isChecked()) messageVerbose("checked!");
415 VP1Serialise serialise(1/*version*/);
416
417 serialise.save(m_d->matButton);
418 // serialise.disableUnsavedChecks();
419 serialise.save(m_d->editwindow_ui.horizontalSlider_trackWidth);
420 serialise.save(m_d->editwindow_ui.checkBox_trackTubes);
421 serialise.save(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM);
422 serialise.save(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
423 serialise.save(m_d->editwindow_ui.checkBox_hideactualpaths);
424
425 serialise.widgetHandled(this);
426 serialise.warnUnsaved(this);
427 return serialise.result();
428}
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 311 of file MuonCollectionSettingsButton.cxx.

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

◆ 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:83

◆ 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: