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

#include <TrackSystemController.h>

Inheritance diagram for TrackSystemController:
Collaboration diagram for TrackSystemController:

Classes

class  Imp

Public Types

enum  PropagationOptionFlag { NoPropOptions =0x0000 , IgnoreMEOT =0x0001 , ExtendTrack =0x0002 }
enum  TrackLabelMode {
  NoLabels =0x0000 , P =0x0001 , Pt =0x0002 , Pid =0x0004 ,
  Hits =0x0008 , FitQuality =0x0010 , Direction =0x0020
}

Public Slots

void toggleDialogState (QObject *widget=0)
void enabledButtonStateChanged ()
void collWidgetContentChanged ()

Signals

void rerandomise ()
void refit ()
void shownTrackPartsChanged (TrackCommonFlags::TrackPartsFlags)
void vertexProjectionAngleChanged (int)
void trackLabelsChanged (TrackSystemController::TrackLabelModes)
void trackLabelTrkOffsetChanged (float)
void trackLabelPosOffsetChanged (QList< int >)
void shownTSOSPartsChanged (TrackCommonFlags::TSOSPartsFlags)
void customColouredTSOSPartsChanged (TrackCommonFlags::TSOSPartsFlags)
void drawMeasGlobalPositionsChanged (bool)
void useShortTRTMeasurementsChanged (bool)
void useShortMDTMeasurementsChanged (bool)
void measurementsShorttubesScaleChanged (double)
void nStdDevForParamErrorsChanged (const double &)
void parTubeErrorsDrawCylindersChanged (bool)
void numberOfPointsOnCirclesChanged (int)
void materialEffectsOnTrackScaleChanged (double)
void propagatorChanged (Trk::IExtrapolator *)
void propagationOptionsChanged (TrackSystemController::PropagationOptionFlags)
void propMaxRadiusChanged (float)
void extrapolateToThisVolumeChanged (void)
void trackFitterChanged (Trk::ITrackFitter *)
void selectionModeChanged (TrackCommonFlags::SELECTIONMODE)
void showTruthAscObjsChanged (bool)
void assocObjDetailLevelChanged (TrackCommonFlags::DETAILLEVEL)
void cutAllowedPtChanged (const VP1Interval &)
void cutAllowedEtaChanged (const VP1Interval &)
void cutAllowedPhiChanged (const QList< VP1Interval > &)
void cutRequiredNHitsChanged (const QList< unsigned > &)
void cutRequiredDetectorElementChanged (const QString &)
void cutTruthFromIROnlyChanged (bool)
void cutExcludeBarcodeZeroChanged (bool)
void cutTruthExcludeNeutralsChanged (bool)
void cutOnlyVertexAssocTracksChanged (bool)
void showTotMomentumOnMultiTrackSelectionChanged (bool)
void dummyUpdateTrigger ()

Public Member Functions

 TrackSystemController (IVP1System *sys)
virtual ~TrackSystemController ()
void initTools ()
void actualRestoreSettings (VP1Deserialise &)
int currentSettingsVersion () const
void actualSaveSettings (VP1Serialise &) const
void setNumberOfSelectedPRDsAndTracks (unsigned prds, unsigned trks)
TrackCollWidgetcollWidget () const
TrackCommonFlags::TrackPartsFlags shownTrackParts () const
int vertexProjectionAngle () const
Trk::IExtrapolatorpropagator () const
PropagationOptionFlags propagationOptions () const
float propMaxRadius () const
bool ignoreMeasurementEffectsOnTrackInProp ()
 If true (default) don't use TSOS with MEOT to draw track points.
const Trk::VolumeextrapolateToThisVolume () const
 Returns the volume to which we extrapolate ID tracks, or zero if no VolumesSvc found.
Trk::ITrackFittertrackFitter () const
Muon::MuonEDMPrinterToolmuonEDMPrinterTool () const
QString nameOfNewlyFittedCollections () const
TrackCommonFlags::SELECTIONMODE selectionMode () const
TrackCommonFlags::FITTERMODE fitterMode () const
bool fitterRemoveOutliers () const
Trk::ParticleHypothesis fitterParticleHypthesis () const
TrackCommonFlags::DETAILLEVEL assocObjDetailLevel () const
TrackCommonFlags::TSOSPartsFlags shownTSOSParts () const
TrackCommonFlags::TSOSPartsFlags customColouredTSOSParts () const
bool useShortTRTMeasurements () const
bool useShortMDTMeasurements () const
bool drawMeasGlobalPositions () const
bool hideCustomSurfaces () const
bool hideTubeSurfaces () const
double measurementsShorttubesScale () const
double nStdDevForParamErrors () const
bool parTubeErrorsDrawCylinders () const
int numberOfPointsOnCircles () const
double materialEffectsOnTrackScale () const
bool showTruthAscObjs () const
VP1Interval cutAllowedPt () const
VP1Interval cutAllowedEta () const
QList< VP1IntervalcutAllowedPhi () const
QList< unsigned > cutRequiredNHits () const
QString cutRequiredDetectorElement () const
void vertexCutsAllowed (bool)
bool cutOnlyVertexAssocTracks () const
bool cutTruthFromIROnly () const
bool cutExcludeBarcodeZero () const
bool cutTruthExcludeNeutrals () const
bool showTotMomentumOnMultiTrackSelection () const
bool orientAndZoomOnSingleSelection () const
bool printInfoOnSingleSelection () const
bool printVerboseInfoOnSingleSelection () const
bool printTotMomentumOnMultiTrackSelection () const
SoMaterial * getMaterialForPDGCode (const int &pdgcode) const
SoMaterial * getMaterialForCharge (const double &charge) const
SoMaterial * getMaterialForMomentum (const double &absmom) const
SoMaterial * customMatMeasurements () const
SoMaterial * customMatMeasurementsOutliers () const
SoMaterial * customMatParameters () const
SoMaterial * customMatHoleParameters () const
SoMaterial * customMatParameterErrors () const
SoMaterial * customMatMaterialEffects () const
SoMaterial * customMatSurfaces () const
SoDrawStyle * ascObjDrawStyle () const
SoComplexity * ascObjComplexity () const
QTreeWidget * trackObjBrowser () const
 Returns a pointer to the Track Object Browser (if it exists)
TrackSysCommonDatacommon () const
 Returns a pointer to the common data (if it exists)
void setCommonData (TrackSysCommonData *)
 set pointer to the common data
std::vector< double > alignmentShiftValue ()
int alignmentShiftLevel ()
bool doTrackLabels ()
TrackLabelModes trackLabels ()
float trackLabelTrkOffset ()
 Percentage of postion along track.
QList< int > trackLabelPosOffset ()
 Offset in x,y,z.
int labelXOffset ()
 Absolute x offset.
int labelYOffset ()
 Absolute y offset.
int labelZOffset ()
 Absolute z offset.
void initLastVars ()
QByteArray saveSettings () const
void restoreSettings (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 void setCustomTourEditor (VP1CustomTourEditor *editor)
static VP1CustomTourEditorcustomTourEditor ()
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 testForChanges ()

Protected Member Functions

template<class T>
bool changed (T &lastval, const T &newval)
template<class T>
void initDialog (T &theUI, QPushButton *launchbutton, QAbstractButton *enabledButton=0)
void initDialog (QWidget *dialog, QPushButton *launchbutton, QPushButton *closebutton, QAbstractButton *enabledButton=0)
void setupCollWidgetInScrollArea (QScrollArea *scrollarea, VP1CollectionWidget *collWidget)
const char * addUpdateSlot (const char *slot)
void connectToLastUpdateSlot (QObject *sender, const char *signal)
void connectToLastUpdateSlot (QCheckBox *)
void connectToLastUpdateSlot (QComboBox *)
void connectToLastUpdateSlot (QGroupBox *)
void connectToLastUpdateSlot (QSpinBox *)
void connectToLastUpdateSlot (QDoubleSpinBox *)
void connectToLastUpdateSlot (QRadioButton *)
void connectToLastUpdateSlot (QButtonGroup *)
void connectToLastUpdateSlot (QSlider *)
void connectToLastUpdateSlot (VP1ColorSelectButton *)
bool initVarsMode () const
QButtonGroup * defineRadioButtonGroup (QRadioButton *rb0, QRadioButton *rb1, QRadioButton *rb2=0, QRadioButton *rb3=0, QRadioButton *rb4=0, QRadioButton *rb5=0, QRadioButton *rb6=0, QRadioButton *rb7=0, QRadioButton *rb8=0, QRadioButton *rb9=0)
QButtonGroup * defineRadioButtonGroup (const QList< QRadioButton * > &)
SoMaterial * getMaterial (VP1MaterialButton *) const
SoMaterial * fallBackMaterial () const
void setHelperClassName (const QString &n)

Static Protected Member Functions

static QString toString (const bool &par)
static QString toString (const QList< VP1Interval > &l)
static QString toString (SbColor4f)

Private Slots

void emitRerandomise ()
void emitRefit ()
void updateAscObjDrawStyle ()
void updateAscObjComplexity ()
void availableExtrapolatorsChanged (const QStringList &)
void availableFittersChanged (const QStringList &)
void emitExtrapolateToHereChanged (int)
void possibleChange_shownTrackParts ()
void possibleChange_vertexProjectionAngle ()
void possibleChange_trackLabels ()
void possibleChange_trackLabelTrkOffset ()
void possibleChange_trackLabelPosOffset ()
void possibleChange_shownTSOSParts ()
void possibleChange_customColouredTSOSParts ()
void possibleChange_useShortTRTMeasurements ()
void possibleChange_drawMeasGlobalPositions ()
void possibleChange_useShortMDTMeasurements ()
void possibleChange_measurementsShorttubesScale ()
void possibleChange_nStdDevForParamErrors ()
void possibleChange_parTubeErrorsDrawCylinders ()
void possibleChange_numberOfPointsOnCircles ()
void possibleChange_materialEffectsOnTrackScale ()
void possibleChange_propagator ()
void possibleChange_propagationOptions ()
void possibleChange_propMaxRadius ()
void possibleChange_trackFitter ()
void possibleChange_selectionMode ()
void possibleChange_assocObjDetailLevel ()
void possibleChange_showTruthAscObjs ()
void possibleChange_cutAllowedPt ()
void possibleChange_cutAllowedEta ()
void possibleChange_cutAllowedPhi ()
void possibleChange_cutRequiredNHits ()
void possibleChange_cutRequiredDetectorElement ()
void possibleChange_cutTruthFromIROnly ()
void possibleChange_cutExcludeBarcodeZero ()
void possibleChange_cutTruthExcludeNeutrals ()
void possibleChange_cutOnlyVertexAssocTracks ()
void possibleChange_showTotMomentumOnMultiTrackSelection ()
void objectBrowserClicked (QTreeWidgetItem *item, int)
void updateFitPRDButtonState ()

Static Private Member Functions

template<class T>
static QString toString (const T &t)
static QString toString (const TrackCommonFlags::SELECTIONMODE &par)
static QString toString (const TrackCommonFlags::DETAILLEVEL &par)
static QString toString (const QList< unsigned > &par)
static QString toString (const QList< int > &par)

Private Attributes

Impm_d
bool m_initVarsMode
QString m_helpername
IVP1Systemm_system

Static Private Attributes

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

Detailed Description

Definition at line 49 of file TrackSystemController.h.

Member Enumeration Documentation

◆ PropagationOptionFlag

Enumerator
NoPropOptions 
IgnoreMEOT 
ExtendTrack 

Definition at line 78 of file TrackSystemController.h.

◆ TrackLabelMode

Constructor & Destructor Documentation

◆ TrackSystemController()

TrackSystemController::TrackSystemController ( IVP1System * sys)

Definition at line 263 of file TrackSystemController.cxx.

264 : VP1Controller(sys,"TrackSystemController"), m_d(new Imp)
265{
266 m_d->theclass = this;
267 m_d->lastUpdatedAvailableExtrapolators = QStringList("<dummy>");//special.
268 m_d->lastUpdatedAvailableFitters = QStringList("<dummy>");//special.
269
270 //Stuff with tools waits until ::initTools() is called:
271 m_d->toolaccesshelper = nullptr;
272 m_d->toolhelper_extrapolators = nullptr;
273 m_d->toolhelper_fitters = nullptr;
274 m_d->matmixer = nullptr;
275
276 m_d->ui.setupUi(this);
277 m_d->trackcollwidget = new TrackCollWidget;
278 setupCollWidgetInScrollArea(m_d->ui.collWidgetScrollArea,m_d->trackcollwidget);
279
280 initDialog(m_d->ui_col, m_d->ui.pushButton_settings_colouring);
281 initDialog(m_d->ui_extrap, m_d->ui.pushButton_settings_extrapolation);
282 initDialog(m_d->ui_int, m_d->ui.pushButton_settings_interactions);
283 initDialog(m_d->ui_proj, m_d->ui.pushButton_settings_projections);
284 initDialog(m_d->ui_cuts, m_d->ui.pushButton_settings_cuts);
285 initDialog(m_d->ui_ascobjs, m_d->ui.pushButton_settings_details);
286 initDialog(m_d->ui_objBrowser, m_d->ui.pushButton_ObjectBrowser);
287
288 //init:
289 m_d->numberOfSelectedPRDs=1;//anything != 0
291
292 m_d->initMaterials();
293
294 m_d->materialFallback = new SoMaterial;
295 m_d->materialFallback->ref();
296
297 m_d->ui_cuts.etaPhiCutWidget->setSystemBasePointer(systemBase());
298
299 //Draw Styles / Complexity:
300 m_d->ascObjDrawStyle = new SoDrawStyle;
301 m_d->ascObjDrawStyle->setName("AscObjDrawStyle");
302 m_d->ascObjDrawStyle->ref();
304 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_linewidths);
305 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_pointsizes);
306
307 m_d->ascObjComplexity = new SoComplexity;
308 m_d->ascObjComplexity->setName("AscObjComplexity");
309 m_d->ascObjComplexity->ref();
311 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_complexity);
312
313 //Refit ui is dependent on env variable:
314 m_d->ui_int.radioButton_selmode_trackfits->setVisible(VP1QtUtils::environmentVariableIsOn("VP1_DEVEL_ENABLEREFIT"));
315 m_d->ui_int.groupBox_refitting->setEnabled(VP1QtUtils::environmentVariableIsOn("VP1_DEVEL_ENABLEREFIT"));
316 connect(m_d->ui_int.comboBox_fitterMode,SIGNAL(currentIndexChanged(int)),this,SLOT(updateFitPRDButtonState()));
317
318
319 //Disable elements based on job configuration:
320
322 m_d->ui_proj.checkBox_projections_muonchambers->setChecked(false);
323 m_d->ui_proj.checkBox_projections_muonchambers->setEnabled(false);
324 }
328 m_d->ui_proj.checkBox_projections_indet->setChecked(false);
329 m_d->ui_proj.checkBox_projections_indet->setEnabled(false);
330 }
331
332 //These we init explicitly since we might otherwise trigger a change
333 //before initlastvars (fixme: is this true and the right fix??)
334 m_d->last_propagator = nullptr;
335 m_d->last_trackFitter = nullptr;
336
338 // Setup connections which monitor changes in the controller so that we may emit signals as appropriate: //
340
341 // -> shownTrackParts
343 // connectToLastUpdateSlot(m_d->ui_col.checkBox_hideactualpaths);
344 connectToLastUpdateSlot(m_d->ui_proj.checkBox_projections_muonchambers);
345 connectToLastUpdateSlot(m_d->ui_proj.checkBox_projections_indet);
346 connectToLastUpdateSlot(m_d->ui_proj.groupBox_projections_vertex);
347
349 connectToLastUpdateSlot(m_d->ui_proj.spinBox_projections_vertex);
350
351
352 // // -> trackTubeRadius
353 // addUpdateSlot(SLOT(possibleChange_trackTubeRadius()));
354 // connectToLastUpdateSlot(m_d->ui_col.checkBox_trackTubes);
355 // connectToLastUpdateSlot(m_d->ui_col.doubleSpinBox_trackTubesRadiusMM);
356
357 // -> track labels
359 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_Pt);
360 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_p);
361 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_direction);
362 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_hits);
363 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_pid);
364 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_fitQuality);
365 connectToLastUpdateSlot(m_d->ui_col.groupBox_labels);
366
368 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_trkOffset);
369
371 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_xOffset);
372 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_yOffset);
373 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_zOffset);
374
375
376 // -> shownTSOSParts
378 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_measurements);
379 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_parameters);
380 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_errors);
381 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_parametererrors);
382 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurementerrors);
383 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_parerror_hideperigeeerrors);
384 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_materialeffectsontrack);
385 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE);
386 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_surfaces);
387 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces);
388 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces);
389
391 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurements_drawGP);
392
393 // -> customColouredTSOSParts
395
396 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_measurements);
397 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_meas_outliers);
398 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_parameters);
399 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_useHoleColour_parameters);
400 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_parametererrors);
401 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_materialeffectsontrack);
402 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_surfaces);
403
404 // -> useShortTRTMeasurements
406 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurements_shorttubes_trt);
407
408 // -> useShortMDTMeasurements
410 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurements_shorttubes_mdt);
411
412 // -> useShortMDTMeasurements
414 connectToLastUpdateSlot(m_d->ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale);
415
416 // -> nStdDevForParamErrors
418 connectToLastUpdateSlot(m_d->ui_ascobjs.doubleSpinBox_parerror_stddev);
419
420 // -> parTubeErrorsDrawCylinders
422 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_parerror_drawcylinder);
423
424 // -> numberOfPointsOnCircles
426 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_complexity);
427
428 // -> materialEffectsOnTrackScale
430 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_materialeffectsontrack_scale);
431
432 // -> selectionMode
434 connectToLastUpdateSlot(m_d->ui_int.radioButton_selmode_single);
435 connectToLastUpdateSlot(m_d->ui_int.radioButton_selmode_multitracks);
436 connectToLastUpdateSlot(m_d->ui_int.radioButton_selmode_trackfits);
437
438 // -> showTruthAscObjs
440 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_truthtracks_display_points);
441
442 // -> assocObjDetailLevel
444 connectToLastUpdateSlot(m_d->ui_ascobjs.comboBox_assocobj_detaillevel);
445
446 // -> cutAllowedP/Pt
448 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_minpt);
449 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_maxpt);
450 connectToLastUpdateSlot(m_d->ui_cuts.doubleSpinBox_cut_minpt_gev);
451 connectToLastUpdateSlot(m_d->ui_cuts.doubleSpinBox_cut_maxpt_gev);
452 connectToLastUpdateSlot(m_d->ui_cuts.comboBox_momtype);
453
454 // -> cutAllowedEta
456 connectToLastUpdateSlot(m_d->ui_cuts.etaPhiCutWidget,SIGNAL(allowedEtaChanged(const VP1Interval&)));
457
458 // -> cutAllowedPhi
460 connectToLastUpdateSlot(m_d->ui_cuts.etaPhiCutWidget,SIGNAL(allowedPhiChanged(const QList<VP1Interval>&)));
461
462 // -> cutRequiredNHits();
464 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_pixel);
465 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_sct);
466 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_trt);
467 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_muon);
468 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nprecisionhits_muon);
469 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_pixel);
470 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_sct);
471 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_trt);
472 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_muon);
473 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nprecisionhits_muon);
474
475// Required detector element
476 connect(m_d->ui_cuts.checkBox_requireDetectorElement,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutRequiredDetectorElement()));
477 connect(m_d->ui_cuts.lineEdit_detectorElementId,SIGNAL(textChanged(QString)),this,SLOT(possibleChange_cutRequiredDetectorElement()));
478
479 // -> cutTruthFromIROnly
481 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_truthtracks_creationvertexinIR);
482
483 // -> cutExcludeBarcodeZero
485 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_truthtracks_excludebarcode0);
486
487 // -> cutTruthExcludeNeutrals
489 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_truthtracks_excludeneutrals);
490
491 // -> cutOnlyVertexAssocTracks
493 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_vertexAssociated);
494
495 // -> showTotMomentumOnMultiTrackSelection
497 connectToLastUpdateSlot(m_d->ui_int.checkBox_sel_showtotmom);
498
499 // Special: -> rerandomise
500 connect(m_d->ui_col.pushButton_colourbyrandom_rerandomise,SIGNAL(clicked()),this,SLOT(emitRerandomise()));
501
502 // Special: -> refit
503 connect(m_d->ui_int.pushButton_refit,SIGNAL(clicked()),this,SLOT(emitRefit()));
504
505 // TrackObjBrowser
506 messageVerbose("Enabling object browser");
507 m_d->objBrowserWidget = m_d->ui_objBrowser.treeWidget;
508 m_d->objBrowserWidget->setSortingEnabled(false);
509 QStringList l;
510 l<<"Object"<<"Information";
511 m_d->objBrowserWidget->setHeaderLabels(l);
512 connect(m_d->objBrowserWidget,SIGNAL(itemClicked(QTreeWidgetItem *, int)),this,SLOT(objectBrowserClicked(QTreeWidgetItem *, int)));
513
514 // Special alignment tests
515 if (VP1QtUtils::environmentVariableIsOn("VP1_TRKSYS_SHIFTCHAMBERS")) {
516 messageVerbose("Enabling shifting of Muon Chambers");
517 QWidget *widget = new QWidget;
518 m_d->ui_shiftmuonchambers.setupUi(widget);
519 messageVerbose("Making connection");
520 widget->show();
521 connect(m_d->ui_shiftmuonchambers.pushButton_Update,SIGNAL(clicked()),sys,SLOT(updateAlignment()));
522 }
523
524 // we want "Print information" on single track selection turned ON by default
525 m_d->ui_int.checkBox_selsingle_printinfo->setChecked(true);
526
527 // Since TrkVolumesSvc isn't working anymore, hardcode values. (Remove when we move to new extrapolator)
528 m_d->calorimeterEntryLayer = new Trk::Volume(nullptr, std::make_shared<Trk::CylinderVolumeBounds>(1100.0, 3200.0));
529 m_d->muonSpectrometerEntryLayer = new Trk::Volume(nullptr, std::make_shared<Trk::CylinderVolumeBounds>(4250.0, 6779.0));
530 m_d->muonSpectrometerExitLayer = new Trk::Volume(nullptr, std::make_shared<Trk::CylinderVolumeBounds>(15000.0, 21000.0)); // FIXME! Put in correct values. EJWM
531 initLastVars();
532}
void possibleChange_cutRequiredDetectorElement()
void possibleChange_shownTSOSParts()
void possibleChange_vertexProjectionAngle()
void possibleChange_trackLabelPosOffset()
void possibleChange_numberOfPointsOnCircles()
void possibleChange_cutAllowedPt()
void setNumberOfSelectedPRDsAndTracks(unsigned prds, unsigned trks)
void possibleChange_useShortTRTMeasurements()
void possibleChange_trackLabels()
void possibleChange_cutTruthExcludeNeutrals()
void possibleChange_materialEffectsOnTrackScale()
void possibleChange_showTruthAscObjs()
void possibleChange_cutExcludeBarcodeZero()
void possibleChange_customColouredTSOSParts()
void possibleChange_cutTruthFromIROnly()
void objectBrowserClicked(QTreeWidgetItem *item, int)
void possibleChange_cutAllowedPhi()
void possibleChange_cutRequiredNHits()
void possibleChange_parTubeErrorsDrawCylinders()
void possibleChange_drawMeasGlobalPositions()
void possibleChange_selectionMode()
void possibleChange_cutOnlyVertexAssocTracks()
void possibleChange_showTotMomentumOnMultiTrackSelection()
void possibleChange_nStdDevForParamErrors()
void possibleChange_useShortMDTMeasurements()
void possibleChange_cutAllowedEta()
void possibleChange_trackLabelTrkOffset()
void possibleChange_assocObjDetailLevel()
void possibleChange_measurementsShorttubesScale()
void possibleChange_shownTrackParts()
void initDialog(T &theUI, QPushButton *launchbutton, QAbstractButton *enabledButton=0)
void connectToLastUpdateSlot(QObject *sender, const char *signal)
void setupCollWidgetInScrollArea(QScrollArea *scrollarea, VP1CollectionWidget *collWidget)
const char * addUpdateSlot(const char *slot)
VP1Controller(IVP1System *sys, const QString &classname)
void messageVerbose(const QString &) const
IVP1System * systemBase() const
static bool hasTRTGeometry()
static bool hasPixelGeometry()
static bool hasSCTGeometry()
static bool hasMuonGeometry()
static bool environmentVariableIsOn(const QString &name)
l
Printing final latex table to .tex output file.

◆ ~TrackSystemController()

TrackSystemController::~TrackSystemController ( )
virtual

Definition at line 659 of file TrackSystemController.cxx.

660{
661 messageVerbose("~TrackSystemController begin");
662 delete m_d->toolaccesshelper;
663 delete m_d->matmixer;
664 m_d->materialFallback->unref();
665 // m_d->trackDrawStyle->unref();
666 // m_d->trackLightModel->unref();
667 m_d->ascObjDrawStyle->unref();
668 m_d->ascObjComplexity->unref();
669
670 delete m_d->calorimeterEntryLayer ;
671 delete m_d->muonSpectrometerEntryLayer;
672 delete m_d->muonSpectrometerExitLayer ;
673
674 // delete m_d->objBrowserWidget;
675 delete m_d;
676 messageVerbose("~TrackSystemController end");
677}

Member Function Documentation

◆ actualRestoreSettings()

void TrackSystemController::actualRestoreSettings ( VP1Deserialise & s)
virtual

Implements VP1Controller.

Definition at line 930 of file TrackSystemController.cxx.

931{
932 messageDebug("TrackSystemController::actualRestoreSettings()");
933
934 /*
935 * NOTE!!! Important, about serialization:
936 *
937 * - order has to be the same between saving-reading
938 *
939 * See: http://www.mimec.org/node/348
940 *
941 */
942
943 messageDebug("Deserialize - current version: "+QString::number( s.version() ));
944
945 if (s.version()<0||s.version()>currentSettingsVersion()) {
946 message("Warning: State data in .vp1 file has unsupported version ("+str(s.version())+")");
947 return;
948 }
949
950 if (s.version()<17) {
951 message("Warning: the VP1 GUI has changed since .vp1 file format version ("+str(s.version())+"), which means you will have lost the line thickness etc. settings formally found in the Colouring pop-up dialogue.");
952 }
953
954 if (s.version()<17) {
955 s.ignoreString();
956 } else {
957 QString tt = s.restoreString();
958 messageDebug("Check string: " + tt);
959 if (tt != "TrackSystemSettings") {
960 messageDebug("\n\nERROR!! Settings order does not match!!");
961 return;
962 }
963 }
964
965 if (s.version()<=3)
966 s.ignoreInt();
967
968 // //Display options: linewidth:
969 // if (s.version()>=1) {
970 // VP1QtInventorUtils::setValueLineWidthSlider(m_d->ui_col.horizontalSlider_trackWidth,s.restoreDouble());
971 // s.widgetHandled(m_d->ui_col.horizontalSlider_trackWidth);
972 // }
973 if (s.version()<17)
974 s.ignoreInt(); //m_d->ui_col.horizontalSlider_trackWidth
975
976 //Tracks base light model:
977 // if (s.version()>=4)
978 // s.restore(m_d->ui_col.checkBox_tracksUseBaseLightModel);
979 if (s.version()<17)
980 s.ignoreBool(); //m_d->ui_col.checkBox_tracksUseBaseLightModel
981
982
983
984
985
986 // --- Projections options ---
987 if (s.version()>=17 && s.restoreString() != "Projections options") messageDebug("\n\nERROR! --> 'Projections options'");
988 s.restore(m_d->ui_proj.checkBox_projections_indet);
989 s.restore(m_d->ui_proj.checkBox_projections_muonchambers);
990 if (s.version()>=15){
991 s.restore(m_d->ui_proj.groupBox_projections_vertex);
992 s.restore(m_d->ui_proj.spinBox_projections_vertex);
993 s.restore(m_d->ui_proj.horizontalSlider_projections_vertex);
994 }
995 // s.restore(m_d->ui_col.checkBox_hideactualpaths);
996 if (s.version()<17)
997 s.ignoreBool(); //m_d->ui_col.checkBox_hideactualpaths
998 // --------------------------------------
999
1000
1001
1002
1003 //Display options - track tubes
1004 // if (s.version()>=8) {
1005 // s.restore(m_d->ui_col.checkBox_trackTubes);
1006 // s.restore(m_d->ui_col.doubleSpinBox_trackTubesRadiusMM);
1007 // }
1008 if (s.version()<17){
1009 s.ignoreBool(); //m_d->ui_col.checkBox_trackTubes
1010 s.ignoreDouble(); //m_d->ui_col.doubleSpinBox_trackTubesRadiusMM
1011 }
1012
1013 if (s.version()<=3)
1014 s.ignoreBool();
1015
1016
1017
1018
1019 // ----- Propagation options -----
1020 if (s.version()>=17 && s.restoreString() != "Propagation options") messageDebug("\n\nERROR! --> 'Propagation options'");
1021 if (s.version()>=4)
1022 s.restore(m_d->ui_extrap.radioButton_none,
1023 m_d->ui_extrap.radioButton_helical,
1024 m_d->ui_extrap.radioButton_athenaExtrapolator);
1025 m_d->restoredLastPropagator = s.restoreString();
1026 s.widgetHandled(m_d->ui_extrap.comboBox_propagator);
1027 // -----------------------------------
1028
1029
1030
1031
1032 // ----- Interactions options -----
1033 if (s.version()>=17 && s.restoreString() != "Interactions options") messageDebug("\n\nERROR! --> 'Interactions options'");
1034 if (s.version()>=6) {
1035 s.restore(m_d->ui_int.lineEdit_fittedTrackCollName);
1036 m_d->restoredLastFitter = s.restoreString();
1037 s.widgetHandled(m_d->ui_int.comboBox_fitters);
1038 }
1039 // -----------------------------------
1040
1041
1042
1043
1044 if (s.version()<=2)
1045 s.ignoreBool();
1046
1047 if (s.version()==0) {
1048 s.ignoreInt();
1049 s.ignoreBool();
1050 s.ignoreBool();
1051 }
1052
1053 //Display options - Trk::Tracks
1054 if (s.version()<=2)
1055 s.ignoreBool();
1056 s.restore(m_d->ui_ascobjs.comboBox_assocobj_detaillevel);
1057 if (s.version()<=2) {
1058 s.ignoreBool();
1059 s.ignoreBool();
1060 }
1061
1062 //Display options - Truth tracks:
1063 s.restore(m_d->ui_ascobjs.checkBox_truthtracks_display_points);
1064
1065
1066 // --- Display options - Colours ---
1067 if (s.version()>=17 && s.restoreString() != "Colour options") messageDebug("\n\nERROR! --> 'Colour options'");
1068 //Display options - Colour by pdg:
1069 s.restore(m_d->ui_col.matButton_electrons);
1070 s.restore(m_d->ui_col.matButton_muons);
1071 s.restore(m_d->ui_col.matButton_pions);
1072 s.restore(m_d->ui_col.matButton_protons);
1073 s.restore(m_d->ui_col.matButton_chargedkaons);
1074 s.restore(m_d->ui_col.matButton_othercharged);
1075 s.restore(m_d->ui_col.matButton_neutrons);
1076 s.restore(m_d->ui_col.matButton_photons);
1077 s.restore(m_d->ui_col.matButton_neutrinos);
1078 s.restore(m_d->ui_col.matButton_otherneutrals);
1079 if (s.version()>=2) {
1080 //Display options - Colour by charge:
1081 s.restore(m_d->ui_col.matButton_charge_neg);
1082 s.restore(m_d->ui_col.matButton_charge_pos);
1083 s.restore(m_d->ui_col.matButton_charge_neutral);
1084
1085 //Display options - Colour by momentum:
1086 s.restore(m_d->ui_col.matButton_0GeV);
1087 s.restore(m_d->ui_col.matButton_15GeV);
1088 }
1089 // -----------------------------------
1090
1091
1092
1093
1094
1095 // --- Cuts options ---
1096 if (s.version()>=17 && s.restoreString() != "Cuts options") messageDebug("\n\nERROR! --> 'Cuts options'");
1097 //Cuts - general:
1098 s.restore(m_d->ui_cuts.checkBox_cut_minpt);
1099 s.restore(m_d->ui_cuts.doubleSpinBox_cut_minpt_gev);
1100 s.restore(m_d->ui_cuts.checkBox_cut_maxpt);
1101 s.restore(m_d->ui_cuts.doubleSpinBox_cut_maxpt_gev);
1102
1103 if (s.version()>=10) {
1104 s.restore(m_d->ui_cuts.comboBox_momtype);
1105 }
1106
1107 if (s.version()>=7) {
1108 s.restore(m_d->ui_cuts.etaPhiCutWidget);
1109 } else {
1110 s.ignoreBool();
1111 s.ignoreBool();
1112 s.ignoreDouble();
1113 s.ignoreDouble();
1114 s.ignoreBool();
1115 s.ignoreObsoletePhiSectionWidgetState();
1116 }
1117
1118 if (s.version()>=9) {
1119 s.restore(m_d->ui_cuts.checkBox_cut_nhits_pixel);
1120 s.restore(m_d->ui_cuts.checkBox_cut_nhits_sct);
1121 s.restore(m_d->ui_cuts.checkBox_cut_nhits_trt);
1122 s.restore(m_d->ui_cuts.checkBox_cut_nhits_muon);
1123 s.restore(m_d->ui_cuts.spinBox_cut_nhits_pixel);
1124 s.restore(m_d->ui_cuts.spinBox_cut_nhits_sct);
1125 s.restore(m_d->ui_cuts.spinBox_cut_nhits_trt);
1126 s.restore(m_d->ui_cuts.spinBox_cut_nhits_muon);
1127 }
1128
1129 //Cuts - truth:
1130 s.restore(m_d->ui_cuts.checkBox_cut_truthtracks_creationvertexinIR);
1131 s.restore(m_d->ui_cuts.checkBox_cut_truthtracks_excludeneutrals);
1132 s.restore(m_d->ui_cuts.checkBox_cut_truthtracks_excludebarcode0);
1133
1134 if (s.version()>=14) s.restore(m_d->ui_cuts.checkBox_vertexAssociated);
1135 // -----------------------------------
1136
1137
1138
1139
1140
1141 // --- Interactions options ---
1142 if (s.version()>=17 && s.restoreString() != "Interactions options") messageDebug("\n\nERROR! --> 'Interactions options'");
1143 //Interactions - selection mode:
1144 s.restore(m_d->ui_int.radioButton_selmode_single,
1145 m_d->ui_int.radioButton_selmode_multitracks,
1146 m_d->ui_int.radioButton_selmode_trackfits);
1147
1148 s.restore(m_d->ui_int.checkBox_selsingle_printinfo);
1149 s.restore(m_d->ui_int.checkBox_selsingle_printinfo_verbose);
1150 s.restore(m_d->ui_int.checkBox_selsingle_orientzoom);
1151 s.restore(m_d->ui_int.checkBox_sel_printtotmom);
1152 s.restore(m_d->ui_int.checkBox_sel_showtotmom);
1153 if (s.version()>=12){
1154 s.restore(m_d->ui_int.comboBox_fitterMode);
1155 s.restore(m_d->ui_int.checkBox_removeOutliers);
1156 s.restore(m_d->ui_int.comboBox_particleHypo);
1157 }
1158 // -----------------------------------
1159
1160
1161
1162
1163
1164
1165
1166 // --- AscObjs options ---
1167 if (s.version()>=17 && s.restoreString() != "AscObjs options") messageDebug("\n\nERROR! --> 'AscObjs options'");
1168 //AscObjs - TSOS:
1169 s.restore(m_d->ui_ascobjs.checkBox_materialeffectsontrack_forceposontrack);
1170 s.restore(m_d->ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE);
1171 s.restore(m_d->ui_ascobjs.checkBox_measurements_shorttubes_mdt);
1172 s.restore(m_d->ui_ascobjs.checkBox_measurements_shorttubes_trt);
1173 if (s.version()>=11) s.restore(m_d->ui_ascobjs.checkBox_measurements_drawGP);
1174 s.restore(m_d->ui_ascobjs.checkBox_parerror_drawcylinder);
1175 s.restore(m_d->ui_ascobjs.checkBox_parerror_hideperigeeerrors);
1176 s.restore(m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces);
1177 if (s.version()>=11) s.restore(m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces);
1178 s.restore(m_d->ui_ascobjs.checkBox_usecolour_materialeffectsontrack);
1179 s.restore(m_d->ui_ascobjs.checkBox_usecolour_meas_outliers);
1180 s.restore(m_d->ui_ascobjs.checkBox_usecolour_measurements);
1181 if (s.version()<12) s.restore(m_d->ui_ascobjs.checkBox_parametererrors); // was groupBox_parametererrors before...
1182 s.restore(m_d->ui_ascobjs.checkBox_usecolour_parametererrors);
1183 s.restore(m_d->ui_ascobjs.checkBox_usecolour_parameters);
1184 if (s.version()>=14)
1185 s.restore(m_d->ui_ascobjs.checkBox_useHoleColour_parameters);
1186 s.restore(m_d->ui_ascobjs.checkBox_usecolour_surfaces);
1187 s.restore(m_d->ui_ascobjs.doubleSpinBox_parerror_stddev);
1188 s.restore(m_d->ui_ascobjs.groupBox_materialeffectsontrack);
1189 s.restore(m_d->ui_ascobjs.groupBox_measurements);
1190 if (s.version()>=12) {
1191 s.restore(m_d->ui_ascobjs.groupBox_errors);
1192 s.restore(m_d->ui_ascobjs.checkBox_parametererrors);
1193 s.restore(m_d->ui_ascobjs.checkBox_measurementerrors);
1194 }
1195 s.restore(m_d->ui_ascobjs.groupBox_parameters);
1196 s.restore(m_d->ui_ascobjs.groupBox_surfaces);
1197 s.restore(m_d->ui_ascobjs.horizontalSlider_complexity);
1198 s.restore(m_d->ui_ascobjs.horizontalSlider_linewidths);//FIXME!!! SAVE AS ABOVE INSTEAD!!
1199 s.restore(m_d->ui_ascobjs.horizontalSlider_materialeffectsontrack_scale);
1200 s.restore(m_d->ui_ascobjs.horizontalSlider_pointsizes);//FIXME!!! SAVE AS ABOVE INSTEAD!!
1201 s.restore(m_d->ui_ascobjs.matButton_materialeffectsontrack);
1202 s.restore(m_d->ui_ascobjs.matButton_meas_outliers);
1203 s.restore(m_d->ui_ascobjs.matButton_measurements);
1204 s.restore(m_d->ui_ascobjs.matButton_parameters);
1205 if (s.version()>=14)
1206 s.restore(m_d->ui_ascobjs.matButton_holeParameters);
1207 s.restore(m_d->ui_ascobjs.matButton_parerrors);
1208 s.restore(m_d->ui_ascobjs.matButton_surfaces);
1209 if (s.version()>=5)
1210 s.restore(m_d->ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale);
1211 // -----------------------------------
1212
1213
1214
1215
1216
1217
1218 //Interactions - track fits:
1219
1220
1221
1222 // ----- Colouring options -----
1223 if (s.version()>=17 && s.restoreString() != "Colouring options") messageDebug("\n\nERROR! --> 'Colouring options'");
1224 if (s.version()>=12){
1225 s.restore(m_d->ui_col.groupBox_labels);
1226 s.restore(m_d->ui_col.horizontalSlider_labels_trkOffset);
1227 s.restore(m_d->ui_col.horizontalSlider_labels_xOffset);
1228 s.restore(m_d->ui_col.horizontalSlider_labels_yOffset);
1229 s.restore(m_d->ui_col.horizontalSlider_labels_zOffset);
1230 s.restore(m_d->ui_col.checkBox_trkLabels_p);
1231 s.restore(m_d->ui_col.checkBox_trkLabels_Pt);
1232 s.restore(m_d->ui_col.checkBox_trkLabels_pid);
1233 s.restore(m_d->ui_col.checkBox_trkLabels_hits);
1234 s.restore(m_d->ui_col.checkBox_trkLabels_fitQuality);
1235 }
1236 if (s.version()>=16)
1237 s.restore(m_d->ui_col.checkBox_trkLabels_direction);
1238
1239
1240
1241
1242
1243 // ----- Extrap options -----
1244 // Version 14
1245 if (s.version()>=17 && s.restoreString() != "Extrapolator options") messageDebug("\n\nERROR! --> 'Extrapolator options'");
1246 if (s.version()>=14){
1247 s.restore(m_d->ui_extrap.checkBox_ignoreMEoT);
1248 s.restore(m_d->ui_extrap.checkBox_extendAllInDetTracks);
1249 s.restore(m_d->ui_extrap.comboBox_extendAllInDetTracksToHere);
1250 s.restore(m_d->ui_extrap.horizontalSlider_granularity);
1251 }
1252 // version 15
1253 if (s.version()>=15){
1254 s.restore(m_d->ui_extrap.checkBox_maxRadius);
1255 s.restore(m_d->ui_extrap.spinBox_maxRadiusValue);
1256 }
1257 // ------------------------------
1258
1259
1260
1261 messageDebug("TrackSystemController::actualRestoreSettings() - DONE.");
1262
1263}
void message(const QString &) const
void messageDebug(const QString &) const
static QString str(const QString &s)
Definition VP1String.h:49

◆ actualSaveSettings()

void TrackSystemController::actualSaveSettings ( VP1Serialise & s) const
virtual

Implements VP1Controller.

Definition at line 686 of file TrackSystemController.cxx.

687{
688 messageVerbose("TrackSystemController::actualSaveSettings()");
689
690 /*
691 * NOTE!!! Important, about serialization:
692 *
693 * - order has to be the same between saving-reading
694 *
695 * See: http://www.mimec.org/node/348
696 *
697 */
698
699 messageDebug("Serialize - current version: "+QString::number( s.version() ));
700
701 // saving a string, which will be checked while restoring the values
702 s.save(QString("TrackSystemSettings"));
703
704 //versions <= 3 saved an integer here
705
706 //Display options: linewidth:
707 // s.save(VP1QtInventorUtils::getValueLineWidthSlider(m_d->ui_col.horizontalSlider_trackWidth));//Version 1+ GONE WITH VERSION 17
708 // s.widgetHandled(m_d->ui_col.horizontalSlider_trackWidth);
709
710 //Tracks base light model:
711 // s.save(m_d->ui_col.checkBox_tracksUseBaseLightModel);//version 4+ GONE WITH VERSION 17
712
713 // --- Projections options ---
714 s.save(QString("Projections options"));
715 s.save(m_d->ui_proj.checkBox_projections_indet);
716 s.save(m_d->ui_proj.checkBox_projections_muonchambers);
717 s.save(m_d->ui_proj.groupBox_projections_vertex); //v15
718 s.save(m_d->ui_proj.spinBox_projections_vertex);//v15
719 s.save(m_d->ui_proj.horizontalSlider_projections_vertex);//v15
720 // s.save(m_d->ui_col.checkBox_hideactualpaths); GONE WITH VERSION 17
721 // ---------------------------
722
723
724 //Display options - track tubes
725 // s.save(m_d->ui_col.checkBox_trackTubes);//version 8+ GONE WITH VERSION 17
726 // s.save(m_d->ui_col.doubleSpinBox_trackTubesRadiusMM);//version 8+ GONE WITH VERSION 17
727
728 //Version <= 3 had bool here
729
730
731 // ----- Propagation options -----
732 s.save(QString("Propagation options"));
733 s.save(m_d->ui_extrap.radioButton_none,
734 m_d->ui_extrap.radioButton_helical,
735 m_d->ui_extrap.radioButton_athenaExtrapolator);//version 4+
736 s.save(m_d->ui_extrap.comboBox_propagator);//NB: We restore this in a slightly special way
737 // -----------------------------------
738
739
740
741
742 // ----- Interactions options -----
743 s.save(QString("Interactions options"));
744 s.save(m_d->ui_int.lineEdit_fittedTrackCollName);//version 6+
745 s.save(m_d->ui_int.comboBox_fitters);//version 6+
746 // -----------------------------------
747
748
749
750 //Version <=2 had bool here
751
752 //version 0 output an integer followed by two bools here
753
754 //Display options - Trk::Tracks
755 //Version <=2 had bool here
756 s.save(m_d->ui_ascobjs.comboBox_assocobj_detaillevel);
757 //Version <=2 had two bool here
758
759 //Display options - Truth tracks:
760 s.save(m_d->ui_ascobjs.checkBox_truthtracks_display_points);
761
762 // --- Display options - Colours ---
763 s.save(QString("Colour options"));
764 //Display options - Colour by pdg:
765 s.save(m_d->ui_col.matButton_electrons);
766 s.save(m_d->ui_col.matButton_muons);
767 s.save(m_d->ui_col.matButton_pions);
768 s.save(m_d->ui_col.matButton_protons);
769 s.save(m_d->ui_col.matButton_chargedkaons);
770 s.save(m_d->ui_col.matButton_othercharged);
771 s.save(m_d->ui_col.matButton_neutrons);
772 s.save(m_d->ui_col.matButton_photons);
773 s.save(m_d->ui_col.matButton_neutrinos);
774 s.save(m_d->ui_col.matButton_otherneutrals);
775
776 //Display options - Colour by charge:
777 s.save(m_d->ui_col.matButton_charge_neg);//version 2+
778 s.save(m_d->ui_col.matButton_charge_pos);//version 2+
779 s.save(m_d->ui_col.matButton_charge_neutral);//version 2+
780
781 //Display options - Colour by momentum:
782 s.save(m_d->ui_col.matButton_0GeV);//version 2+
783 s.save(m_d->ui_col.matButton_15GeV);//version 2+
784 // -----------------------------------
785
786
787
788
789
790
791
792
793 // --- Cuts options ---
794 s.save(QString("Cuts options"));
795 //Cuts - general:
796 s.save(m_d->ui_cuts.checkBox_cut_minpt);
797 s.save(m_d->ui_cuts.doubleSpinBox_cut_minpt_gev);
798 s.save(m_d->ui_cuts.checkBox_cut_maxpt);
799 s.save(m_d->ui_cuts.doubleSpinBox_cut_maxpt_gev);
800 s.save(m_d->ui_cuts.comboBox_momtype);// version 10+
801
802 s.save(m_d->ui_cuts.etaPhiCutWidget);//Version 7+
803 //Versions <=6 had 2*bool, 2*double, 1*bool, 1*obsoletephisectionstate here.
804
805 //Cuts - number of hits:
806 s.save(m_d->ui_cuts.checkBox_cut_nhits_pixel);//Version 9+
807 s.save(m_d->ui_cuts.checkBox_cut_nhits_sct);//Version 9+
808 s.save(m_d->ui_cuts.checkBox_cut_nhits_trt);//Version 9+
809 s.save(m_d->ui_cuts.checkBox_cut_nhits_muon);//Version 9+
810 s.save(m_d->ui_cuts.spinBox_cut_nhits_pixel);//Version 9+
811 s.save(m_d->ui_cuts.spinBox_cut_nhits_sct);//Version 9+
812 s.save(m_d->ui_cuts.spinBox_cut_nhits_trt);//Version 9+
813 s.save(m_d->ui_cuts.spinBox_cut_nhits_muon);//Version 9+
814
815 //Cuts - truth:
816 s.save(m_d->ui_cuts.checkBox_cut_truthtracks_creationvertexinIR);
817 s.save(m_d->ui_cuts.checkBox_cut_truthtracks_excludeneutrals);
818 s.save(m_d->ui_cuts.checkBox_cut_truthtracks_excludebarcode0);
819
820 s.save(m_d->ui_cuts.checkBox_vertexAssociated);//Version 14+
821 // -----------------------------------
822
823
824
825
826
827
828 // --- Interactions options ---
829 s.save(QString("Interactions options"));
830 //Interactions - selection mode:
831 s.save(m_d->ui_int.radioButton_selmode_single,
832 m_d->ui_int.radioButton_selmode_multitracks,
833 m_d->ui_int.radioButton_selmode_trackfits);
834
835 s.save(m_d->ui_int.checkBox_selsingle_printinfo);
836 s.save(m_d->ui_int.checkBox_selsingle_printinfo_verbose);
837 s.save(m_d->ui_int.checkBox_selsingle_orientzoom);
838 s.save(m_d->ui_int.checkBox_sel_printtotmom);
839 s.save(m_d->ui_int.checkBox_sel_showtotmom);
840 s.save(m_d->ui_int.comboBox_fitterMode); // Version 12+
841 s.save(m_d->ui_int.checkBox_removeOutliers);// Version 12+
842 s.save(m_d->ui_int.comboBox_particleHypo);// Version 12+
843 // -----------------------------------
844
845
846
847
848 // --- AscObjs options ---
849 s.save(QString("AscObjs options"));
850 //AscObjs - TSOS:
851 s.save(m_d->ui_ascobjs.checkBox_materialeffectsontrack_forceposontrack);
852 s.save(m_d->ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE);
853 s.save(m_d->ui_ascobjs.checkBox_measurements_shorttubes_mdt);
854 s.save(m_d->ui_ascobjs.checkBox_measurements_shorttubes_trt);
855 s.save(m_d->ui_ascobjs.checkBox_measurements_drawGP); // Version 11
856 s.save(m_d->ui_ascobjs.checkBox_parerror_drawcylinder);
857 s.save(m_d->ui_ascobjs.checkBox_parerror_hideperigeeerrors);
858 s.save(m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces);
859 s.save(m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces); // Version 11
860 s.save(m_d->ui_ascobjs.checkBox_usecolour_materialeffectsontrack);
861 s.save(m_d->ui_ascobjs.checkBox_usecolour_meas_outliers);
862 s.save(m_d->ui_ascobjs.checkBox_usecolour_measurements);
863 s.save(m_d->ui_ascobjs.checkBox_usecolour_parametererrors);
864 s.save(m_d->ui_ascobjs.checkBox_usecolour_parameters);
865 s.save(m_d->ui_ascobjs.checkBox_useHoleColour_parameters);// Version 14
866 s.save(m_d->ui_ascobjs.checkBox_usecolour_surfaces);
867
868 s.save(m_d->ui_ascobjs.doubleSpinBox_parerror_stddev);
869 s.save(m_d->ui_ascobjs.groupBox_materialeffectsontrack);
870 s.save(m_d->ui_ascobjs.groupBox_measurements);
871 s.save(m_d->ui_ascobjs.groupBox_errors);// Version 13
872 s.save(m_d->ui_ascobjs.checkBox_parametererrors);// Version 13
873 s.save(m_d->ui_ascobjs.checkBox_measurementerrors);// Version 13
874 s.save(m_d->ui_ascobjs.groupBox_parameters);
875 s.save(m_d->ui_ascobjs.groupBox_surfaces);
876 s.save(m_d->ui_ascobjs.horizontalSlider_complexity);
877 s.save(m_d->ui_ascobjs.horizontalSlider_linewidths);//FIXME!!! SAVE AS ABOVE INSTEAD!!
878 s.save(m_d->ui_ascobjs.horizontalSlider_materialeffectsontrack_scale);
879 s.save(m_d->ui_ascobjs.horizontalSlider_pointsizes);//FIXME!!! SAVE AS ABOVE INSTEAD!!
880 s.save(m_d->ui_ascobjs.matButton_materialeffectsontrack);
881 s.save(m_d->ui_ascobjs.matButton_meas_outliers);
882 s.save(m_d->ui_ascobjs.matButton_measurements);
883 s.save(m_d->ui_ascobjs.matButton_parameters);
884 s.save(m_d->ui_ascobjs.matButton_holeParameters);// Version 14
885 s.save(m_d->ui_ascobjs.matButton_parerrors);
886 s.save(m_d->ui_ascobjs.matButton_surfaces);
887 s.save(m_d->ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale);//Version 5+
888 // -----------------------------------
889
890
891
892
893 // ----- Colouring options -----
894 s.save(QString("Colouring options"));
895 // Version 12
896 s.save(m_d->ui_col.groupBox_labels);
897 s.save(m_d->ui_col.horizontalSlider_labels_trkOffset);
898 s.save(m_d->ui_col.horizontalSlider_labels_xOffset);
899 s.save(m_d->ui_col.horizontalSlider_labels_yOffset);
900 s.save(m_d->ui_col.horizontalSlider_labels_zOffset);
901 s.save(m_d->ui_col.checkBox_trkLabels_p);
902 s.save(m_d->ui_col.checkBox_trkLabels_Pt);
903 s.save(m_d->ui_col.checkBox_trkLabels_pid);
904 s.save(m_d->ui_col.checkBox_trkLabels_hits);
905 s.save(m_d->ui_col.checkBox_trkLabels_fitQuality);
906 s.save(m_d->ui_col.checkBox_trkLabels_direction);
907 // --------------------------
908
909
910
911
912
913
914 // ----- Extrap options -----
915 s.save(QString("Extrapolator options"));
916 s.save(m_d->ui_extrap.checkBox_ignoreMEoT); // Version 14
917 s.save(m_d->ui_extrap.checkBox_extendAllInDetTracks);
918 s.save(m_d->ui_extrap.comboBox_extendAllInDetTracksToHere);
919 s.save(m_d->ui_extrap.horizontalSlider_granularity);
920 s.save(m_d->ui_extrap.checkBox_maxRadius); // Version 15
921 s.save(m_d->ui_extrap.spinBox_maxRadiusValue);
922 // --------------------------
923
924
925 messageVerbose("TrackSystemController::actualSaveSettings() - DONE.");
926
927}

◆ addUpdateSlot()

const char * VP1Controller::addUpdateSlot ( const char * slot)
protectedinherited

Definition at line 318 of file VP1Controller.cxx.

319{
320 messageVerbose("Adding update slot: "+QString(slot));
321 connect(this,SIGNAL(dummyUpdateTrigger()),this,slot);
322 m_d->lastUpdateSlot = slot;
323 return slot;
324}
void dummyUpdateTrigger()

◆ alignmentShiftLevel()

int TrackSystemController::alignmentShiftLevel ( )

Definition at line 2168 of file TrackSystemController.cxx.

2169{
2170 if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 0")
2171 return 0;
2172 else if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 1")
2173 return 1;
2174 else if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 2")
2175 return 2;
2176 else if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 3")
2177 return 3;
2178 return 0;
2179}

◆ alignmentShiftValue()

std::vector< double > TrackSystemController::alignmentShiftValue ( )

Definition at line 2157 of file TrackSystemController.cxx.

2158{
2159 std::vector<double> values(6,0.0);
2160 values[0]=m_d->ui_shiftmuonchambers.doubleSpinBox_tra_s->value();
2161 values[1]=m_d->ui_shiftmuonchambers.doubleSpinBox_tra_z->value();
2162 values[2]=m_d->ui_shiftmuonchambers.doubleSpinBox_tra_t->value();
2163 values[3]=m_d->ui_shiftmuonchambers.doubleSpinBox_rot_s->value();
2164 values[4]=m_d->ui_shiftmuonchambers.doubleSpinBox_rot_z->value();
2165 values[5]=m_d->ui_shiftmuonchambers.doubleSpinBox_rot_t->value();
2166 return values;
2167}

◆ ascObjComplexity()

SoComplexity * TrackSystemController::ascObjComplexity ( ) const

Definition at line 1466 of file TrackSystemController.cxx.

1467{
1468 return m_d->ascObjComplexity;
1469}

◆ ascObjDrawStyle()

SoDrawStyle * TrackSystemController::ascObjDrawStyle ( ) const

Definition at line 1460 of file TrackSystemController.cxx.

1461{
1462 return m_d->ascObjDrawStyle;
1463}

◆ assocObjDetailLevel()

TrackCommonFlags::DETAILLEVEL TrackSystemController::assocObjDetailLevel ( ) const

Definition at line 1764 of file TrackSystemController.cxx.

1765{
1766 if (m_d->ui_ascobjs.comboBox_assocobj_detaillevel->currentText()=="Auto")
1768 else if (m_d->ui_ascobjs.comboBox_assocobj_detaillevel->currentText()=="Simple")
1770 else
1772}

◆ assocObjDetailLevelChanged

void TrackSystemController::assocObjDetailLevelChanged ( TrackCommonFlags::DETAILLEVEL )
signal

◆ availableExtrapolatorsChanged

void TrackSystemController::availableExtrapolatorsChanged ( const QStringList & ae)
privateslot

Definition at line 1938 of file TrackSystemController.cxx.

1939{
1940 if (m_d->lastUpdatedAvailableExtrapolators==ae)
1941 return;
1942 m_d->lastUpdatedAvailableExtrapolators=ae;
1943
1944 if (!m_d->updateComboBoxContents(m_d->ui_extrap.comboBox_propagator,ae,m_d->restoredLastPropagator)) {
1945 m_d->ui_extrap.radioButton_athenaExtrapolator->setEnabled(false);
1946 bool save1 = m_d->ui_extrap.radioButton_none->blockSignals(true);
1947 bool save2 = m_d->ui_extrap.radioButton_helical->blockSignals(true);
1948 bool save3 = m_d->ui_extrap.radioButton_athenaExtrapolator->blockSignals(true);
1949 m_d->ui_extrap.radioButton_none->setChecked(true);//Fixme: fall back to the helical instead!
1950 m_d->ui_extrap.radioButton_helical->setChecked(false);
1951 m_d->ui_extrap.radioButton_athenaExtrapolator->setChecked(false);
1952 if (!save1) m_d->ui_extrap.radioButton_none->blockSignals(false);
1953 if (!save2) m_d->ui_extrap.radioButton_helical->blockSignals(false);
1954 if (!save3) m_d->ui_extrap.radioButton_athenaExtrapolator->blockSignals(false);
1955 } else {
1956 m_d->ui_extrap.radioButton_athenaExtrapolator->setEnabled(true);
1957 }
1958
1960}
void possibleChange_propagator()

◆ availableFittersChanged

void TrackSystemController::availableFittersChanged ( const QStringList & af)
privateslot

Definition at line 1926 of file TrackSystemController.cxx.

1927{
1928 if (m_d->lastUpdatedAvailableFitters==af)
1929 return;
1930 m_d->lastUpdatedAvailableFitters=af;
1931 m_d->updateComboBoxContents(m_d->ui_int.comboBox_fitters,af,m_d->restoredLastFitter);//remember return val.
1932 m_d->updateFitPRDButtonState();
1933
1935}
void possibleChange_trackFitter()

◆ changed()

template<class T>
bool VP1Controller::changed ( T & lastval,
const T & newval )
protectedinherited

Definition at line 151 of file VP1Controller.h.

152{
153 if (initVarsMode()) {
154 lastval=newval;
155 return false;
156 }
157 if (lastval==newval)
158 return false;
159 lastval = newval;
160 return true;
161}
bool initVarsMode() const

◆ collWidget()

TrackCollWidget * TrackSystemController::collWidget ( ) const

Definition at line 1266 of file TrackSystemController.cxx.

1267{
1268 return m_d->trackcollwidget;
1269}

◆ collWidgetContentChanged

void VP1Controller::collWidgetContentChanged ( )
slotinherited

Definition at line 232 of file VP1Controller.cxx.

233{
234 if (sender()!=m_d->collWidget||!m_d->collWidget) {
235 message("ERROR: Unexpected signal in collWidgetContentChanged slot!!");
236 return;
237 }
238 QScrollArea* scrollarea = dynamic_cast<QScrollArea*>(m_d->collWidget->parent());
239 if (!scrollarea&&m_d->collWidget->parent())
240 scrollarea = dynamic_cast<QScrollArea*>(m_d->collWidget->parent()->parent());
241 if (!scrollarea) {
242 message("ERROR: m_d->collWidget not child or grandchild of a scroll area!!");
243 return;
244 }
245 int width = m_d->collWidget->appropriateFixedWidth();
246 m_d->collWidget->setMinimumWidth(width);
247 m_d->collWidget->setMaximumWidth(width);
248 QScrollBar * sb = scrollarea->verticalScrollBar();
249 if (sb)
250 width+=sb->sizeHint().width();
251 scrollarea->setMinimumWidth(width+2);//2 is just some margin
252}
const double width

◆ common()

TrackSysCommonData * TrackSystemController::common ( ) const

Returns a pointer to the common data (if it exists)

Definition at line 2056 of file TrackSystemController.cxx.

2056 {
2057 return m_d->common;
2058}

◆ connectToLastUpdateSlot() [1/10]

void VP1Controller::connectToLastUpdateSlot ( QButtonGroup * bg)
protectedinherited

Definition at line 369 of file VP1Controller.cxx.

370{
371 connectToLastUpdateSlot(bg,SIGNAL(buttonClicked(int)));
372}

◆ connectToLastUpdateSlot() [2/10]

void VP1Controller::connectToLastUpdateSlot ( QCheckBox * cb)
protectedinherited

Definition at line 333 of file VP1Controller.cxx.

334{
335 connectToLastUpdateSlot(cb,SIGNAL(toggled(bool)));
336}

◆ connectToLastUpdateSlot() [3/10]

void VP1Controller::connectToLastUpdateSlot ( QComboBox * cb)
protectedinherited

Definition at line 339 of file VP1Controller.cxx.

340{
341 connectToLastUpdateSlot(cb,SIGNAL(currentIndexChanged(int)));
342}

◆ connectToLastUpdateSlot() [4/10]

void VP1Controller::connectToLastUpdateSlot ( QDoubleSpinBox * dsb)
protectedinherited

Definition at line 357 of file VP1Controller.cxx.

358{
359 connectToLastUpdateSlot(dsb,SIGNAL(valueChanged(double)));
360}

◆ connectToLastUpdateSlot() [5/10]

void VP1Controller::connectToLastUpdateSlot ( QGroupBox * gb)
protectedinherited

Definition at line 345 of file VP1Controller.cxx.

346{
347 connectToLastUpdateSlot(gb,SIGNAL(toggled(bool)));
348}

◆ connectToLastUpdateSlot() [6/10]

void VP1Controller::connectToLastUpdateSlot ( QObject * sender,
const char * signal )
protectedinherited

Definition at line 327 of file VP1Controller.cxx.

328{
329 connect(sender,signal,this,m_d->lastUpdateSlot);
330}

◆ connectToLastUpdateSlot() [7/10]

void VP1Controller::connectToLastUpdateSlot ( QRadioButton * rb)
protectedinherited

Definition at line 363 of file VP1Controller.cxx.

364{
365 connectToLastUpdateSlot(rb,SIGNAL(toggled(bool)));
366}

◆ connectToLastUpdateSlot() [8/10]

void VP1Controller::connectToLastUpdateSlot ( QSlider * s)
protectedinherited

Definition at line 375 of file VP1Controller.cxx.

376{
377 connectToLastUpdateSlot(s,SIGNAL(valueChanged(int)));
378}

◆ connectToLastUpdateSlot() [9/10]

void VP1Controller::connectToLastUpdateSlot ( QSpinBox * sb)
protectedinherited

Definition at line 351 of file VP1Controller.cxx.

352{
353 connectToLastUpdateSlot(sb,SIGNAL(valueChanged(int)));
354}

◆ connectToLastUpdateSlot() [10/10]

void VP1Controller::connectToLastUpdateSlot ( VP1ColorSelectButton * csb)
protectedinherited

Definition at line 381 of file VP1Controller.cxx.

382{
383 connectToLastUpdateSlot(csb,SIGNAL(colorChanged(const QColor&)));
384}

◆ currentSettingsVersion()

int TrackSystemController::currentSettingsVersion ( ) const
virtual

Implements VP1Controller.

Definition at line 680 of file TrackSystemController.cxx.

681{
682 return 17;
683}

◆ customColouredTSOSParts()

TrackCommonFlags::TSOSPartsFlags TrackSystemController::customColouredTSOSParts ( ) const

Definition at line 1539 of file TrackSystemController.cxx.

1540{
1541 TrackCommonFlags::TSOSPartsFlags f(TrackCommonFlags::TSOS_NoObjects);
1542 if (m_d->ui_ascobjs.checkBox_usecolour_measurements->isChecked())
1544 if (m_d->ui_ascobjs.checkBox_usecolour_meas_outliers->isChecked())
1546 if (m_d->ui_ascobjs.checkBox_usecolour_parameters->isChecked())
1548 if (m_d->ui_ascobjs.checkBox_useHoleColour_parameters->isChecked())
1550 if (m_d->ui_ascobjs.checkBox_usecolour_parametererrors->isChecked())
1552 if (m_d->ui_ascobjs.checkBox_usecolour_materialeffectsontrack->isChecked())
1554 if (m_d->ui_ascobjs.checkBox_usecolour_surfaces->isChecked())
1556
1557 return f;
1558}

◆ customColouredTSOSPartsChanged

void TrackSystemController::customColouredTSOSPartsChanged ( TrackCommonFlags::TSOSPartsFlags )
signal

◆ customMatHoleParameters()

SoMaterial * TrackSystemController::customMatHoleParameters ( ) const

Definition at line 1379 of file TrackSystemController.cxx.

1380{
1381 return m_d->getMat(m_d->ui_ascobjs.matButton_holeParameters);
1382}

◆ customMatMaterialEffects()

SoMaterial * TrackSystemController::customMatMaterialEffects ( ) const

Definition at line 1391 of file TrackSystemController.cxx.

1392{
1393 return m_d->getMat(m_d->ui_ascobjs.matButton_materialeffectsontrack);
1394}

◆ customMatMeasurements()

SoMaterial * TrackSystemController::customMatMeasurements ( ) const

Definition at line 1361 of file TrackSystemController.cxx.

1362{
1363 return m_d->getMat(m_d->ui_ascobjs.matButton_measurements);
1364}

◆ customMatMeasurementsOutliers()

SoMaterial * TrackSystemController::customMatMeasurementsOutliers ( ) const

Definition at line 1367 of file TrackSystemController.cxx.

1368{
1369 return m_d->getMat(m_d->ui_ascobjs.matButton_meas_outliers);
1370}

◆ customMatParameterErrors()

SoMaterial * TrackSystemController::customMatParameterErrors ( ) const

Definition at line 1385 of file TrackSystemController.cxx.

1386{
1387 return m_d->getMat(m_d->ui_ascobjs.matButton_parerrors);
1388}

◆ customMatParameters()

SoMaterial * TrackSystemController::customMatParameters ( ) const

Definition at line 1373 of file TrackSystemController.cxx.

1374{
1375 return m_d->getMat(m_d->ui_ascobjs.matButton_parameters);
1376}

◆ customMatSurfaces()

SoMaterial * TrackSystemController::customMatSurfaces ( ) const

Definition at line 1397 of file TrackSystemController.cxx.

1398{
1399 return m_d->getMat(m_d->ui_ascobjs.matButton_surfaces);
1400}

◆ customTourEditor()

VP1CustomTourEditor * VP1Controller::customTourEditor ( )
inlinestaticinherited

Definition at line 61 of file VP1Controller.h.

61{return m_customTourEditor;}
static VP1CustomTourEditor * m_customTourEditor

◆ cutAllowedEta()

VP1Interval TrackSystemController::cutAllowedEta ( ) const

Definition at line 1822 of file TrackSystemController.cxx.

1823{
1824 return m_d->ui_cuts.etaPhiCutWidget->allowedEta();
1825}

◆ cutAllowedEtaChanged

void TrackSystemController::cutAllowedEtaChanged ( const VP1Interval & )
signal

◆ cutAllowedPhi()

QList< VP1Interval > TrackSystemController::cutAllowedPhi ( ) const

Definition at line 1828 of file TrackSystemController.cxx.

1829{
1830 return m_d->ui_cuts.etaPhiCutWidget->allowedPhi();
1831}

◆ cutAllowedPhiChanged

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

◆ cutAllowedPt()

VP1Interval TrackSystemController::cutAllowedPt ( ) const

Definition at line 1788 of file TrackSystemController.cxx.

1789{
1790 if (!m_d->ui_cuts.checkBox_cut_minpt)
1791 return {};
1792
1793 // will set range to negative if we have momcut=P
1794 // if minCut unset then min=-inf
1795 // if minCut set, and Pt selected, then min=-minCut
1796 // if minCut set, and P selected, then min=-maxCut
1797 // etc
1798 bool isPCut = m_d->ui_cuts.comboBox_momtype->currentText()=="P";
1799
1800 const double minFromInterface=m_d->ui_cuts.doubleSpinBox_cut_minpt_gev->value()*CLHEP::GeV;
1801 const double maxFromInterface=m_d->ui_cuts.doubleSpinBox_cut_maxpt_gev->value()*CLHEP::GeV;
1802
1803 double min=0.0,max=0.0;
1804 if (!isPCut) {
1805 //Pt cut
1806 min = (m_d->ui_cuts.checkBox_cut_minpt->isChecked() ? minFromInterface : -std::numeric_limits<double>::infinity());
1807 max = (m_d->ui_cuts.checkBox_cut_maxpt->isChecked() ? maxFromInterface : std::numeric_limits<double>::infinity());
1808 } else {
1809 min = (m_d->ui_cuts.checkBox_cut_maxpt->isChecked() ? -maxFromInterface : -std::numeric_limits<double>::infinity());
1810 max = (m_d->ui_cuts.checkBox_cut_minpt->isChecked() ? -minFromInterface : std::numeric_limits<double>::infinity());
1811 }
1812
1813 //message("cutAllowedPt: min,max="+QString::number(min)+","+QString::number(max));
1814
1815 if (max<min)
1816 return {};
1817
1818 return VP1Interval( min, max );//fixme: closed interval??
1819}
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41

◆ cutAllowedPtChanged

void TrackSystemController::cutAllowedPtChanged ( const VP1Interval & )
signal

◆ cutExcludeBarcodeZero()

bool TrackSystemController::cutExcludeBarcodeZero ( ) const

Definition at line 1862 of file TrackSystemController.cxx.

1863{
1864 return m_d->ui_cuts.checkBox_cut_truthtracks_excludebarcode0->isChecked();
1865}

◆ cutExcludeBarcodeZeroChanged

void TrackSystemController::cutExcludeBarcodeZeroChanged ( bool )
signal

◆ cutOnlyVertexAssocTracks()

bool TrackSystemController::cutOnlyVertexAssocTracks ( ) const

Definition at line 1781 of file TrackSystemController.cxx.

1781 {
1782 if (!m_d->ui_cuts.checkBox_vertexAssociated->isEnabled()) return false;
1783 return m_d->ui_cuts.checkBox_vertexAssociated->isChecked();
1784}

◆ cutOnlyVertexAssocTracksChanged

void TrackSystemController::cutOnlyVertexAssocTracksChanged ( bool )
signal

◆ cutRequiredDetectorElement()

QString TrackSystemController::cutRequiredDetectorElement ( ) const

Definition at line 1849 of file TrackSystemController.cxx.

1849 {
1850 QString tmp = m_d->ui_cuts.checkBox_requireDetectorElement->isChecked() ? m_d->ui_cuts.lineEdit_detectorElementId->text(): QString();
1851 return tmp;
1852}

◆ cutRequiredDetectorElementChanged

void TrackSystemController::cutRequiredDetectorElementChanged ( const QString & )
signal

◆ cutRequiredNHits()

QList< unsigned > TrackSystemController::cutRequiredNHits ( ) const

Definition at line 1834 of file TrackSystemController.cxx.

1835{
1836 unsigned npixel = m_d->ui_cuts.checkBox_cut_nhits_pixel->isChecked() ? m_d->ui_cuts.spinBox_cut_nhits_pixel->value() : 0;
1837 unsigned nsct = m_d->ui_cuts.checkBox_cut_nhits_sct->isChecked() ? m_d->ui_cuts.spinBox_cut_nhits_sct->value() : 0;
1838 unsigned ntrt = m_d->ui_cuts.checkBox_cut_nhits_trt->isChecked() ? m_d->ui_cuts.spinBox_cut_nhits_trt->value() : 0;
1839 unsigned nmuon = m_d->ui_cuts.checkBox_cut_nhits_muon->isChecked() ? m_d->ui_cuts.spinBox_cut_nhits_muon->value() : 0;
1840 unsigned nprecmuon = m_d->ui_cuts.checkBox_cut_nprecisionhits_muon->isChecked() ? m_d->ui_cuts.spinBox_cut_nprecisionhits_muon->value() : 0;
1841
1842 QList<unsigned> l;
1843 if (!npixel&&!nsct&&!ntrt&&!nmuon&&!nprecmuon)
1844 return l;
1845 l << npixel << nsct << ntrt << nmuon << nprecmuon;
1846 return l;
1847}

◆ cutRequiredNHitsChanged

void TrackSystemController::cutRequiredNHitsChanged ( const QList< unsigned > & )
signal

◆ cutTruthExcludeNeutrals()

bool TrackSystemController::cutTruthExcludeNeutrals ( ) const

Definition at line 1868 of file TrackSystemController.cxx.

1869{
1870 return m_d->ui_cuts.checkBox_cut_truthtracks_excludeneutrals->isChecked();
1871}

◆ cutTruthExcludeNeutralsChanged

void TrackSystemController::cutTruthExcludeNeutralsChanged ( bool )
signal

◆ cutTruthFromIROnly()

bool TrackSystemController::cutTruthFromIROnly ( ) const

Definition at line 1856 of file TrackSystemController.cxx.

1857{
1858 return m_d->ui_cuts.checkBox_cut_truthtracks_creationvertexinIR->isChecked();
1859}

◆ cutTruthFromIROnlyChanged

void TrackSystemController::cutTruthFromIROnlyChanged ( bool )
signal

◆ defineRadioButtonGroup() [1/2]

QButtonGroup * VP1Controller::defineRadioButtonGroup ( const QList< QRadioButton * > & l)
protectedinherited

Definition at line 300 of file VP1Controller.cxx.

301{
302 QRadioButton * rb_checked(0);
303 for (QRadioButton *rb : l) {
304 if (rb->isChecked()) {
305 rb_checked = rb;
306 break;
307 }
308 }
309 QButtonGroup * radiogroup = new QButtonGroup(this);
310 for (QRadioButton *rb : l)
311 radiogroup->addButton(rb);
312 if (rb_checked)
313 rb_checked->setChecked(true);
314 return radiogroup;
315}

◆ defineRadioButtonGroup() [2/2]

QButtonGroup * VP1Controller::defineRadioButtonGroup ( QRadioButton * rb0,
QRadioButton * rb1,
QRadioButton * rb2 = 0,
QRadioButton * rb3 = 0,
QRadioButton * rb4 = 0,
QRadioButton * rb5 = 0,
QRadioButton * rb6 = 0,
QRadioButton * rb7 = 0,
QRadioButton * rb8 = 0,
QRadioButton * rb9 = 0 )
protectedinherited

Definition at line 288 of file VP1Controller.cxx.

292{
293 QList<QRadioButton *> l;
294 l << rb0 << rb1 << rb2 << rb3 << rb4 << rb5 << rb6 << rb7 << rb8 << rb9;
295 l.removeAll(0);
296 return defineRadioButtonGroup(l);
297}
QButtonGroup * defineRadioButtonGroup(QRadioButton *rb0, QRadioButton *rb1, QRadioButton *rb2=0, QRadioButton *rb3=0, QRadioButton *rb4=0, QRadioButton *rb5=0, QRadioButton *rb6=0, QRadioButton *rb7=0, QRadioButton *rb8=0, QRadioButton *rb9=0)

◆ doTrackLabels()

bool TrackSystemController::doTrackLabels ( )

Definition at line 2181 of file TrackSystemController.cxx.

2182{
2183 return m_d->ui_col.groupBox_labels->isChecked();
2184}

◆ drawMeasGlobalPositions()

bool TrackSystemController::drawMeasGlobalPositions ( ) const

Definition at line 1585 of file TrackSystemController.cxx.

1586{
1587 return m_d->ui_ascobjs.checkBox_measurements_drawGP->isChecked();
1588}

◆ drawMeasGlobalPositionsChanged

void TrackSystemController::drawMeasGlobalPositionsChanged ( bool )
signal

◆ dummyUpdateTrigger

void VP1Controller::dummyUpdateTrigger ( )
signalinherited

◆ emitExtrapolateToHereChanged

void TrackSystemController::emitExtrapolateToHereChanged ( int )
privateslot

Definition at line 1658 of file TrackSystemController.cxx.

1658 {
1660}
void extrapolateToThisVolumeChanged(void)

◆ emitRefit

void TrackSystemController::emitRefit ( )
privateslot

Definition at line 2000 of file TrackSystemController.cxx.

2001{
2002 messageVerbose("Emitting refit");
2003 emit refit();
2004}

◆ emitRerandomise

void TrackSystemController::emitRerandomise ( )
privateslot

Definition at line 1993 of file TrackSystemController.cxx.

1994{
1995 messageVerbose("Emitting rerandomise");
1996 emit rerandomise();
1997}

◆ enabledButtonStateChanged

void VP1Controller::enabledButtonStateChanged ( )
slotinherited

Definition at line 167 of file VP1Controller.cxx.

168{
169 Imp::DialogInfo * di(0);
170 for (Imp::DialogInfo* di2 : m_d->dialogs) {
171 if (di2->enabledButton==sender()) {
172 di = di2;
173 break;
174 }
175 }
176 if (!di) {
177 message("ERROR: enabledButtonStateChanged() triggered with unrecognised sender() ="
178 +QString(sender()?sender()->objectName():"NULL"));
179 return;
180 }
181
182 bool on(di->enabledButton->isChecked());
183 if (di->launchButton->isEnabled()!=on)
184 di->launchButton->setEnabled(on);
185 if (!on) {
186 if (di->dialogWidget->isVisible())
187 di->dialogWidget->setVisible(false);
188 if (di->dialogWidget->windowState()==Qt::WindowMinimized)
189 di->dialogWidget->setWindowState(Qt::WindowNoState);
190 }
191}

◆ extrapolateToThisVolume()

const Trk::Volume * TrackSystemController::extrapolateToThisVolume ( ) const

Returns the volume to which we extrapolate ID tracks, or zero if no VolumesSvc found.

Definition at line 1691 of file TrackSystemController.cxx.

1692{
1693 if (m_d->ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()=="Calorimeter")
1694 return m_d->calorimeterEntryLayer;
1695 if (m_d->ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()=="Muon Entrance")
1696 return m_d->muonSpectrometerEntryLayer;
1697 if (m_d->ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()=="Muon Exit")
1698 return m_d->muonSpectrometerExitLayer;
1699 return nullptr;
1700}

◆ extrapolateToThisVolumeChanged

void TrackSystemController::extrapolateToThisVolumeChanged ( void )
signal

◆ fallBackMaterial()

SoMaterial * VP1Controller::fallBackMaterial ( ) const
protectedinherited

Definition at line 427 of file VP1Controller.cxx.

428{
429 if (!m_d->fallBackMaterial) {
430 m_d->fallBackMaterial = new SoMaterial;
431 m_d->fallBackMaterial->ref();
432 }
433 return m_d->fallBackMaterial;
434}

◆ fitterMode()

TrackCommonFlags::FITTERMODE TrackSystemController::fitterMode ( ) const

Definition at line 1715 of file TrackSystemController.cxx.

1716{
1717 if (m_d->ui_int.comboBox_fitterMode->currentText()=="Fit PRDs")
1719 else if (m_d->ui_int.comboBox_fitterMode->currentText()=="Refit Track")
1721 else if (m_d->ui_int.comboBox_fitterMode->currentText()=="Extend Track with PRDs")
1723 else if (m_d->ui_int.comboBox_fitterMode->currentText()=="Combine Two Tracks")
1725
1726 message("fitterMode ERROR: Inconsistency detected. Mode not known.");
1727
1728 return TrackCommonFlags::FROMPRDS; // FIXME!
1729}

◆ fitterParticleHypthesis()

Trk::ParticleHypothesis TrackSystemController::fitterParticleHypthesis ( ) const

Definition at line 1736 of file TrackSystemController.cxx.

1737{
1738 if (m_d->ui_int.comboBox_particleHypo->currentText()=="Pion")
1739 return Trk::pion;
1740 else if (m_d->ui_int.comboBox_particleHypo->currentText()=="Non Interacting")
1741 return Trk::nonInteracting;
1742 else if (m_d->ui_int.comboBox_particleHypo->currentText()=="Electron")
1743 return Trk::electron;
1744 else if (m_d->ui_int.comboBox_particleHypo->currentText()=="Muon")
1745 return Trk::muon;
1746 else if (m_d->ui_int.comboBox_particleHypo->currentText()=="Kaon")
1747 return Trk::kaon;
1748 else if (m_d->ui_int.comboBox_particleHypo->currentText()=="Proton")
1749 return Trk::proton;
1750 else if (m_d->ui_int.comboBox_particleHypo->currentText()=="Photon")
1751 return Trk::photon;
1752
1753 message("fitterMode ERROR: Inconsistency detected. Mode not known.");
1754 return Trk::undefined; // FIXME!
1755}

◆ fitterRemoveOutliers()

bool TrackSystemController::fitterRemoveOutliers ( ) const

Definition at line 1731 of file TrackSystemController.cxx.

1732{
1733 return m_d->ui_int.checkBox_removeOutliers->isChecked();
1734}

◆ getMaterial()

SoMaterial * VP1Controller::getMaterial ( VP1MaterialButton * mb) const
protectedinherited

Definition at line 437 of file VP1Controller.cxx.

438{
439 if (!mb) {
440 message("ERROR: Null material button pointer");
441 return fallBackMaterial();
442 }
443 QList<SoMaterial*> mats = mb->handledMaterials();
444 if (mats.count()!=1) {
445 message("ERROR: No material in button "+mb->objectName());
446 return fallBackMaterial();
447 }
448 return mats.at(0);
449
450
451}
SoMaterial * fallBackMaterial() const

◆ getMaterialForCharge()

SoMaterial * TrackSystemController::getMaterialForCharge ( const double & charge) const

Definition at line 1333 of file TrackSystemController.cxx.

1334{
1335 if (charge>0)
1336 return m_d->getMat(m_d->ui_col.matButton_charge_pos);
1337 else if (charge<0)
1338 return m_d->getMat(m_d->ui_col.matButton_charge_neg);
1339 return m_d->getMat(m_d->ui_col.matButton_charge_neutral);
1340}
double charge(const T &p)
Definition AtlasPID.h:997

◆ getMaterialForMomentum()

SoMaterial * TrackSystemController::getMaterialForMomentum ( const double & absmom) const

Definition at line 1343 of file TrackSystemController.cxx.

1344{
1345 static const double low=0*CLHEP::GeV;
1346 static const double high=15*CLHEP::GeV;
1347 if (absmom<=low)
1348 return m_d->getMat(m_d->ui_col.matButton_0GeV);
1349 else if (absmom>=high)
1350 return m_d->getMat(m_d->ui_col.matButton_15GeV);
1351
1352 if (!m_d->matmixer)
1353 m_d->matmixer = new VP1SoMaterialMixer(systemBase());
1354
1355 const double x = (absmom-low)/(high-low);
1356 return m_d->matmixer->getMixedMaterial( m_d->getMat(m_d->ui_col.matButton_0GeV), 1-x,
1357 m_d->getMat(m_d->ui_col.matButton_15GeV), x );
1358}
#define x

◆ getMaterialForPDGCode()

SoMaterial * TrackSystemController::getMaterialForPDGCode ( const int & pdgcode) const

Definition at line 1289 of file TrackSystemController.cxx.

1290{
1291 VP1MaterialButton * matbutton(nullptr);
1292 int abspdg = abs(pdgCode);
1293 switch (abspdg) {
1294 case 211: matbutton = m_d->ui_col.matButton_pions; break;
1295 case 11: matbutton = m_d->ui_col.matButton_electrons; break;
1296 case 22: matbutton = m_d->ui_col.matButton_photons; break;
1297 case 13: matbutton = m_d->ui_col.matButton_muons; break;
1298 case 2212: matbutton = m_d->ui_col.matButton_protons; break;
1299 case 2112: matbutton = m_d->ui_col.matButton_neutrons; break;
1300 case 2: return m_d->materialFallback;
1301 //Only use CHARGED kaons here!!
1302 // case 130://k-long
1303 // case 310://k-short
1304 // case 311://k0
1305 case 321://k+
1306 // case 313://k*0
1307 case 323://k*+
1308 //Fixme: More (charged) kaon states???
1309 matbutton = m_d->ui_col.matButton_chargedkaons; break;
1310 case 12://nu_e
1311 case 14://nu_mu
1312 case 16://nu_tau
1313 case 18://fourth gen. neutrino:
1314 matbutton = m_d->ui_col.matButton_neutrinos; break;
1315 default:
1316 bool ok;
1317 double charge;
1319 if (!ok) {
1320 message("WARNING: Could not look up charge of pdg code "+str(abspdg)+". Assuming charged.");
1321 charge = 1.0;
1322 }
1323 if (charge==0.0)
1324 matbutton = m_d->ui_col.matButton_otherneutrals;
1325 else
1326 matbutton = m_d->ui_col.matButton_othercharged;
1327 break;
1328 }
1329 return m_d->getMat(matbutton);
1330}
static double particleCharge(const int &pdgcode, bool &ok)

◆ helperClassName()

const QString & VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51{ return m_helpername; }

◆ hideCustomSurfaces()

bool TrackSystemController::hideCustomSurfaces ( ) const

Definition at line 1579 of file TrackSystemController.cxx.

1580{
1581 return m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces->isChecked();
1582}

◆ hideTubeSurfaces()

bool TrackSystemController::hideTubeSurfaces ( ) const

Definition at line 1573 of file TrackSystemController.cxx.

1574{
1575 return m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces->isChecked();
1576}

◆ ignoreMeasurementEffectsOnTrackInProp()

bool TrackSystemController::ignoreMeasurementEffectsOnTrackInProp ( )

If true (default) don't use TSOS with MEOT to draw track points.

Definition at line 1662 of file TrackSystemController.cxx.

1663{
1664 return m_d->ui_extrap.checkBox_ignoreMEoT->isChecked();
1665}

◆ initDialog() [1/2]

void VP1Controller::initDialog ( QWidget * dialog,
QPushButton * launchbutton,
QPushButton * closebutton,
QAbstractButton * enabledButton = 0 )
protectedinherited

Definition at line 123 of file VP1Controller.cxx.

124{
125 QString txt(enabledButton?enabledButton->text():launchButton->text());
126 txt.replace("&&","&");
127 dialog->setWindowTitle(txt+" ["+systemBase()->name()+"]");
128 dialog->setWindowIcon(QIcon(QString(":/vp1/icons/icons/3d_32x32.png")));
129 launchButton->setMaximumHeight(static_cast<int>(0.5+QFontMetricsF(launchButton->font()).height()*1.05+2));
130 launchButton->setMinimumHeight(launchButton->maximumHeight());
131 launchButton->setCheckable(true);
132
133 QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
134 sizePolicy.setHorizontalStretch(0);
135 sizePolicy.setVerticalStretch(0);
136 sizePolicy.setHeightForWidth(launchButton->sizePolicy().hasHeightForWidth());
137 launchButton->setSizePolicy(sizePolicy);
138 launchButton->setFocusPolicy(Qt::NoFocus);
139
140 if (enabledButton)
141 launchButton->setEnabled(enabledButton->isChecked());
142
143 m_d->dialogs << new Imp::DialogInfo(launchButton,dialog,enabledButton);
144
145 connect(launchButton,SIGNAL(clicked()),this,SLOT(toggleDialogState()));
146 if (enabledButton)
147 connect(enabledButton,SIGNAL(toggled(bool)),this,SLOT(enabledButtonStateChanged()));
148 CloseEventEater* closeEventEater = new CloseEventEater(this);
149 dialog->installEventFilter(closeEventEater);
150
151 if(closeButton) {
152 closeButton->setText("&Close");
153 closeButton->setToolTip("Close this dialog [Esc]");
154 connect(closeButton,SIGNAL(clicked()),dialog,SLOT(close()));
155 }
156 connect(new QShortcut(QKeySequence(Qt::Key_Escape), dialog),SIGNAL(activated()),dialog,SLOT(close()));
157
158 //To avoid an extra call in the code we do this a few times more than necessary (fixme: put in initLastVars!!):
159 int maxwidth(0);
160 for (Imp::DialogInfo* di : m_d->dialogs)
161 maxwidth = std::max(maxwidth,di->launchButton->sizeHint().width());
162 for (Imp::DialogInfo* di : m_d->dialogs)
163 di->launchButton->setMinimumWidth(maxwidth);
164}
void toggleDialogState(QObject *widget=0)
void enabledButtonStateChanged()

◆ initDialog() [2/2]

template<class T>
void VP1Controller::initDialog ( T & theUI,
QPushButton * launchbutton,
QAbstractButton * enabledButton = 0 )
protectedinherited

Definition at line 144 of file VP1Controller.h.

144 {
145 QWidget * w = new QWidget(0,Qt::WindowStaysOnTopHint);
146 theUI.setupUi(w);
147 initDialog(w, launchbutton, theUI.pushButton_close,enabledButton);
148}

◆ initLastVars()

void VP1Controller::initLastVars ( )
inherited

Definition at line 68 of file VP1Controller.cxx.

69{
70 m_initVarsMode = true;
72 m_initVarsMode = false;
73}
void testForChanges()

◆ initTools()

void TrackSystemController::initTools ( )

< Really needed here??? FIXME

< Really needed here??? FIXME

Definition at line 535 of file TrackSystemController.cxx.

536{
537 m_d->toolaccesshelper = new VP1ToolAccessHelper(systemBase());
538
541
542 //Ensure special VP1 extrapolator and fitters are created:
545
546 messageVerbose("Setting up tool helper to monitor extrapolators - start");
547 m_d->toolhelper_extrapolators = new VP1AvailableToolsHelper(systemBase(),this);
548 //Watch for extrapolators (and Fatras extrapolators are no-go!)
549 m_d->toolhelper_extrapolators->addMonitoredType("Trk::Extrapolator",(QStringList() << "*Fatras*"));
550 connect(m_d->toolhelper_extrapolators,SIGNAL(availableToolsChanged(const QStringList&)),
551 this,SLOT(availableExtrapolatorsChanged(const QStringList&)));
552 availableExtrapolatorsChanged(m_d->toolhelper_extrapolators->availableTools());
553 messageVerbose("Setting up tool helper to monitor extrapolators - end");
554
555 messageVerbose("Setting up tool helper to monitor fitters - start");
556 m_d->toolhelper_fitters = new VP1AvailableToolsHelper(systemBase(),this);
557 QStringList fittertypes;
558 fittertypes << "Trk::KalmanFitter"
559 << "Trk::GlobalChi2Fitter"
560 << "Trk::GaussianSumFilter"
561 << "Trk::DistributedKalmanFilter"
562 << "Trk::DeterministicAnnealingFilter";
563 m_d->toolhelper_fitters->addMonitoredTypes(fittertypes);
564 connect(m_d->toolhelper_fitters,SIGNAL(availableToolsChanged(const QStringList&)),
565 this,SLOT(availableFittersChanged(const QStringList&)));
566 availableFittersChanged(m_d->toolhelper_fitters->availableTools());
567 messageVerbose("Setting up tool helper to monitor fitters - end");
568 } else {
569 m_d->toolhelper_extrapolators = nullptr;
570 m_d->toolhelper_fitters = nullptr;
571 m_d->ui_extrap.comboBox_propagator->clear();
572 m_d->ui_extrap.comboBox_propagator->addItem(Imp::noneAvailString);
573 m_d->ui_extrap.comboBox_propagator->setEnabled(false);
574 m_d->ui_extrap.radioButton_athenaExtrapolator->setEnabled(false);
575 m_d->ui_extrap.radioButton_none->setChecked(true);
576 m_d->ui_int.comboBox_fitters->clear();
577 m_d->ui_int.comboBox_fitters->addItem(Imp::noneAvailString);
578 m_d->ui_int.comboBox_fitters->setEnabled(false);
579 //FIXME: Disable radioButton_selmode_trackfits, comboBox_fitters, lineEdit_fittedTrackCollName, pushButton_refit
580 }
581
582 // -> propagator
583 //
585 connectToLastUpdateSlot(m_d->ui_extrap.radioButton_none);
586 connectToLastUpdateSlot(m_d->ui_extrap.radioButton_athenaExtrapolator);
587 connectToLastUpdateSlot(m_d->ui_extrap.comboBox_propagator);
588
590 connectToLastUpdateSlot(m_d->ui_extrap.checkBox_ignoreMEoT);
591 connectToLastUpdateSlot(m_d->ui_extrap.checkBox_extendAllInDetTracks);
592 // connectToLastUpdateSlot(m_d->ui_extrap.comboBox_extendAllInDetTracksToHere);
593 m_d->last_propagationOptions=TrackSystemController::NoPropOptions;
594 if (m_d->ui_extrap.checkBox_ignoreMEoT->isChecked()) m_d->last_propagationOptions |= TrackSystemController::IgnoreMEOT;
595 if (m_d->ui_extrap.checkBox_extendAllInDetTracks->isChecked()) m_d->last_propagationOptions |= TrackSystemController::ExtendTrack;
596
598 connectToLastUpdateSlot(m_d->ui_extrap.checkBox_maxRadius);
599 connectToLastUpdateSlot(m_d->ui_extrap.spinBox_maxRadiusValue);
600
601 connect(m_d->ui_extrap.comboBox_extendAllInDetTracksToHere, SIGNAL(currentIndexChanged(int)),this, SLOT(emitExtrapolateToHereChanged(int)));
602 // -> trackFitter
604 //(Nothing connects directly to this slot)
605
606 //could also use testForChanges() here:
609}
static void ensureFittersCreated(IVP1System *)
static void ensureExtrapolatorsCreated(IVP1System *)
void availableExtrapolatorsChanged(const QStringList &)
void availableFittersChanged(const QStringList &)
void possibleChange_propagationOptions()
void possibleChange_propMaxRadius()

◆ initVarsMode()

bool VP1Controller::initVarsMode ( ) const
inlineprotectedinherited

Definition at line 97 of file VP1Controller.h.

97{ return m_initVarsMode; }

◆ labelXOffset()

int TrackSystemController::labelXOffset ( )

Absolute x offset.

Definition at line 2200 of file TrackSystemController.cxx.

2201{
2202 return m_d->ui_col.horizontalSlider_labels_xOffset->value();
2203}

◆ labelYOffset()

int TrackSystemController::labelYOffset ( )

Absolute y offset.

Definition at line 2205 of file TrackSystemController.cxx.

2206{
2207 return m_d->ui_col.horizontalSlider_labels_yOffset->value();
2208}

◆ labelZOffset()

int TrackSystemController::labelZOffset ( )

Absolute z offset.

Definition at line 2210 of file TrackSystemController.cxx.

2211{
2212 return m_d->ui_col.horizontalSlider_labels_zOffset->value();
2213}

◆ materialEffectsOnTrackScale()

double TrackSystemController::materialEffectsOnTrackScale ( ) const

Definition at line 1627 of file TrackSystemController.cxx.

1628{
1629 return m_d->ui_ascobjs.horizontalSlider_materialeffectsontrack_scale->value()/5.0;
1630}

◆ materialEffectsOnTrackScaleChanged

void TrackSystemController::materialEffectsOnTrackScaleChanged ( double )
signal

◆ measurementsShorttubesScale()

double TrackSystemController::measurementsShorttubesScale ( ) const

Definition at line 1592 of file TrackSystemController.cxx.

1593{
1594 return std::max(0.1*CLHEP::mm,m_d->ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale->value()*CLHEP::cm);
1595}

◆ measurementsShorttubesScaleChanged

void TrackSystemController::measurementsShorttubesScaleChanged ( double )
signal

◆ 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

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

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

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

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

◆ muonEDMPrinterTool()

Muon::MuonEDMPrinterTool * TrackSystemController::muonEDMPrinterTool ( ) const

Definition at line 1680 of file TrackSystemController.cxx.

1681{
1682 QString key = "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool";
1683 return m_d->toolaccesshelper->getToolPointer<Muon::MuonEDMPrinterTool>(key);
1684}

◆ nameOfNewlyFittedCollections()

QString TrackSystemController::nameOfNewlyFittedCollections ( ) const

Definition at line 1472 of file TrackSystemController.cxx.

1473{
1474 QString name = m_d->ui_int.lineEdit_fittedTrackCollName->text().simplified();
1475 return name.isEmpty() ? "<noname>" : name;
1476}

◆ nStdDevForParamErrors()

double TrackSystemController::nStdDevForParamErrors ( ) const

Definition at line 1598 of file TrackSystemController.cxx.

1599{
1600 return std::min<double>(1.0e3,std::max<double>(1.0e-3,m_d->ui_ascobjs.doubleSpinBox_parerror_stddev->value()));
1601}

◆ nStdDevForParamErrorsChanged

void TrackSystemController::nStdDevForParamErrorsChanged ( const double & )
signal

◆ numberOfPointsOnCircles()

int TrackSystemController::numberOfPointsOnCircles ( ) const

Definition at line 1610 of file TrackSystemController.cxx.

1611{
1612 const int val(m_d->ui_ascobjs.horizontalSlider_complexity->value());
1613 const int max(m_d->ui_ascobjs.horizontalSlider_complexity->maximum());
1614 const int min(m_d->ui_ascobjs.horizontalSlider_complexity->minimum());
1615 //special cases:
1616 if (val==max)
1617 return 80;
1618 else if (val==min)
1619 return 4;
1620
1621 //roughly 4..32:
1622 const int n(1+static_cast<int>(0.5+7.0*(val-min)/(1.0*max)));//number between 1 and 8
1623 return std::min<int>(32,std::max<int>(4,4*n));
1624}

◆ numberOfPointsOnCirclesChanged

void TrackSystemController::numberOfPointsOnCirclesChanged ( int )
signal

◆ objectBrowserClicked

void TrackSystemController::objectBrowserClicked ( QTreeWidgetItem * item,
int  )
privateslot

Definition at line 2063 of file TrackSystemController.cxx.

2063 {
2064 messageVerbose("objectBrowserClicked for "+item->text(0));
2065
2066 VP1TrackSystem* sys = dynamic_cast<VP1TrackSystem*>(systemBase());
2067 if (!sys){
2068 messageVerbose("TrackSystemController::objectBrowserClicked: Couldn't get VP1TrackSystem pointer");
2069 return;
2070 }
2071
2072 //sys->deselectAll(); // FIXME. necessary?
2073
2074 SoNode* node = common()->node(item);
2075 if (node) {
2076 // okay, have track
2077
2078 SoCooperativeSelection * sel = sys->selTracks();
2079 sel->select(node);
2080 messageVerbose("Got track node. numselected="+QString::number(sel->getNumSelected()));
2081
2082 } else {
2083 messageVerbose("Checking to see if it is a TSOS/TrackState.");
2084
2085 // maybe it's a TSOS? Check first that it has a parent
2086 if (item->parent()) node = common()->node(item->parent());
2087
2088 if ( !node && item->parent() && item->parent()->parent() ) node = common()->node(item->parent()->parent()); // Try one more up (ugly, but shouldn't ever be deeper than this)
2089
2090 if (node) {
2091 // yes, so now get index within track, as we can hopefully use this to find the AscObj_TSOS
2092 unsigned int index = item->parent()->indexOfChild(item);// should correspond to the TSOS number
2093 messageVerbose("TrackSystemController::objectBrowserClicked: item has index of "+QString::number(index));
2094
2095 TrackHandle_TrkTrack* trkHandle = dynamic_cast<TrackHandle_TrkTrack*>(common()->trackHandle(node));
2096 if (trkHandle){
2097 trkHandle->zoomToTSOS(index);
2098 } else {
2099 TrackHandle_TrackContainer* trkProxyHandle = dynamic_cast<TrackHandle_TrackContainer*>(common()->trackHandle(node));
2100 if (trkProxyHandle){
2101 trkProxyHandle->zoomToTSOS(index);
2102 // FIXME There is a bug here currently - if the user clicks on an open TrackState e.g parameters.
2103 // This might have an index of 0, whereas the actual Trackstate is at index 23.
2104 }
2105 }
2106 } else {
2107 messageVerbose("TrackSystemController::objectBrowserClicked: Couldn't get node pointer. Maybe object not visible?");
2108 }
2109 }
2110
2111
2112 // if (selTrack){
2113 // SoCooperativeSelection * sel = sys->selTracks();
2114 // sel->select(node);
2115 // } else {
2116 // common()->ascObjSelectionManager()->pretendUserClicked();
2117 // }
2118 //
2119 // SoCooperativeSelection * sel = sys->selTracks();
2120 // SoCooperativeSelection * selAsc = dynamic_cast<SoCooperativeSelection*>(common()->ascObjSelectionManager()->getAscObjAttachSep());
2121 // SoSeparator* eventRoot = common()->ascObjSelectionManager()->eventRoot();
2122 //
2123 // SoSearchAction mySearchAction;
2124 // mySearchAction.setNode(node);
2125 // // SoSeparator* eventRoot = common()->ascObjSelectionManager()->eventRoot();
2126 // mySearchAction.apply(eventRoot);
2127 // SoPath* path=mySearchAction.getPath();
2128 // if ( !path ) {
2129 // messageVerbose("TrackSystemController::objectBrowserClicked: Couldn't get SoPath");
2130 // return;
2131 // } else {
2132 // messageVerbose("TrackSystemController::objectBrowserClicked: got SoPath. Will now try to select.");
2133 // messageVerbose("pathlength="+QString::number(path->getLength()));
2134 // }
2135 //
2136 // //sel->select(path); //Doesn't work.
2137 // // messageVerbose("findpath="+QString::number(sel->findPath(path)));
2138 // sel->select(node); // Doesn't work.
2139 // if (sel->getNumSelected()==0){
2140 // messageVerbose("TrackSystemController::objectBrowserClicked: Couldn't select. Trying with ASC sel node.");
2141 //
2142 // selAsc->select(node);
2143 // if (selAsc->getNumSelected()==0){
2144 // messageVerbose("TrackSystemController::objectBrowserClicked: Couldn't select. Trying with ASC sel using path.");
2145 //
2146 // selAsc->select(path);
2147 // }
2148 // }
2149 // // messageVerbose("findpath="+QString::number(sel->findPath(path)));
2150 //
2151 // // sel->touch();
2152 // messageVerbose("numselected="+QString::number(sel->getNumSelected()));
2153
2154 // path->unref();
2155}
SoNode * zoomToTSOS(unsigned int index)
Depending on controller configuration attempt to zoom to the corresponding TSOS & returned detailed n...
SoNode * zoomToTSOS(unsigned int index)
Depending on controller configuration attempt to zoom to the corresponding TSOS & returned detailed n...
TrackHandleBase * trackHandle(SoNode *n)
SoNode * node(TrackHandleBase *h)
Returns the node associated with this handle.
TrackSysCommonData * common() const
Returns a pointer to the common data (if it exists)
str index
Definition DeMoScan.py:362

◆ orientAndZoomOnSingleSelection()

bool TrackSystemController::orientAndZoomOnSingleSelection ( ) const

Definition at line 1963 of file TrackSystemController.cxx.

1964{
1965 return m_d->ui_int.checkBox_selsingle_orientzoom->isChecked();
1966}

◆ parTubeErrorsDrawCylinders()

bool TrackSystemController::parTubeErrorsDrawCylinders ( ) const

Definition at line 1604 of file TrackSystemController.cxx.

1605{
1606 return m_d->ui_ascobjs.checkBox_parerror_drawcylinder->isChecked();
1607}

◆ parTubeErrorsDrawCylindersChanged

void TrackSystemController::parTubeErrorsDrawCylindersChanged ( bool )
signal

◆ possibleChange_assocObjDetailLevel

void TrackSystemController::possibleChange_assocObjDetailLevel ( )
privateslot

◆ possibleChange_customColouredTSOSParts

void TrackSystemController::possibleChange_customColouredTSOSParts ( )
privateslot

◆ possibleChange_cutAllowedEta

void TrackSystemController::possibleChange_cutAllowedEta ( )
privateslot

◆ possibleChange_cutAllowedPhi

void TrackSystemController::possibleChange_cutAllowedPhi ( )
privateslot

◆ possibleChange_cutAllowedPt

void TrackSystemController::possibleChange_cutAllowedPt ( )
privateslot

◆ possibleChange_cutExcludeBarcodeZero

void TrackSystemController::possibleChange_cutExcludeBarcodeZero ( )
privateslot

◆ possibleChange_cutOnlyVertexAssocTracks

void TrackSystemController::possibleChange_cutOnlyVertexAssocTracks ( )
privateslot

◆ possibleChange_cutRequiredDetectorElement

void TrackSystemController::possibleChange_cutRequiredDetectorElement ( )
privateslot

◆ possibleChange_cutRequiredNHits

void TrackSystemController::possibleChange_cutRequiredNHits ( )
privateslot

◆ possibleChange_cutTruthExcludeNeutrals

void TrackSystemController::possibleChange_cutTruthExcludeNeutrals ( )
privateslot

◆ possibleChange_cutTruthFromIROnly

void TrackSystemController::possibleChange_cutTruthFromIROnly ( )
privateslot

◆ possibleChange_drawMeasGlobalPositions

void TrackSystemController::possibleChange_drawMeasGlobalPositions ( )
privateslot

◆ possibleChange_materialEffectsOnTrackScale

void TrackSystemController::possibleChange_materialEffectsOnTrackScale ( )
privateslot

◆ possibleChange_measurementsShorttubesScale

void TrackSystemController::possibleChange_measurementsShorttubesScale ( )
privateslot

◆ possibleChange_nStdDevForParamErrors

void TrackSystemController::possibleChange_nStdDevForParamErrors ( )
privateslot

◆ possibleChange_numberOfPointsOnCircles

void TrackSystemController::possibleChange_numberOfPointsOnCircles ( )
privateslot

◆ possibleChange_parTubeErrorsDrawCylinders

void TrackSystemController::possibleChange_parTubeErrorsDrawCylinders ( )
privateslot

◆ possibleChange_propagationOptions

void TrackSystemController::possibleChange_propagationOptions ( )
privateslot

◆ possibleChange_propagator

void TrackSystemController::possibleChange_propagator ( )
privateslot

◆ possibleChange_propMaxRadius

void TrackSystemController::possibleChange_propMaxRadius ( )
privateslot

◆ possibleChange_selectionMode

void TrackSystemController::possibleChange_selectionMode ( )
privateslot

◆ possibleChange_shownTrackParts

void TrackSystemController::possibleChange_shownTrackParts ( )
privateslot

◆ possibleChange_shownTSOSParts

void TrackSystemController::possibleChange_shownTSOSParts ( )
privateslot

◆ possibleChange_showTotMomentumOnMultiTrackSelection

void TrackSystemController::possibleChange_showTotMomentumOnMultiTrackSelection ( )
privateslot

◆ possibleChange_showTruthAscObjs

void TrackSystemController::possibleChange_showTruthAscObjs ( )
privateslot

◆ possibleChange_trackFitter

void TrackSystemController::possibleChange_trackFitter ( )
privateslot

◆ possibleChange_trackLabelPosOffset

void TrackSystemController::possibleChange_trackLabelPosOffset ( )
privateslot

◆ possibleChange_trackLabels

void TrackSystemController::possibleChange_trackLabels ( )
privateslot

◆ possibleChange_trackLabelTrkOffset

void TrackSystemController::possibleChange_trackLabelTrkOffset ( )
privateslot

◆ possibleChange_useShortMDTMeasurements

void TrackSystemController::possibleChange_useShortMDTMeasurements ( )
privateslot

◆ possibleChange_useShortTRTMeasurements

void TrackSystemController::possibleChange_useShortTRTMeasurements ( )
privateslot

◆ possibleChange_vertexProjectionAngle

void TrackSystemController::possibleChange_vertexProjectionAngle ( )
privateslot

◆ printInfoOnSingleSelection()

bool TrackSystemController::printInfoOnSingleSelection ( ) const

Definition at line 1969 of file TrackSystemController.cxx.

1970{
1971 return m_d->ui_int.checkBox_selsingle_printinfo->isChecked();
1972}

◆ printTotMomentumOnMultiTrackSelection()

bool TrackSystemController::printTotMomentumOnMultiTrackSelection ( ) const

Definition at line 1981 of file TrackSystemController.cxx.

1982{
1983 return m_d->ui_int.checkBox_sel_printtotmom->isChecked();
1984}

◆ printVerboseInfoOnSingleSelection()

bool TrackSystemController::printVerboseInfoOnSingleSelection ( ) const

Definition at line 1975 of file TrackSystemController.cxx.

1976{
1977 return printInfoOnSingleSelection() && m_d->ui_int.checkBox_selsingle_printinfo_verbose->isChecked();
1978}

◆ propagationOptions()

TrackSystemController::PropagationOptionFlags TrackSystemController::propagationOptions ( ) const

Definition at line 1646 of file TrackSystemController.cxx.

1646 {
1647 PropagationOptionFlags options=TrackSystemController::NoPropOptions;
1648 if (m_d->ui_extrap.checkBox_ignoreMEoT->isChecked()) options |= TrackSystemController::IgnoreMEOT;
1649 if (m_d->ui_extrap.checkBox_extendAllInDetTracks->isChecked()) options |= TrackSystemController::ExtendTrack;
1650 return options;
1651}

◆ propagationOptionsChanged

void TrackSystemController::propagationOptionsChanged ( TrackSystemController::PropagationOptionFlags )
signal

◆ propagator()

Trk::IExtrapolator * TrackSystemController::propagator ( ) const

Definition at line 1633 of file TrackSystemController.cxx.

1634{
1635 if (!m_d->toolaccesshelper
1636 ||!m_d->ui_extrap.radioButton_athenaExtrapolator->isChecked()
1637 ||m_d->ui_extrap.comboBox_propagator->count()==0)
1638 return nullptr;
1639
1640 QString key = m_d->ui_extrap.comboBox_propagator->currentText();
1641 if (key==Imp::noneAvailString)
1642 return nullptr;
1643 return key.isEmpty() ? nullptr : m_d->toolaccesshelper->getToolPointer<Trk::IExtrapolator>(key);
1644}

◆ propagatorChanged

void TrackSystemController::propagatorChanged ( Trk::IExtrapolator * )
signal

◆ propMaxRadius()

float TrackSystemController::propMaxRadius ( ) const

Definition at line 1653 of file TrackSystemController.cxx.

1653 {
1654 if (!m_d->ui_extrap.checkBox_maxRadius->isChecked()) return -1.0;
1655 return m_d->ui_extrap.spinBox_maxRadiusValue->value();
1656}

◆ propMaxRadiusChanged

void TrackSystemController::propMaxRadiusChanged ( float )
signal

◆ refit

void TrackSystemController::refit ( )
signal

◆ rerandomise

void TrackSystemController::rerandomise ( )
signal

◆ restoreSettings()

void VP1Controller::restoreSettings ( const QByteArray & ba)
inherited

Definition at line 387 of file VP1Controller.cxx.

388{
389 messageDebug("VP1Controller::restoreSettings()");
390
391 VP1Deserialise s(ba,systemBase());
393
394 //warn unrestored:
395 if (m_d->collWidget)
396 s.ignoreWidget(m_d->collWidget);
397 s.warnUnrestored(static_cast<QWidget*>(this));
398 for (Imp::DialogInfo* di : m_d->dialogs)
399 s.warnUnrestored(di->dialogWidget);
400
401 QTimer::singleShot(0, this, SLOT(testForChanges()));
402}
virtual void actualRestoreSettings(VP1Deserialise &)=0

◆ saveSettings()

QByteArray VP1Controller::saveSettings ( ) const
inherited

Definition at line 405 of file VP1Controller.cxx.

406{
407 messageDebug("VP1Controller::saveSettings()");
408
409 VP1Serialise s(currentSettingsVersion(),systemBase());
410
411 messageDebug("calling actualSaveSettings()...");
413
414 //Warn unsaved:
415 if (m_d->collWidget)
416 s.ignoreWidget(m_d->collWidget);
417
418 s.warnUnsaved(static_cast<const QWidget*>(this));
419 for (Imp::DialogInfo* di : m_d->dialogs)
420 s.warnUnsaved(di->dialogWidget);
421
422 return s.result();
423
424}
virtual void actualSaveSettings(VP1Serialise &) const =0
virtual int currentSettingsVersion() const =0

◆ selectionMode()

TrackCommonFlags::SELECTIONMODE TrackSystemController::selectionMode ( ) const

Definition at line 1703 of file TrackSystemController.cxx.

1704{
1705 if (m_d->ui_int.radioButton_selmode_single->isChecked())
1707 else if (m_d->ui_int.radioButton_selmode_multitracks->isChecked())
1709 else if (m_d->ui_int.radioButton_selmode_trackfits->isChecked())
1711 message("selectionMode ERROR: Inconsistency detected.");
1713}

◆ selectionModeChanged

void TrackSystemController::selectionModeChanged ( TrackCommonFlags::SELECTIONMODE )
signal

◆ setCommonData()

void TrackSystemController::setCommonData ( TrackSysCommonData * common)

set pointer to the common data

Definition at line 2059 of file TrackSystemController.cxx.

2059 {
2060 m_d->common=common;
2061}

◆ setCustomTourEditor()

void VP1Controller::setCustomTourEditor ( VP1CustomTourEditor * editor)
inlinestaticinherited

Definition at line 60 of file VP1Controller.h.

60{ m_customTourEditor=editor;}

◆ setHelperClassName()

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

Definition at line 59 of file VP1HelperClassBase.h.

59{ m_helpername = n; }

◆ setNumberOfSelectedPRDsAndTracks()

void TrackSystemController::setNumberOfSelectedPRDsAndTracks ( unsigned prds,
unsigned trks )

Definition at line 2018 of file TrackSystemController.cxx.

2019{
2020 if (m_d->numberOfSelectedPRDs==prds && m_d->numberOfSelectedTracks==trks)
2021 return;
2022 m_d->numberOfSelectedPRDs=prds;
2023 m_d->numberOfSelectedTracks=trks;
2024
2025 switch (fitterMode()) {
2026 case TrackCommonFlags::FROMPRDS: m_d->ui_int.pushButton_refit->setText("Fit track from "+str(prds)+" PRDs");break;
2027 case TrackCommonFlags::REFITSINGLETRACK: m_d->ui_int.pushButton_refit->setText("Fit track");break;
2028 case TrackCommonFlags::EXTENDTRACKWITHPRDS: m_d->ui_int.pushButton_refit->setText("Extend track with "+str(prds)+" PRDs");break;
2029 case TrackCommonFlags::COMBINETWOTRACKS: m_d->ui_int.pushButton_refit->setText("Combine");break;
2030 }
2031
2032
2033 // FIXME Need to redo this method so that it can handle all fitter modes
2034
2035 m_d->updateFitPRDButtonState();
2036}
TrackCommonFlags::FITTERMODE fitterMode() const

◆ 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

◆ setupCollWidgetInScrollArea()

void VP1Controller::setupCollWidgetInScrollArea ( QScrollArea * scrollarea,
VP1CollectionWidget * collWidget )
protectedinherited

Definition at line 255 of file VP1Controller.cxx.

256{
257 if (!scrollarea || !collWidget) {
258 message("ERROR: NULL scrollarea or collWidget");
259 return;
260 }
261 QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
262 sizePolicy.setHorizontalStretch(0);
263 sizePolicy.setVerticalStretch(scrollarea->sizePolicy().verticalStretch());
264 sizePolicy.setHeightForWidth(scrollarea->sizePolicy().hasHeightForWidth());
265 scrollarea->setSizePolicy(sizePolicy);
266
267 collWidget->setContentsMargins(0,0,0,0);
268 if (!collWidget->children().isEmpty()&&collWidget->children().at(0)->isWidgetType()) {
269 static_cast<QWidget*>(collWidget->children().at(0))->setContentsMargins(0,0,0,0);
270 }
271 scrollarea->setContentsMargins(0,0,0,0);
272
273 scrollarea->setWidgetResizable(true);
274 scrollarea->setFrameShape(QFrame::NoFrame);
275 scrollarea->setFrameShadow(QFrame::Plain);
276 collWidget->setParent(scrollarea);
277 scrollarea->setWidget(collWidget);
278 scrollarea->viewport()->setContentsMargins(0,0,0,0);
279 scrollarea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
280 collWidget->setObjectName(objectName()+"_CollWidget");
281 scrollarea->setObjectName(objectName()+"_CollWidgetScrollArea");
282 m_d->collWidget = collWidget;
283 connect(collWidget,SIGNAL(visibleContentsChanged()),this,SLOT(collWidgetContentChanged()));
284}
void collWidgetContentChanged()

◆ shownTrackParts()

TrackCommonFlags::TrackPartsFlags TrackSystemController::shownTrackParts ( ) const

Definition at line 1479 of file TrackSystemController.cxx.

1480{
1481 TrackCommonFlags::TrackPartsFlags parts = TrackCommonFlags::NoParts;
1482 // if (!m_d->ui_col.checkBox_hideactualpaths->isChecked()) parts |= TrackCommonFlags::ActualPath;
1483 parts |= TrackCommonFlags::ActualPath; // sensible default.
1484 if (m_d->ui_proj.checkBox_projections_indet->isChecked()) parts |= TrackCommonFlags::InDetProjections;
1485 if (m_d->ui_proj.groupBox_projections_vertex->isChecked()) parts |= TrackCommonFlags::VertexProjections;
1486 if (VP1JobConfigInfo::hasMuonGeometry()&&m_d->ui_proj.checkBox_projections_muonchambers->isChecked()) parts |= TrackCommonFlags::MuonProjections;
1487 return parts;
1488}

◆ shownTrackPartsChanged

void TrackSystemController::shownTrackPartsChanged ( TrackCommonFlags::TrackPartsFlags )
signal

◆ shownTSOSParts()

TrackCommonFlags::TSOSPartsFlags TrackSystemController::shownTSOSParts ( ) const

Definition at line 1505 of file TrackSystemController.cxx.

1506{
1507 TrackCommonFlags::TSOSPartsFlags f(TrackCommonFlags::TSOS_NoObjects);
1508 if (m_d->ui_ascobjs.groupBox_parameters->isChecked())
1510 if (m_d->ui_ascobjs.groupBox_errors->isChecked()&&m_d->ui_ascobjs.checkBox_parametererrors->isChecked()) {
1512 if (!m_d->ui_ascobjs.checkBox_parerror_hideperigeeerrors->isChecked())
1514 }
1515 if (m_d->ui_ascobjs.groupBox_errors->isChecked()&&m_d->ui_ascobjs.checkBox_measurementerrors->isChecked()) {
1517 }
1518 if (m_d->ui_ascobjs.groupBox_measurements->isChecked()) {
1521 }
1522 if (m_d->ui_ascobjs.groupBox_surfaces->isChecked()) {
1524 if (!m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces->isChecked())
1526 if (!m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces->isChecked())
1528 }
1529 if (m_d->ui_ascobjs.groupBox_materialeffectsontrack->isChecked()) {
1531 if (!m_d->ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE->isChecked())
1533 }
1534
1535 return f;
1536}
@ TSOS_TrackParsErrorsNotPerigee
bit 1
@ TSOS_TrackParsErrorsPerigee
bit 2
@ TSOS_MaterialEffectsWithNoDeltaE
bit 12

◆ shownTSOSPartsChanged

void TrackSystemController::shownTSOSPartsChanged ( TrackCommonFlags::TSOSPartsFlags )
signal

◆ showTotMomentumOnMultiTrackSelection()

bool TrackSystemController::showTotMomentumOnMultiTrackSelection ( ) const

Definition at line 1987 of file TrackSystemController.cxx.

1988{
1989 return m_d->ui_int.checkBox_sel_showtotmom->isChecked();
1990}

◆ showTotMomentumOnMultiTrackSelectionChanged

void TrackSystemController::showTotMomentumOnMultiTrackSelectionChanged ( bool )
signal

◆ showTruthAscObjs()

bool TrackSystemController::showTruthAscObjs ( ) const

Definition at line 1758 of file TrackSystemController.cxx.

1759{
1760 return m_d->ui_ascobjs.checkBox_truthtracks_display_points->isChecked();
1761}

◆ showTruthAscObjsChanged

void TrackSystemController::showTruthAscObjsChanged ( bool )
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

◆ 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; }

◆ testForChanges

void VP1Controller::testForChanges ( )
inlineprotectedslotinherited

Definition at line 112 of file VP1Controller.h.

◆ toggleDialogState

void VP1Controller::toggleDialogState ( QObject * widget = 0)
slotinherited

Definition at line 194 of file VP1Controller.cxx.

195{
196 Imp::DialogInfo * di(0);
197 for (Imp::DialogInfo* di2 : m_d->dialogs) {
198 if (di2->launchButton==sender() || (widget && di2->dialogWidget==widget)) {
199 di = di2;
200 break;
201 }
202 }
203
204 if (!di) {
205 message("ERROR: toggleDialogState() triggered with unrecognised sender() ="
206 +QString(sender()?sender()->objectName():"NULL"));
207 return;
208 }
209
210 bool oldvis = di->dialogWidget->isVisible();
211
212 if (oldvis&&di->dialogWidget->windowState()==Qt::WindowMinimized) {
213 di->dialogWidget->setWindowState(Qt::WindowNoState);
214 } else {
215 di->dialogWidget->setVisible(!oldvis);
216 if (!oldvis && di->neverShown) {
217 di->neverShown = false;
218 //do stuff
219 // QSize size(955, 717);
220 // size = size.expandedTo(VP1MainWindow->minimumSizeHint());
221 // di->dialogWidget->resize(di->dialogWidget->minimumSizeHint());
222 }
223 }
224
225 //synchronise toggle button state (for example if this was called by CloseEventEater)
226 if (di->launchButton->isCheckable() && oldvis){
227 di->launchButton->setChecked(false);
228 }
229}

◆ toString() [1/8]

QString TrackSystemController::toString ( const QList< int > & par)
staticprivate

Definition at line 184 of file TrackSystemController.cxx.

185{
186 QString s;
187 for(int i : l) {
188 if (!s.isEmpty()) s+=", ";
189 s+=QString::number(i);
190 }
191 return "["+s+"]";
192}

◆ toString() [2/8]

QString TrackSystemController::toString ( const QList< unsigned > & par)
staticprivate

Definition at line 173 of file TrackSystemController.cxx.

174{
175 QString s;
176 for(unsigned i : l) {
177 if (!s.isEmpty()) s+=", ";
178 s+=QString::number(i);
179 }
180 return "["+s+"]";
181}

◆ toString() [3/8]

template<class T>
QString TrackSystemController::toString ( const T & t)
inlinestaticprivate

Definition at line 228 of file TrackSystemController.h.

228{ return VP1Controller::toString(t); }//unhide base methods
static QString toString(const T &par)

◆ toString() [4/8]

QString TrackSystemController::toString ( const TrackCommonFlags::DETAILLEVEL & par)
inlinestaticprivate

Definition at line 230 of file TrackSystemController.h.

230{ return TrackCommonFlags::toString(par); }
static QString toString(const SELECTIONMODE &)

◆ toString() [5/8]

QString TrackSystemController::toString ( const TrackCommonFlags::SELECTIONMODE & par)
inlinestaticprivate

Definition at line 229 of file TrackSystemController.h.

229{ return TrackCommonFlags::toString(par); }

◆ toString() [6/8]

QString VP1Controller::toString ( const bool & par)
staticprotectedinherited

Definition at line 100 of file VP1Controller.cxx.

101{
102 return par?"On":"Off";
103}

◆ toString() [7/8]

QString VP1Controller::toString ( const QList< VP1Interval > & l)
staticprotectedinherited

Definition at line 106 of file VP1Controller.cxx.

107{
108 QString s;
109 for(int i=0;i<l.count();++i)
110 s+= l.at(i).toString()+(i==l.count()-1?"":", ");
111 return s;
112}

◆ toString() [8/8]

QString VP1Controller::toString ( SbColor4f p)
staticprotectedinherited

Definition at line 115 of file VP1Controller.cxx.

116{
117 float r, g, b, a;
118 p.getValue(r, g, b, a);
119 return "("+str(r)+", "+str(g)+", "+str(b)+", "+str(1-a)+")";
120}
static Double_t a
int r
Definition globals.cxx:22

◆ trackFitter()

Trk::ITrackFitter * TrackSystemController::trackFitter ( ) const

Definition at line 1668 of file TrackSystemController.cxx.

1669{
1670 if (!m_d->toolaccesshelper
1671 ||m_d->ui_int.comboBox_fitters->count()==0)
1672 return nullptr;
1673
1674 QString key = m_d->ui_int.comboBox_fitters->currentText();
1675 if (key==Imp::noneAvailString)
1676 return nullptr;
1677 return key.isEmpty() ? nullptr : m_d->toolaccesshelper->getToolPointer<Trk::ITrackFitter>(key);
1678}

◆ trackFitterChanged

void TrackSystemController::trackFitterChanged ( Trk::ITrackFitter * )
signal

◆ trackLabelPosOffset()

QList< int > TrackSystemController::trackLabelPosOffset ( )

Offset in x,y,z.

Definition at line 2191 of file TrackSystemController.cxx.

2192{
2193 QList<int> values;
2194 values << m_d->ui_col.horizontalSlider_labels_xOffset->value();
2195 values << m_d->ui_col.horizontalSlider_labels_yOffset->value();
2196 values << m_d->ui_col.horizontalSlider_labels_zOffset->value();
2197 return values;
2198}

◆ trackLabelPosOffsetChanged

void TrackSystemController::trackLabelPosOffsetChanged ( QList< int > )
signal

◆ trackLabels()

TrackSystemController::TrackLabelModes TrackSystemController::trackLabels ( )

Definition at line 2215 of file TrackSystemController.cxx.

2215 {
2216 if (!m_d->ui_col.groupBox_labels->isChecked())
2218
2220 if (m_d->ui_col.checkBox_trkLabels_p->isChecked()) labels |= TrackSystemController::P;
2221 if (m_d->ui_col.checkBox_trkLabels_Pt->isChecked()) labels |= TrackSystemController::Pt;
2222 if (m_d->ui_col.checkBox_trkLabels_direction->isChecked()) labels |= TrackSystemController::Direction;
2223 if (m_d->ui_col.checkBox_trkLabels_pid->isChecked()) labels |= TrackSystemController::Pid;
2224 if (m_d->ui_col.checkBox_trkLabels_hits->isChecked()) labels |= TrackSystemController::Hits;
2225 if (m_d->ui_col.checkBox_trkLabels_fitQuality->isChecked()) labels |= TrackSystemController::FitQuality;
2226 return labels;
2227}

◆ trackLabelsChanged

void TrackSystemController::trackLabelsChanged ( TrackSystemController::TrackLabelModes )
signal

◆ trackLabelTrkOffset()

float TrackSystemController::trackLabelTrkOffset ( )

Percentage of postion along track.

Definition at line 2186 of file TrackSystemController.cxx.

2187{
2188 return static_cast<float>(m_d->ui_col.horizontalSlider_labels_trkOffset->value())/static_cast<float>(m_d->ui_col.horizontalSlider_labels_trkOffset->maximum());
2189}

◆ trackLabelTrkOffsetChanged

void TrackSystemController::trackLabelTrkOffsetChanged ( float )
signal

◆ trackObjBrowser()

QTreeWidget * TrackSystemController::trackObjBrowser ( ) const

Returns a pointer to the Track Object Browser (if it exists)

Definition at line 2051 of file TrackSystemController.cxx.

2052{
2053 return m_d->objBrowserWidget;
2054}

◆ updateAscObjComplexity

void TrackSystemController::updateAscObjComplexity ( )
privateslot

Definition at line 1436 of file TrackSystemController.cxx.

1437{
1438 //choose complexity in interval [0.01,1.0]
1439 const double val = std::min<double>(1.0,std::max<double>(0.0,0.01+0.991*
1440 (m_d->ui_ascobjs.horizontalSlider_complexity->value()
1441 -m_d->ui_ascobjs.horizontalSlider_complexity->minimum())/
1442 (m_d->ui_ascobjs.horizontalSlider_complexity->maximum()*1.0)));
1443 if (m_d->ascObjComplexity->value.getValue()!=val)
1444 m_d->ascObjComplexity->value.setValue(val);
1445}

◆ updateAscObjDrawStyle

void TrackSystemController::updateAscObjDrawStyle ( )
privateslot

Definition at line 1424 of file TrackSystemController.cxx.

1425{
1426 double val_lw = VP1QtInventorUtils::getValueLineWidthSlider(m_d->ui_ascobjs.horizontalSlider_linewidths);
1427 double val_ps = VP1QtInventorUtils::getValuePointSizeSlider(m_d->ui_ascobjs.horizontalSlider_pointsizes);
1428 if (m_d->ascObjDrawStyle->lineWidth.getValue()!=val_lw)
1429 m_d->ascObjDrawStyle->lineWidth = val_lw;
1430 if (m_d->ascObjDrawStyle->pointSize.getValue()!=val_ps)
1431 m_d->ascObjDrawStyle->pointSize = val_ps;
1432}
static double getValueLineWidthSlider(const QSlider *)
static double getValuePointSizeSlider(const QSlider *)

◆ updateFitPRDButtonState

void TrackSystemController::updateFitPRDButtonState ( )
privateslot

Definition at line 2038 of file TrackSystemController.cxx.

2038 {
2039 messageVerbose("updateFitPRDButtonState");
2040
2041 switch (fitterMode()) {
2042 case TrackCommonFlags::FROMPRDS: m_d->ui_int.pushButton_refit->setText("Fit track from "+str(m_d->numberOfSelectedPRDs)+" PRDs");break;
2043 case TrackCommonFlags::REFITSINGLETRACK: m_d->ui_int.pushButton_refit->setText("Fit track");break;
2044 case TrackCommonFlags::EXTENDTRACKWITHPRDS: m_d->ui_int.pushButton_refit->setText("Extend track with "+str(m_d->numberOfSelectedPRDs)+" PRDs");break;
2045 case TrackCommonFlags::COMBINETWOTRACKS: m_d->ui_int.pushButton_refit->setText("Combine");break;
2046 }
2047
2048 m_d->updateFitPRDButtonState();
2049}

◆ useShortMDTMeasurements()

bool TrackSystemController::useShortMDTMeasurements ( ) const

Definition at line 1567 of file TrackSystemController.cxx.

1568{
1569 return m_d->ui_ascobjs.checkBox_measurements_shorttubes_mdt->isChecked();
1570}

◆ useShortMDTMeasurementsChanged

void TrackSystemController::useShortMDTMeasurementsChanged ( bool )
signal

◆ useShortTRTMeasurements()

bool TrackSystemController::useShortTRTMeasurements ( ) const

Definition at line 1561 of file TrackSystemController.cxx.

1562{
1563 return m_d->ui_ascobjs.checkBox_measurements_shorttubes_trt->isChecked();
1564}

◆ useShortTRTMeasurementsChanged

void TrackSystemController::useShortTRTMeasurementsChanged ( bool )
signal

◆ 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

◆ vertexCutsAllowed()

void TrackSystemController::vertexCutsAllowed ( bool b)

Definition at line 1774 of file TrackSystemController.cxx.

1774 {
1775 if (m_d->ui_cuts.checkBox_vertexAssociated->isEnabled()!=b) {
1776 m_d->ui_cuts.checkBox_vertexAssociated->setEnabled(b);
1777 emit cutOnlyVertexAssocTracksChanged(m_d->ui_cuts.checkBox_vertexAssociated->isChecked());
1778 }
1779}
void cutOnlyVertexAssocTracksChanged(bool)

◆ vertexProjectionAngle()

int TrackSystemController::vertexProjectionAngle ( ) const

Definition at line 1490 of file TrackSystemController.cxx.

1490 {
1491 messageVerbose("angleForVertexPlane"+str(m_d->ui_proj.spinBox_projections_vertex->value()));
1492
1493 if (!m_d->ui_proj.groupBox_projections_vertex->isChecked()) return -1;
1494 return m_d->ui_proj.spinBox_projections_vertex->value();
1495}

◆ vertexProjectionAngleChanged

void TrackSystemController::vertexProjectionAngleChanged ( int )
signal

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

VP1CustomTourEditor * VP1Controller::m_customTourEditor =0
staticprivateinherited

Definition at line 125 of file VP1Controller.h.

◆ m_d

Imp* TrackSystemController::m_d
private

Definition at line 225 of file TrackSystemController.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_initVarsMode

bool VP1Controller::m_initVarsMode
privateinherited

Definition at line 129 of file VP1Controller.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: