ATLAS Offline Software
Loading...
Searching...
No Matches
TrackParticleCollectionSettingsButton.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5// Local
8#include "ui_pertrackparticlecollectionsettings_form.h"
9#include "ui_settings_cuts_form.h"
10
11//VP1
15
16//SoCoin
17
18#include "Inventor/nodes/SoDrawStyle.h"
19#include "Inventor/nodes/SoLightModel.h"
20#include "Inventor/nodes/SoMaterial.h"
21
22// Qt
23#include <QTimer>
24#include <QByteArray>
25#include <QBuffer>
26#include <QDataStream>
27#include <QMouseEvent>
28#include <QDragEnterEvent>
29#include <QDropEvent>
30#include <QShortcut>
31#include <QMimeData>
32#include <QDrag>
33
34// Misc
35#include <iostream>
36
37//____________________________________________________________________
72
73//____________________________________________________________________
75{
76 if (editwindow)
77 return;
78 theclass->messageVerbose("Initialising material editor dialog");
79 editwindow = new QWidget(0,Qt::WindowStaysOnTopHint);
81 matButton = editwindow_ui.pushButton_matButton;
82
83 defaultParametersMatButton = editwindow_ui.matButton_parametersDefaultColour;
84 SoMaterial* defParamMat = new SoMaterial; // Default (for the moment)
85 defaultParametersMatButton->setMaterial(defParamMat);
86 editwindow_ui.frame_parameterTypeColours->hide();
87
88 // Set the default colours for the "colour by parameter type" section
89 parameterTypeMatButtons.append(editwindow_ui.pushButton_matButton_parameters_default_colour_2);
90 parameterTypeMatButtons.append(editwindow_ui.pushButton_matButton_parameters_default_colour_3);
91 parameterTypeMatButtons.append(editwindow_ui.pushButton_matButton_parameters_default_colour_4);
92 parameterTypeMatButtons.append(editwindow_ui.pushButton_matButton_parameters_default_colour_5);
93 parameterTypeMatButtons.append(editwindow_ui.pushButton_matButton_parameters_default_colour_6);
94 parameterTypeMatButtons.append(editwindow_ui.pushButton_matButton_parameters_default_colour_7);
95 QList<QColor> colours;
96 colours.append(QColor(0.0, 170.0, 255.0));
97 colours.append(QColor(170, 85, 255));
98 colours.append(QColor(255, 85, 0));
99 colours.append(QColor(170, 0, 127));
100 colours.append(QColor(170, 255, 0));
101 colours.append(QColor(85, 0, 255));
102
103 for (unsigned int i=0; i<6;++i){
104 SoMaterial * mat = VP1MaterialButton::createMaterial(colours.at(i));
105 (parameterTypeMatButtons.at(i))->setMaterial(mat);
106 }
107}
108
109//____________________________________________________________________
111{
112 if (m_d->editwindow)
113 m_d->editwindow->setWindowTitle(t);
114 setToolTip(t);
115}
116
117//____________________________________________________________________
119 : VP1MaterialButtonBase(parent,0,"VP1MaterialButton"), m_d(new Imp)
120{
121 m_d->dim = dim;
122
123 m_d->theclass = this;
124 m_d->initEditWindow();
125
126 //Draw Styles / Complexity:
127 VP1QtInventorUtils::setLimitsLineWidthSlider(m_d->editwindow_ui.horizontalSlider_trackWidth);
128 VP1QtInventorUtils::setValueLineWidthSlider(m_d->editwindow_ui.horizontalSlider_trackWidth,1.0);
129
130 m_d->trackDrawStyle = new SoDrawStyle;
131 m_d->trackDrawStyle->setName("TrackParticleDrawStyle");
132 m_d->trackDrawStyle->pointSize=5.0;
133 m_d->trackDrawStyle->ref();
135 connect(m_d->editwindow_ui.horizontalSlider_trackWidth,SIGNAL(valueChanged(int)),this,SLOT(updateTrackDrawStyle()));
136 m_d->last_trackTubeRadius=trackTubeRadius();
137 connect(m_d->editwindow_ui.checkBox_trackTubes,SIGNAL(toggled(bool)),this,SLOT(updateTrackTubeRadius()));
138 connect(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM,SIGNAL(valueChanged(double)),this,SLOT(updateTrackTubeRadius()));
139
140
141 m_d->trackLightModel = new SoLightModel;
142 m_d->trackLightModel->setName("TrackParticleLightModel");
143 m_d->trackLightModel->ref();
145 connect(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel,SIGNAL(toggled(bool)),this,SLOT(updateTrackLightModel(bool)));
146 connect(m_d->editwindow_ui.checkBox_hideactualpaths,SIGNAL(toggled(bool)),this,SLOT(updateHideActualTrackPath(bool)));
147
148 #if defined BUILDVP1LIGHT
149 m_d->editwindow_ui.radioButton_existingParameters->setChecked(true);
150 m_d->editwindow_ui.radioButton_existingParameters->setEnabled(true);
151 m_d->editwindow_ui.radioButton_extrapolate->setChecked(false);
152 m_d->editwindow_ui.radioButton_extrapolate->setEnabled(false);
153 m_d->editwindow_ui.radioButton_extrapolate->setToolTip("Not available in VP1 Light");
154 m_d->editwindow_ui.horizontalSlider_numBezierSteps->setValue(10);
155 m_d->editwindow_ui.horizontalSlider_numBezierSteps->setSliderPosition(10);
156 #endif //BUILDVP1LIGHT
157
158 // Propagation - for all of these, just emit the propagationOptionsChanged() signal and rely on clients checking to see what has changed.
159 connect(m_d->editwindow_ui.radioButton_existingParameters, SIGNAL(toggled(bool)), this, SIGNAL(propagationOptionsChanged()));
160 connect(m_d->editwindow_ui.radioButton_extrapolate, SIGNAL(toggled(bool)), this, SIGNAL(propagationOptionsChanged()));
161 connect(m_d->editwindow_ui.horizontalSlider_numBezierSteps,SIGNAL(valueChanged(int)),this, SIGNAL(propagationOptionsChanged()));
162
163 // -> parameters
164 connect(m_d->editwindow_ui.checkBox_showparameters,SIGNAL(toggled(bool)),this,SLOT(possibleChange_showParameters()));
165 connect(m_d->editwindow_ui.checkBox_parameters_colourByType,SIGNAL(toggled(bool)),this,SLOT(possibleChange_parameterColours()));
166
167 // -> cutAllowedP/Pt
168 connect(m_d->editwindow_ui.checkBox_cut_minpt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutAllowedPt()));
169 connect(m_d->editwindow_ui.checkBox_cut_maxpt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutAllowedPt()));
170 connect(m_d->editwindow_ui.doubleSpinBox_cut_minpt_gev,SIGNAL(valueChanged(double)),this,SLOT(possibleChange_cutAllowedPt()));
171 connect(m_d->editwindow_ui.doubleSpinBox_cut_maxpt_gev,SIGNAL(valueChanged(double)),this,SLOT(possibleChange_cutAllowedPt()));
172 connect(m_d->editwindow_ui.checkBox_cut_minpt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutAllowedPt()));
173 connect(m_d->editwindow_ui.comboBox_momtype,SIGNAL(currentIndexChanged(int)),this,SLOT(possibleChange_cutAllowedPt()));
174
175 // -> cutAllowedEta
176 connect(m_d->editwindow_ui.etaPhiCutWidget,SIGNAL(allowedEtaChanged(const VP1Interval&)),this,SLOT(possibleChange_cutAllowedEta()));
177
178 // -> cutAllowedPhi
179 connect(m_d->editwindow_ui.etaPhiCutWidget,SIGNAL(allowedPhiChanged(const QList<VP1Interval>&)),this,SLOT(possibleChange_cutAllowedPhi()));
180
181 // -> cutRequiredNHits();
182 connect(m_d->editwindow_ui.checkBox_cut_nhits_pixel,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutRequiredNHits()));
183 connect(m_d->editwindow_ui.checkBox_cut_nhits_sct,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutRequiredNHits()));
184 connect(m_d->editwindow_ui.checkBox_cut_nhits_trt,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutRequiredNHits()));
185 connect(m_d->editwindow_ui.checkBox_cut_nhits_muon,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutRequiredNHits()));
186 connect(m_d->editwindow_ui.spinBox_cut_nhits_pixel,SIGNAL(valueChanged(int)),this,SLOT(possibleChange_cutRequiredNHits()));
187 connect(m_d->editwindow_ui.spinBox_cut_nhits_sct,SIGNAL(valueChanged(int)),this,SLOT(possibleChange_cutRequiredNHits()));
188 connect(m_d->editwindow_ui.spinBox_cut_nhits_trt,SIGNAL(valueChanged(int)),this,SLOT(possibleChange_cutRequiredNHits()));
189 connect(m_d->editwindow_ui.spinBox_cut_nhits_muon,SIGNAL(valueChanged(int)),this,SLOT(possibleChange_cutRequiredNHits()));
190
191 // -> cutOnlyVertexAssocTracks
192 connect(m_d->editwindow_ui.checkBox_vertexAssociated,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutOnlyVertexAssocTracks()));
193
194 connect(this,SIGNAL(clicked()),this,SLOT(showEditMaterialDialog()));
195 connect(m_d->editwindow_ui.pushButton_close,SIGNAL(clicked()),this,SLOT(showEditMaterialDialog()));
196 connect(m_d->matButton,SIGNAL(lastAppliedChanged()),this,SLOT(updateButton()));
197 connect(m_d->matButton,SIGNAL(lastAppliedChanged()),this,SIGNAL(lastAppliedChanged()));
198 setAcceptDrops(true);
199
200 QTimer::singleShot(0, this, SLOT(updateButton()));
201
202}
203
204// QWidget& TrackParticleCollectionSettingsButton::editWindow() {
205// if (!m_d->editwindow)
206// initEditWindow();
207// return *(m_d->editwindow);
208// }
210{
211 delete m_d->editwindow;
212 m_d->trackDrawStyle->unref();
213 m_d->trackLightModel->unref();
214 delete m_d;
215}
216
218{
219 if (objectName().isEmpty())
220 setObjectName("TrackParticleCollectionSettingsButton");
221 messageVerbose("setColButtonProperties: color=" + str(m_d->matButton->lastAppliedDiffuseColour()));
222 VP1ColorSelectButton::setColButtonProperties(this,m_d->matButton->lastAppliedDiffuseColour(),m_d->dim);
223}
224
226{
227 if (m_d->dim == dim)
228 return;
229 m_d->dim = dim;
230 updateButton();
231}
232
234{
235 if (!m_d->editwindow)
236 m_d->initEditWindow();
237
238 if (m_d->editwindow->isHidden())
239 m_d->editwindow->show();
240 else
241 m_d->editwindow->hide();
242}
243
245{
246 // std::cout<<"TrackParticleCollectionSettingsButton::setMaterial with mat="<<mat<<std::endl;
247 if (!m_d->matButton) m_d->initEditWindow();
248 m_d->matButton->setMaterial(mat);
249 return true;
250}
251
253{
254 if (!m_d->matButton) m_d->initEditWindow();
255 m_d->matButton->setMaterial(mat);
256}
258{
259 if (!m_d->matButton) m_d->initEditWindow();
260 return m_d->matButton->lastAppliedTransparency();
261}
263{
264 if (!m_d->matButton) m_d->initEditWindow();
265 return m_d->matButton->lastAppliedShininess();
266}
268{
269 if (!m_d->matButton) m_d->initEditWindow();
270 return m_d->matButton->lastAppliedBrightness();
271}
272
274{
275 return m_d->editwindow_ui.checkBox_trackTubes->isChecked() ?
276 m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM->value() : 0.0;
277}
278
280{
281 if (m_d->last_trackTubeRadius==trackTubeRadius()) return;
282 m_d->last_trackTubeRadius=trackTubeRadius();
283 messageVerbose("TrackTubeRadius changed to "+str(m_d->last_trackTubeRadius));
284 emit trackTubeRadiusChanged(m_d->last_trackTubeRadius);
285 return;
286}
287
289{
290 double val = VP1QtInventorUtils::getValueLineWidthSlider(m_d->editwindow_ui.horizontalSlider_trackWidth);
291 if (m_d->trackDrawStyle->lineWidth.getValue()!=val)
292 m_d->trackDrawStyle->lineWidth = val;
293}
294
296{
297 if (m_d->trackLightModel->model.getValue()!=(base?SoLightModel::BASE_COLOR:SoLightModel::PHONG)) {
298 messageVerbose("TrackLightModel changed (base = "+str(base));
299 if (base)
300 m_d->trackLightModel->model.setValue(SoLightModel::BASE_COLOR);
301 else
302 m_d->trackLightModel->model.setValue(SoLightModel::PHONG);
303 }
304}
305
310
311
313{
314 return m_d->trackDrawStyle;
315}
316
318{
319 return m_d->trackLightModel;
320}
321
323 return m_d->editwindow_ui.radioButton_existingParameters->isChecked();
324}
325
327 return m_d->editwindow_ui.horizontalSlider_numBezierSteps->value();
328}
329
331 return m_d->defaultParametersMatButton->handledMaterials().at(0);// Only have one material per button.
332}
334 return (m_d->parameterTypeMatButtons.at(static_cast<unsigned int>(position)))->handledMaterials().at(0);// Only have one material per button.
335}
336
337// void setDefaultParameterMaterial(SoMaterial* mat) {
338// // m_d->defaultParametersMatButton->setObjectName("matButton_default");
339// // m_d->defaultParametersMatButton->setToolTip(matButtonToolTip());
340// m_d->defaultParametersMatButton->setMaterial(mat);
341// // connect(m_d->matButton,SIGNAL(lastAppliedChanged()),this,SLOT(possibleChangeMatTranspOrBrightness()));
342// }
343//
344// void TrackParticleCollectionSettingsButton::setParameterMaterial(SoMaterial*, xAOD::ParameterPosition){
345// // FIXME!
346// }
347
349{
350 if (!m_d->editwindow)
351 m_d->initEditWindow();
352 return m_d->editwindow_ui.checkBox_hideactualpaths->isChecked();
353}
354
356{
357 if (!m_d->editwindow)
358 m_d->initEditWindow();
359 messageVerbose("TrackParticleCollectionSettingsButton::showParameters returning "+str(m_d->editwindow_ui.checkBox_showparameters->isChecked()));
360 return m_d->editwindow_ui.checkBox_showparameters->isChecked();
361}
362
364{
365 if (!m_d->editwindow)
366 m_d->initEditWindow();
367 messageVerbose("TrackParticleCollectionSettingsButton::colourParametersByType returning "+str(m_d->editwindow_ui.checkBox_parameters_colourByType->isChecked()));
368 return m_d->editwindow_ui.checkBox_parameters_colourByType->isChecked();
369}
370
371
373{
374 if (!m_d->editwindow)
375 m_d->initEditWindow();
376 return m_d->editwindow_ui.checkBox_vertexAssociated->isChecked();
377}
378
379//____________________________________________________________________
381{
382 if (event->button() == Qt::LeftButton)
383 m_d->dragStartPosition = event->pos();
384 QPushButton::mousePressEvent(event);
385}
386
387//____________________________________________________________________
389{
390 if (event->source()!=this && event->mimeData()->hasFormat("vp1/material"))
391 event->acceptProposedAction();
392}
393
394//____________________________________________________________________
396{
397 if (!(event->buttons() & Qt::LeftButton))
398 return;
399 if ((event->pos() - m_d->dragStartPosition).manhattanLength()
400 < QApplication::startDragDistance())
401 return;
402
403 QDrag *drag = new QDrag(this);
404 QMimeData *mimeData = new QMimeData;
405
407 // For dragging state onto other material buttons: //
409
410 QByteArray byteArray = saveState();
411
412 // buffer.close();
413 mimeData->setData("vp1/material", byteArray);
414
415 // ////////////////////////////////////////////////////////
416 // // For dragging c++ code for defining this material //
417 // // into e.g. an editor: //
418 // ////////////////////////////////////////////////////////
419 //
420 // QString s = "SoMaterial * mat = new SoMaterial;\n";
421 // QString str_ambient = m_d->toSbColTxt(m_d->lastapplied_ambient);
422 // if (str_ambient!="SbColor(0.2,0.2,0.2)")
423 // s += "mat->ambientColor.setValue("+str_ambient+");\n";
424 // QString str_diffuse = m_d->toSbColTxt(m_d->lastapplied_diffuse);
425 // if (str_diffuse!="SbColor(0.8,0.8,0.8)")
426 // s += "mat->diffuseColor.setValue("+str_diffuse+");\n";
427 // QString str_specular = m_d->toSbColTxt(m_d->lastapplied_specular);
428 // if (str_specular!="SbColor(0,0,0)")
429 // s += "mat->specularColor.setValue("+str_specular+");\n";
430 // QString str_emissive = m_d->toSbColTxt(m_d->lastapplied_emissive);
431 // if (str_emissive!="SbColor(0,0,0)")
432 // s += "mat->emissiveColor.setValue("+str_emissive+");\n";
433 // QString str_shininess = m_d->printFloat(m_d->lastapplied_shininess/100.0);
434 // if (str_shininess!="0.2")
435 // s += "mat->shininess.setValue("+str_shininess+");\n";
436 // QString str_transparency = m_d->printFloat(m_d->lastapplied_transparency/100.0);
437 // if (str_transparency!="0")
438 // s += "mat->transparency.setValue("+str_transparency+");\n";
439 // mimeData->setText(s);
440
441 //Execute drag:
442 drag->setMimeData(mimeData);//drag assumes ownership of mimeData
443 drag->exec(Qt::CopyAction | Qt::MoveAction);
444}
445
446//____________________________________________________________________
448{
449 QByteArray data = event->mimeData()->data("vp1/material");
450 event->acceptProposedAction();
452}
453
454
456 // messageVerbose("getState");
457 // if (m_d->editwindow_ui.checkBox_tracksUseBaseLightModel->isChecked()) messageVerbose("checked!");
458 VP1Serialise serialise(1/*version*/);
459
460 serialise.save(m_d->matButton);
461 // serialise.disableUnsavedChecks();
462 serialise.save(m_d->editwindow_ui.horizontalSlider_trackWidth);
463 serialise.save(m_d->editwindow_ui.checkBox_trackTubes);
464 serialise.save(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM);
465 serialise.save(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
466 serialise.save(m_d->editwindow_ui.checkBox_hideactualpaths);
467
468 // Parameters
469 serialise.save(m_d->editwindow_ui.checkBox_showparameters);
470 serialise.save(m_d->editwindow_ui.checkBox_parameters_colourByType);
471
472 serialise.widgetHandled(this);
473 serialise.warnUnsaved(this);
474 return serialise.result();
475}
476
478
479 VP1Deserialise state(ba,systemBase());
480 if (state.version()<0||state.version()>1)
481 return;//Ignore silently
482 state.restore(m_d->matButton);
483 state.restore(m_d->editwindow_ui.horizontalSlider_trackWidth);
484 state.restore(m_d->editwindow_ui.checkBox_trackTubes);
485 state.restore(m_d->editwindow_ui.doubleSpinBox_trackTubesRadiusMM);
486 state.restore(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
487 state.restore(m_d->editwindow_ui.checkBox_hideactualpaths);
488
489 // Parameters
490 state.restore(m_d->editwindow_ui.checkBox_showparameters);
491 state.restore(m_d->editwindow_ui.checkBox_parameters_colourByType);
492
493 state.widgetHandled(this);
494 state.warnUnrestored(this);
495
497 updateTrackLightModel(m_d->editwindow_ui.checkBox_tracksUseBaseLightModel);
498 updateButton();
499 //FIXME - anything else need updating?
500}
501
502//____________________________________________________________________
504{
505 if (!m_d->editwindow)
506 m_d->initEditWindow();
507 if (!m_d->editwindow_ui.checkBox_cut_minpt)
508 return VP1Interval();
509
510 // will set range to negative if we have momcut=P
511 // if minCut unset then min=-inf
512 // if minCut set, and Pt selected, then min=-minCut
513 // if minCut set, and P selected, then min=-maxCut
514 // etc
515 bool isPCut = m_d->editwindow_ui.comboBox_momtype->currentText()=="P";
516
517 const double minFromInterface=m_d->editwindow_ui.doubleSpinBox_cut_minpt_gev->value()*1000;
518 const double maxFromInterface=m_d->editwindow_ui.doubleSpinBox_cut_maxpt_gev->value()*1000;
519
520 double min=0.0,max=0.0;
521 if (!isPCut) {
522 //Pt cut
523 min = (m_d->editwindow_ui.checkBox_cut_minpt->isChecked() ? minFromInterface : -std::numeric_limits<double>::infinity());
524 max = (m_d->editwindow_ui.checkBox_cut_maxpt->isChecked() ? maxFromInterface : std::numeric_limits<double>::infinity());
525 } else {
526 min = (m_d->editwindow_ui.checkBox_cut_maxpt->isChecked() ? -maxFromInterface : -std::numeric_limits<double>::infinity());
527 max = (m_d->editwindow_ui.checkBox_cut_minpt->isChecked() ? -minFromInterface : std::numeric_limits<double>::infinity());
528 }
529
530 //message("cutAllowedPt: min,max="+QString::number(min)+","+QString::number(max));
531
532 if (max<min)
533 return VP1Interval();
534
535 return VP1Interval( min, max );//fixme: closed interval??
536}
537
538//____________________________________________________________________
540{
541 if (!m_d->editwindow)
542 m_d->initEditWindow();
543 return m_d->editwindow_ui.etaPhiCutWidget->allowedEta();
544}
545
546//____________________________________________________________________
548{
549 if (!m_d->editwindow)
550 m_d->initEditWindow();
551 return m_d->editwindow_ui.etaPhiCutWidget->allowedPhi();
552}
553
554//____________________________________________________________________
556{
557 if (!m_d->editwindow)
558 m_d->initEditWindow();
559 unsigned npixel = m_d->editwindow_ui.checkBox_cut_nhits_pixel->isChecked() ? m_d->editwindow_ui.spinBox_cut_nhits_pixel->value() : 0;
560 unsigned nsct = m_d->editwindow_ui.checkBox_cut_nhits_sct->isChecked() ? m_d->editwindow_ui.spinBox_cut_nhits_sct->value() : 0;
561 unsigned ntrt = m_d->editwindow_ui.checkBox_cut_nhits_trt->isChecked() ? m_d->editwindow_ui.spinBox_cut_nhits_trt->value() : 0;
562 unsigned nmuon = m_d->editwindow_ui.checkBox_cut_nhits_muon->isChecked() ? m_d->editwindow_ui.spinBox_cut_nhits_muon->value() : 0;
563 QList<unsigned> l;
564 if (!npixel&&!nsct&&!ntrt&&!nmuon)
565 return l;
566 l << npixel << nsct << ntrt << nmuon;
567 return l;
568}
569
570
572{
573 messageVerbose("possibleChange_cutAllowedPt() ");
574
575 if (m_d->last_cutAllowedPt==cutAllowedPt()) return;
576 messageVerbose("cutAllowedPt() changed");
577 m_d->last_cutAllowedPt= cutAllowedPt();
578 emit cutAllowedPtChanged(m_d->last_cutAllowedPt);
579}
580
582{
583 if (m_d->last_cutAllowedEta==cutAllowedEta()) return;
584 messageVerbose("cutAllowedEta() changed");
585 m_d->last_cutAllowedEta=cutAllowedEta();
586 emit cutAllowedEtaChanged(m_d->last_cutAllowedEta);
587}
588
590{
591 if (m_d->last_cutAllowedPhi==cutAllowedPhi()) return;
592 messageVerbose("cutAllowedPhi() changed");
593 m_d->last_cutAllowedPhi=cutAllowedPhi();
594 emit cutAllowedPhiChanged(m_d->last_cutAllowedPhi);
595}
596
598{
599 if (m_d->last_cutRequiredNHits!=cutRequiredNHits()) return;
600 messageVerbose("cutRequiredNHits() changed");
601 m_d->last_cutRequiredNHits=cutRequiredNHits();
602 emit cutRequiredNHitsChanged(m_d->last_cutRequiredNHits);
603}
604
606{
607 if (m_d->last_cutOnlyVertexAssocTracks!=cutOnlyVertexAssocTracks()) return;
608 messageVerbose("cutOnlyVertexAssocTracks() changed");
609 m_d->last_cutOnlyVertexAssocTracks=cutOnlyVertexAssocTracks();
610 emit cutOnlyVertexAssocTracksChanged(m_d->last_cutOnlyVertexAssocTracks);
611}
612
614{
615 messageVerbose("TrackParticleCollectionSettingsButton::possibleChange_showParameters emitting showParametersChanged ");
616 emit showParametersChanged(m_d->editwindow_ui.checkBox_showparameters->isChecked());
617}
618
620{
621 messageVerbose("TrackParticleCollectionSettingsButton::possibleChange_parameterColours emitting colourParametersByTypeChanged ");
622 emit colourParametersByTypeChanged(m_d->editwindow_ui.checkBox_parameters_colourByType->isChecked());
623}
624
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
void trackTubeRadiusChanged(const double &)
void cutAllowedPtChanged(const VP1Interval &)
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
int numOfStepsForInterpolation() const
Returns true if the propagation should use the parameters already on the particle,...
bool showParameters() const
Returns the number of steps to use when interpolating between paramters (0 is no interpolation....
void cutAllowedPhiChanged(const QList< VP1Interval > &)
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
SoMaterial * parameterMaterial(xAOD::ParameterPosition) const
void cutRequiredNHitsChanged(const QList< unsigned > &)
void cutAllowedEtaChanged(const VP1Interval &)
static void setColButtonProperties(QPushButton *, const QColor &col, int dim)
void restore(QCheckBox *sb)
void warnUnrestored(QObject *)
void widgetHandled(QWidget *)
qint32 version() const
void messageVerbose(const QString &) const
IVP1System * systemBase() const
VP1MaterialButtonBase(QWidget *parent, IVP1System *sys=0, const QString &helpername="")
static SoMaterial * createMaterial(const QColor &, const double &brightness=0.0, const double &transp=0.0)
static double getValueLineWidthSlider(const QSlider *)
static void setLimitsLineWidthSlider(QSlider *)
static void setValueLineWidthSlider(QSlider *, const double &value)
int colours[6]
Definition computils.cxx:46
std::string base
Definition hcg.cxx:81
ParameterPosition
Enum allowing us to know where in ATLAS the parameters are defined.