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 (std::unique_ptr< 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 50 of file TrackSystemController.h.

Member Enumeration Documentation

◆ PropagationOptionFlag

Enumerator
NoPropOptions 
IgnoreMEOT 
ExtendTrack 

Definition at line 80 of file TrackSystemController.h.

◆ TrackLabelMode

Constructor & Destructor Documentation

◆ TrackSystemController()

TrackSystemController::TrackSystemController ( IVP1System * sys)

Definition at line 265 of file TrackSystemController.cxx.

266 : VP1Controller(sys,"TrackSystemController"), m_d(new Imp)
267{
268 m_d->theclass = this;
269 m_d->lastUpdatedAvailableExtrapolators = QStringList("<dummy>");//special.
270 m_d->lastUpdatedAvailableFitters = QStringList("<dummy>");//special.
271
272 //Stuff with tools waits until ::initTools() is called:
273 m_d->toolaccesshelper = nullptr;
274 m_d->toolhelper_extrapolators = nullptr;
275 m_d->toolhelper_fitters = nullptr;
276 m_d->matmixer = nullptr;
277
278 m_d->ui.setupUi(this);
279 m_d->trackcollwidget = new TrackCollWidget;
280 setupCollWidgetInScrollArea(m_d->ui.collWidgetScrollArea,m_d->trackcollwidget);
281
282 initDialog(m_d->ui_col, m_d->ui.pushButton_settings_colouring);
283 initDialog(m_d->ui_extrap, m_d->ui.pushButton_settings_extrapolation);
284 initDialog(m_d->ui_int, m_d->ui.pushButton_settings_interactions);
285 initDialog(m_d->ui_proj, m_d->ui.pushButton_settings_projections);
286 initDialog(m_d->ui_cuts, m_d->ui.pushButton_settings_cuts);
287 initDialog(m_d->ui_ascobjs, m_d->ui.pushButton_settings_details);
288 initDialog(m_d->ui_objBrowser, m_d->ui.pushButton_ObjectBrowser);
289
290 //init:
291 m_d->numberOfSelectedPRDs=1;//anything != 0
293
294 m_d->initMaterials();
295
296 m_d->materialFallback = new SoMaterial;
297 m_d->materialFallback->ref();
298
299 m_d->ui_cuts.etaPhiCutWidget->setSystemBasePointer(systemBase());
300
301 //Draw Styles / Complexity:
302 m_d->ascObjDrawStyle = new SoDrawStyle;
303 m_d->ascObjDrawStyle->setName("AscObjDrawStyle");
304 m_d->ascObjDrawStyle->ref();
306 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_linewidths);
307 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_pointsizes);
308
309 m_d->ascObjComplexity = new SoComplexity;
310 m_d->ascObjComplexity->setName("AscObjComplexity");
311 m_d->ascObjComplexity->ref();
313 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_complexity);
314
315 //Refit ui is dependent on env variable:
316 m_d->ui_int.radioButton_selmode_trackfits->setVisible(VP1QtUtils::environmentVariableIsOn("VP1_DEVEL_ENABLEREFIT"));
317 m_d->ui_int.groupBox_refitting->setEnabled(VP1QtUtils::environmentVariableIsOn("VP1_DEVEL_ENABLEREFIT"));
318 connect(m_d->ui_int.comboBox_fitterMode,SIGNAL(currentIndexChanged(int)),this,SLOT(updateFitPRDButtonState()));
319
320
321 //Disable elements based on job configuration:
322
324 m_d->ui_proj.checkBox_projections_muonchambers->setChecked(false);
325 m_d->ui_proj.checkBox_projections_muonchambers->setEnabled(false);
326 }
330 m_d->ui_proj.checkBox_projections_indet->setChecked(false);
331 m_d->ui_proj.checkBox_projections_indet->setEnabled(false);
332 }
333
334 //These we init explicitly since we might otherwise trigger a change
335 //before initlastvars (fixme: is this true and the right fix??)
336 m_d->last_propagator = nullptr;
337 m_d->last_trackFitter = nullptr;
338
340 // Setup connections which monitor changes in the controller so that we may emit signals as appropriate: //
342
343 // -> shownTrackParts
345 // connectToLastUpdateSlot(m_d->ui_col.checkBox_hideactualpaths);
346 connectToLastUpdateSlot(m_d->ui_proj.checkBox_projections_muonchambers);
347 connectToLastUpdateSlot(m_d->ui_proj.checkBox_projections_indet);
348 connectToLastUpdateSlot(m_d->ui_proj.groupBox_projections_vertex);
349
351 connectToLastUpdateSlot(m_d->ui_proj.spinBox_projections_vertex);
352
353
354 // // -> trackTubeRadius
355 // addUpdateSlot(SLOT(possibleChange_trackTubeRadius()));
356 // connectToLastUpdateSlot(m_d->ui_col.checkBox_trackTubes);
357 // connectToLastUpdateSlot(m_d->ui_col.doubleSpinBox_trackTubesRadiusMM);
358
359 // -> track labels
361 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_Pt);
362 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_p);
363 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_direction);
364 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_hits);
365 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_pid);
366 connectToLastUpdateSlot(m_d->ui_col.checkBox_trkLabels_fitQuality);
367 connectToLastUpdateSlot(m_d->ui_col.groupBox_labels);
368
370 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_trkOffset);
371
373 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_xOffset);
374 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_yOffset);
375 connectToLastUpdateSlot(m_d->ui_col.horizontalSlider_labels_zOffset);
376
377
378 // -> shownTSOSParts
380 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_measurements);
381 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_parameters);
382 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_errors);
383 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_parametererrors);
384 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurementerrors);
385 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_parerror_hideperigeeerrors);
386 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_materialeffectsontrack);
387 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE);
388 connectToLastUpdateSlot(m_d->ui_ascobjs.groupBox_surfaces);
389 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces);
390 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces);
391
393 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurements_drawGP);
394
395 // -> customColouredTSOSParts
397
398 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_measurements);
399 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_meas_outliers);
400 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_parameters);
401 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_useHoleColour_parameters);
402 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_parametererrors);
403 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_materialeffectsontrack);
404 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_usecolour_surfaces);
405
406 // -> useShortTRTMeasurements
408 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurements_shorttubes_trt);
409
410 // -> useShortMDTMeasurements
412 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_measurements_shorttubes_mdt);
413
414 // -> useShortMDTMeasurements
416 connectToLastUpdateSlot(m_d->ui_ascobjs.doubleSpinBox_measurements_shorttubes_scale);
417
418 // -> nStdDevForParamErrors
420 connectToLastUpdateSlot(m_d->ui_ascobjs.doubleSpinBox_parerror_stddev);
421
422 // -> parTubeErrorsDrawCylinders
424 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_parerror_drawcylinder);
425
426 // -> numberOfPointsOnCircles
428 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_complexity);
429
430 // -> materialEffectsOnTrackScale
432 connectToLastUpdateSlot(m_d->ui_ascobjs.horizontalSlider_materialeffectsontrack_scale);
433
434 // -> selectionMode
436 connectToLastUpdateSlot(m_d->ui_int.radioButton_selmode_single);
437 connectToLastUpdateSlot(m_d->ui_int.radioButton_selmode_multitracks);
438 connectToLastUpdateSlot(m_d->ui_int.radioButton_selmode_trackfits);
439
440 // -> showTruthAscObjs
442 connectToLastUpdateSlot(m_d->ui_ascobjs.checkBox_truthtracks_display_points);
443
444 // -> assocObjDetailLevel
446 connectToLastUpdateSlot(m_d->ui_ascobjs.comboBox_assocobj_detaillevel);
447
448 // -> cutAllowedP/Pt
450 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_minpt);
451 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_maxpt);
452 connectToLastUpdateSlot(m_d->ui_cuts.doubleSpinBox_cut_minpt_gev);
453 connectToLastUpdateSlot(m_d->ui_cuts.doubleSpinBox_cut_maxpt_gev);
454 connectToLastUpdateSlot(m_d->ui_cuts.comboBox_momtype);
455
456 // -> cutAllowedEta
458 connectToLastUpdateSlot(m_d->ui_cuts.etaPhiCutWidget,SIGNAL(allowedEtaChanged(const VP1Interval&)));
459
460 // -> cutAllowedPhi
462 connectToLastUpdateSlot(m_d->ui_cuts.etaPhiCutWidget,SIGNAL(allowedPhiChanged(const QList<VP1Interval>&)));
463
464 // -> cutRequiredNHits();
466 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_pixel);
467 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_sct);
468 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_trt);
469 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nhits_muon);
470 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_nprecisionhits_muon);
471 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_pixel);
472 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_sct);
473 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_trt);
474 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nhits_muon);
475 connectToLastUpdateSlot(m_d->ui_cuts.spinBox_cut_nprecisionhits_muon);
476
477// Required detector element
478 connect(m_d->ui_cuts.checkBox_requireDetectorElement,SIGNAL(toggled(bool)),this,SLOT(possibleChange_cutRequiredDetectorElement()));
479 connect(m_d->ui_cuts.lineEdit_detectorElementId,SIGNAL(textChanged(QString)),this,SLOT(possibleChange_cutRequiredDetectorElement()));
480
481 // -> cutTruthFromIROnly
483 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_truthtracks_creationvertexinIR);
484
485 // -> cutExcludeBarcodeZero
487 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_truthtracks_excludebarcode0);
488
489 // -> cutTruthExcludeNeutrals
491 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_cut_truthtracks_excludeneutrals);
492
493 // -> cutOnlyVertexAssocTracks
495 connectToLastUpdateSlot(m_d->ui_cuts.checkBox_vertexAssociated);
496
497 // -> showTotMomentumOnMultiTrackSelection
499 connectToLastUpdateSlot(m_d->ui_int.checkBox_sel_showtotmom);
500
501 // Special: -> rerandomise
502 connect(m_d->ui_col.pushButton_colourbyrandom_rerandomise,SIGNAL(clicked()),this,SLOT(emitRerandomise()));
503
504 // Special: -> refit
505 connect(m_d->ui_int.pushButton_refit,SIGNAL(clicked()),this,SLOT(emitRefit()));
506
507 // TrackObjBrowser
508 messageVerbose("Enabling object browser");
509 m_d->objBrowserWidget = m_d->ui_objBrowser.treeWidget;
510 m_d->objBrowserWidget->setSortingEnabled(false);
511 QStringList l;
512 l<<"Object"<<"Information";
513 m_d->objBrowserWidget->setHeaderLabels(l);
514 connect(m_d->objBrowserWidget,SIGNAL(itemClicked(QTreeWidgetItem *, int)),this,SLOT(objectBrowserClicked(QTreeWidgetItem *, int)));
515
516 // Special alignment tests
517 if (VP1QtUtils::environmentVariableIsOn("VP1_TRKSYS_SHIFTCHAMBERS")) {
518 messageVerbose("Enabling shifting of Muon Chambers");
519 QWidget *widget = new QWidget;
520 m_d->ui_shiftmuonchambers.setupUi(widget);
521 messageVerbose("Making connection");
522 widget->show();
523 connect(m_d->ui_shiftmuonchambers.pushButton_Update,SIGNAL(clicked()),sys,SLOT(updateAlignment()));
524 }
525
526 // we want "Print information" on single track selection turned ON by default
527 m_d->ui_int.checkBox_selsingle_printinfo->setChecked(true);
528
529 // Since TrkVolumesSvc isn't working anymore, hardcode values. (Remove when we move to new extrapolator)
530 m_d->calorimeterEntryLayer = new Trk::Volume(nullptr, std::make_shared<Trk::CylinderVolumeBounds>(1100.0, 3200.0));
531 m_d->muonSpectrometerEntryLayer = new Trk::Volume(nullptr, std::make_shared<Trk::CylinderVolumeBounds>(4250.0, 6779.0));
532 m_d->muonSpectrometerExitLayer = new Trk::Volume(nullptr, std::make_shared<Trk::CylinderVolumeBounds>(15000.0, 21000.0)); // FIXME! Put in correct values. EJWM
533 initLastVars();
534}
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 661 of file TrackSystemController.cxx.

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

Member Function Documentation

◆ actualRestoreSettings()

void TrackSystemController::actualRestoreSettings ( VP1Deserialise & s)
virtual

Implements VP1Controller.

Definition at line 932 of file TrackSystemController.cxx.

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

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

◆ addUpdateSlot()

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

Definition at line 320 of file VP1Controller.cxx.

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

◆ alignmentShiftLevel()

int TrackSystemController::alignmentShiftLevel ( )

Definition at line 2175 of file TrackSystemController.cxx.

2176{
2177 if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 0")
2178 return 0;
2179 else if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 1")
2180 return 1;
2181 else if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 2")
2182 return 2;
2183 else if (m_d->ui_shiftmuonchambers.comboBox_level->currentText()=="Level 3")
2184 return 3;
2185 return 0;
2186}

◆ alignmentShiftValue()

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

Definition at line 2164 of file TrackSystemController.cxx.

2165{
2166 std::vector<double> values(6,0.0);
2167 values[0]=m_d->ui_shiftmuonchambers.doubleSpinBox_tra_s->value();
2168 values[1]=m_d->ui_shiftmuonchambers.doubleSpinBox_tra_z->value();
2169 values[2]=m_d->ui_shiftmuonchambers.doubleSpinBox_tra_t->value();
2170 values[3]=m_d->ui_shiftmuonchambers.doubleSpinBox_rot_s->value();
2171 values[4]=m_d->ui_shiftmuonchambers.doubleSpinBox_rot_z->value();
2172 values[5]=m_d->ui_shiftmuonchambers.doubleSpinBox_rot_t->value();
2173 return values;
2174}

◆ ascObjComplexity()

SoComplexity * TrackSystemController::ascObjComplexity ( ) const

Definition at line 1468 of file TrackSystemController.cxx.

1469{
1470 return m_d->ascObjComplexity;
1471}

◆ ascObjDrawStyle()

SoDrawStyle * TrackSystemController::ascObjDrawStyle ( ) const

Definition at line 1462 of file TrackSystemController.cxx.

1463{
1464 return m_d->ascObjDrawStyle;
1465}

◆ assocObjDetailLevel()

TrackCommonFlags::DETAILLEVEL TrackSystemController::assocObjDetailLevel ( ) const

Definition at line 1768 of file TrackSystemController.cxx.

1769{
1770 if (m_d->ui_ascobjs.comboBox_assocobj_detaillevel->currentText()=="Auto")
1772 else if (m_d->ui_ascobjs.comboBox_assocobj_detaillevel->currentText()=="Simple")
1774 else
1776}

◆ assocObjDetailLevelChanged

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

◆ availableExtrapolatorsChanged

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

Definition at line 1945 of file TrackSystemController.cxx.

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

◆ availableFittersChanged

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

Definition at line 1933 of file TrackSystemController.cxx.

1934{
1935 if (m_d->lastUpdatedAvailableFitters==af)
1936 return;
1937 m_d->lastUpdatedAvailableFitters=af;
1938 m_d->updateComboBoxContents(m_d->ui_int.comboBox_fitters,af,m_d->restoredLastFitter);//remember return val.
1939 m_d->updateFitPRDButtonState();
1940
1942}
void possibleChange_trackFitter()

◆ changed()

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

Definition at line 152 of file VP1Controller.h.

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

◆ collWidget()

TrackCollWidget * TrackSystemController::collWidget ( ) const

Definition at line 1268 of file TrackSystemController.cxx.

1269{
1270 return m_d->trackcollwidget;
1271}

◆ collWidgetContentChanged

void VP1Controller::collWidgetContentChanged ( )
slotinherited

Definition at line 234 of file VP1Controller.cxx.

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

◆ common()

TrackSysCommonData * TrackSystemController::common ( ) const

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

Definition at line 2063 of file TrackSystemController.cxx.

2063 {
2064 return m_d->common;
2065}

◆ connectToLastUpdateSlot() [1/10]

void VP1Controller::connectToLastUpdateSlot ( QButtonGroup * bg)
protectedinherited

Definition at line 371 of file VP1Controller.cxx.

372{
373 connectToLastUpdateSlot(bg,SIGNAL(buttonClicked(int)));
374}

◆ connectToLastUpdateSlot() [2/10]

void VP1Controller::connectToLastUpdateSlot ( QCheckBox * cb)
protectedinherited

Definition at line 335 of file VP1Controller.cxx.

336{
337 connectToLastUpdateSlot(cb,SIGNAL(toggled(bool)));
338}

◆ connectToLastUpdateSlot() [3/10]

void VP1Controller::connectToLastUpdateSlot ( QComboBox * cb)
protectedinherited

Definition at line 341 of file VP1Controller.cxx.

342{
343 connectToLastUpdateSlot(cb,SIGNAL(currentIndexChanged(int)));
344}

◆ connectToLastUpdateSlot() [4/10]

void VP1Controller::connectToLastUpdateSlot ( QDoubleSpinBox * dsb)
protectedinherited

Definition at line 359 of file VP1Controller.cxx.

360{
361 connectToLastUpdateSlot(dsb,SIGNAL(valueChanged(double)));
362}

◆ connectToLastUpdateSlot() [5/10]

void VP1Controller::connectToLastUpdateSlot ( QGroupBox * gb)
protectedinherited

Definition at line 347 of file VP1Controller.cxx.

348{
349 connectToLastUpdateSlot(gb,SIGNAL(toggled(bool)));
350}

◆ connectToLastUpdateSlot() [6/10]

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

Definition at line 329 of file VP1Controller.cxx.

330{
331 connect(sender,signal,this,m_d->lastUpdateSlot);
332}

◆ connectToLastUpdateSlot() [7/10]

void VP1Controller::connectToLastUpdateSlot ( QRadioButton * rb)
protectedinherited

Definition at line 365 of file VP1Controller.cxx.

366{
367 connectToLastUpdateSlot(rb,SIGNAL(toggled(bool)));
368}

◆ connectToLastUpdateSlot() [8/10]

void VP1Controller::connectToLastUpdateSlot ( QSlider * s)
protectedinherited

Definition at line 377 of file VP1Controller.cxx.

378{
379 connectToLastUpdateSlot(s,SIGNAL(valueChanged(int)));
380}

◆ connectToLastUpdateSlot() [9/10]

void VP1Controller::connectToLastUpdateSlot ( QSpinBox * sb)
protectedinherited

Definition at line 353 of file VP1Controller.cxx.

354{
355 connectToLastUpdateSlot(sb,SIGNAL(valueChanged(int)));
356}

◆ connectToLastUpdateSlot() [10/10]

void VP1Controller::connectToLastUpdateSlot ( VP1ColorSelectButton * csb)
protectedinherited

Definition at line 383 of file VP1Controller.cxx.

384{
385 connectToLastUpdateSlot(csb,SIGNAL(colorChanged(const QColor&)));
386}

◆ currentSettingsVersion()

int TrackSystemController::currentSettingsVersion ( ) const
virtual

Implements VP1Controller.

Definition at line 682 of file TrackSystemController.cxx.

683{
684 return 17;
685}

◆ customColouredTSOSParts()

TrackCommonFlags::TSOSPartsFlags TrackSystemController::customColouredTSOSParts ( ) const

Definition at line 1541 of file TrackSystemController.cxx.

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

◆ customColouredTSOSPartsChanged

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

◆ customMatHoleParameters()

SoMaterial * TrackSystemController::customMatHoleParameters ( ) const

Definition at line 1381 of file TrackSystemController.cxx.

1382{
1383 return m_d->getMat(m_d->ui_ascobjs.matButton_holeParameters);
1384}

◆ customMatMaterialEffects()

SoMaterial * TrackSystemController::customMatMaterialEffects ( ) const

Definition at line 1393 of file TrackSystemController.cxx.

1394{
1395 return m_d->getMat(m_d->ui_ascobjs.matButton_materialeffectsontrack);
1396}

◆ customMatMeasurements()

SoMaterial * TrackSystemController::customMatMeasurements ( ) const

Definition at line 1363 of file TrackSystemController.cxx.

1364{
1365 return m_d->getMat(m_d->ui_ascobjs.matButton_measurements);
1366}

◆ customMatMeasurementsOutliers()

SoMaterial * TrackSystemController::customMatMeasurementsOutliers ( ) const

Definition at line 1369 of file TrackSystemController.cxx.

1370{
1371 return m_d->getMat(m_d->ui_ascobjs.matButton_meas_outliers);
1372}

◆ customMatParameterErrors()

SoMaterial * TrackSystemController::customMatParameterErrors ( ) const

Definition at line 1387 of file TrackSystemController.cxx.

1388{
1389 return m_d->getMat(m_d->ui_ascobjs.matButton_parerrors);
1390}

◆ customMatParameters()

SoMaterial * TrackSystemController::customMatParameters ( ) const

Definition at line 1375 of file TrackSystemController.cxx.

1376{
1377 return m_d->getMat(m_d->ui_ascobjs.matButton_parameters);
1378}

◆ customMatSurfaces()

SoMaterial * TrackSystemController::customMatSurfaces ( ) const

Definition at line 1399 of file TrackSystemController.cxx.

1400{
1401 return m_d->getMat(m_d->ui_ascobjs.matButton_surfaces);
1402}

◆ customTourEditor()

VP1CustomTourEditor * VP1Controller::customTourEditor ( )
inlinestaticinherited

Definition at line 62 of file VP1Controller.h.

62{return m_customTourEditor;}
static VP1CustomTourEditor * m_customTourEditor

◆ cutAllowedEta()

VP1Interval TrackSystemController::cutAllowedEta ( ) const

Definition at line 1826 of file TrackSystemController.cxx.

1827{
1828 return m_d->ui_cuts.etaPhiCutWidget->allowedEta();
1829}

◆ cutAllowedEtaChanged

void TrackSystemController::cutAllowedEtaChanged ( const VP1Interval & )
signal

◆ cutAllowedPhi()

QList< VP1Interval > TrackSystemController::cutAllowedPhi ( ) const

Definition at line 1832 of file TrackSystemController.cxx.

1833{
1834 return m_d->ui_cuts.etaPhiCutWidget->allowedPhi();
1835}

◆ cutAllowedPhiChanged

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

◆ cutAllowedPt()

VP1Interval TrackSystemController::cutAllowedPt ( ) const

Definition at line 1792 of file TrackSystemController.cxx.

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

1867{
1868 return m_d->ui_cuts.checkBox_cut_truthtracks_excludebarcode0->isChecked();
1869}

◆ cutExcludeBarcodeZeroChanged

void TrackSystemController::cutExcludeBarcodeZeroChanged ( bool )
signal

◆ cutOnlyVertexAssocTracks()

bool TrackSystemController::cutOnlyVertexAssocTracks ( ) const

Definition at line 1785 of file TrackSystemController.cxx.

1785 {
1786 if (!m_d->ui_cuts.checkBox_vertexAssociated->isEnabled()) return false;
1787 return m_d->ui_cuts.checkBox_vertexAssociated->isChecked();
1788}

◆ cutOnlyVertexAssocTracksChanged

void TrackSystemController::cutOnlyVertexAssocTracksChanged ( bool )
signal

◆ cutRequiredDetectorElement()

QString TrackSystemController::cutRequiredDetectorElement ( ) const

Definition at line 1853 of file TrackSystemController.cxx.

1853 {
1854 QString tmp = m_d->ui_cuts.checkBox_requireDetectorElement->isChecked() ? m_d->ui_cuts.lineEdit_detectorElementId->text(): QString();
1855 return tmp;
1856}

◆ cutRequiredDetectorElementChanged

void TrackSystemController::cutRequiredDetectorElementChanged ( const QString & )
signal

◆ cutRequiredNHits()

QList< unsigned > TrackSystemController::cutRequiredNHits ( ) const

Definition at line 1838 of file TrackSystemController.cxx.

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

◆ cutRequiredNHitsChanged

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

◆ cutTruthExcludeNeutrals()

bool TrackSystemController::cutTruthExcludeNeutrals ( ) const

Definition at line 1872 of file TrackSystemController.cxx.

1873{
1874 return m_d->ui_cuts.checkBox_cut_truthtracks_excludeneutrals->isChecked();
1875}

◆ cutTruthExcludeNeutralsChanged

void TrackSystemController::cutTruthExcludeNeutralsChanged ( bool )
signal

◆ cutTruthFromIROnly()

bool TrackSystemController::cutTruthFromIROnly ( ) const

Definition at line 1860 of file TrackSystemController.cxx.

1861{
1862 return m_d->ui_cuts.checkBox_cut_truthtracks_creationvertexinIR->isChecked();
1863}

◆ cutTruthFromIROnlyChanged

void TrackSystemController::cutTruthFromIROnlyChanged ( bool )
signal

◆ defineRadioButtonGroup() [1/2]

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

Definition at line 302 of file VP1Controller.cxx.

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

◆ 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 290 of file VP1Controller.cxx.

294{
295 QList<QRadioButton *> l;
296 l << rb0 << rb1 << rb2 << rb3 << rb4 << rb5 << rb6 << rb7 << rb8 << rb9;
297 l.removeAll(0);
298 return defineRadioButtonGroup(l);
299}
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 2188 of file TrackSystemController.cxx.

2189{
2190 return m_d->ui_col.groupBox_labels->isChecked();
2191}

◆ drawMeasGlobalPositions()

bool TrackSystemController::drawMeasGlobalPositions ( ) const

Definition at line 1587 of file TrackSystemController.cxx.

1588{
1589 return m_d->ui_ascobjs.checkBox_measurements_drawGP->isChecked();
1590}

◆ drawMeasGlobalPositionsChanged

void TrackSystemController::drawMeasGlobalPositionsChanged ( bool )
signal

◆ dummyUpdateTrigger

void VP1Controller::dummyUpdateTrigger ( )
signalinherited

◆ emitExtrapolateToHereChanged

void TrackSystemController::emitExtrapolateToHereChanged ( int )
privateslot

Definition at line 1662 of file TrackSystemController.cxx.

1662 {
1664}
void extrapolateToThisVolumeChanged(void)

◆ emitRefit

void TrackSystemController::emitRefit ( )
privateslot

Definition at line 2007 of file TrackSystemController.cxx.

2008{
2009 messageVerbose("Emitting refit");
2010 emit refit();
2011}

◆ emitRerandomise

void TrackSystemController::emitRerandomise ( )
privateslot

Definition at line 2000 of file TrackSystemController.cxx.

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

◆ enabledButtonStateChanged

void VP1Controller::enabledButtonStateChanged ( )
slotinherited

Definition at line 169 of file VP1Controller.cxx.

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

◆ 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 1695 of file TrackSystemController.cxx.

1696{
1697 if (m_d->ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()=="Calorimeter")
1698 return m_d->calorimeterEntryLayer;
1699 if (m_d->ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()=="Muon Entrance")
1700 return m_d->muonSpectrometerEntryLayer;
1701 if (m_d->ui_extrap.comboBox_extendAllInDetTracksToHere->currentText()=="Muon Exit")
1702 return m_d->muonSpectrometerExitLayer;
1703 return nullptr;
1704}

◆ extrapolateToThisVolumeChanged

void TrackSystemController::extrapolateToThisVolumeChanged ( void )
signal

◆ fallBackMaterial()

SoMaterial * VP1Controller::fallBackMaterial ( ) const
protectedinherited

Definition at line 429 of file VP1Controller.cxx.

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

◆ fitterMode()

TrackCommonFlags::FITTERMODE TrackSystemController::fitterMode ( ) const

Definition at line 1719 of file TrackSystemController.cxx.

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

◆ fitterParticleHypthesis()

Trk::ParticleHypothesis TrackSystemController::fitterParticleHypthesis ( ) const

Definition at line 1740 of file TrackSystemController.cxx.

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

◆ fitterRemoveOutliers()

bool TrackSystemController::fitterRemoveOutliers ( ) const

Definition at line 1735 of file TrackSystemController.cxx.

1736{
1737 return m_d->ui_int.checkBox_removeOutliers->isChecked();
1738}

◆ getMaterial()

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

Definition at line 439 of file VP1Controller.cxx.

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

◆ getMaterialForCharge()

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

Definition at line 1335 of file TrackSystemController.cxx.

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

◆ getMaterialForMomentum()

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

Definition at line 1345 of file TrackSystemController.cxx.

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

◆ getMaterialForPDGCode()

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

Definition at line 1291 of file TrackSystemController.cxx.

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

1582{
1583 return m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces->isChecked();
1584}

◆ hideTubeSurfaces()

bool TrackSystemController::hideTubeSurfaces ( ) const

Definition at line 1575 of file TrackSystemController.cxx.

1576{
1577 return m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces->isChecked();
1578}

◆ ignoreMeasurementEffectsOnTrackInProp()

bool TrackSystemController::ignoreMeasurementEffectsOnTrackInProp ( )

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

Definition at line 1666 of file TrackSystemController.cxx.

1667{
1668 return m_d->ui_extrap.checkBox_ignoreMEoT->isChecked();
1669}

◆ initDialog() [1/2]

void VP1Controller::initDialog ( std::unique_ptr< 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 dialogPtr->setWindowTitle(txt+" ["+systemBase()->name()+"]");
128 dialogPtr->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 auto di = std::make_unique<Imp::DialogInfo>(launchButton,std::move(dialogPtr),enabledButton);
144 QWidget* dialog = di->dialogWidget.get();
145 m_d->dialogs << di.release();
146
147 connect(launchButton,SIGNAL(clicked()),this,SLOT(toggleDialogState()));
148 if (enabledButton)
149 connect(enabledButton,SIGNAL(toggled(bool)),this,SLOT(enabledButtonStateChanged()));
150 CloseEventEater* closeEventEater = new CloseEventEater(this);
151 dialog->installEventFilter(closeEventEater);
152
153 if(closeButton) {
154 closeButton->setText("&Close");
155 closeButton->setToolTip("Close this dialog [Esc]");
156 connect(closeButton,SIGNAL(clicked()),dialog,SLOT(close()));
157 }
158 connect(new QShortcut(QKeySequence(Qt::Key_Escape), dialog),SIGNAL(activated()),dialog,SLOT(close()));
159
160 //To avoid an extra call in the code we do this a few times more than necessary (fixme: put in initLastVars!!):
161 int maxwidth(0);
162 for (Imp::DialogInfo* di : m_d->dialogs)
163 maxwidth = std::max(maxwidth,di->launchButton->sizeHint().width());
164 for (Imp::DialogInfo* di : m_d->dialogs)
165 di->launchButton->setMinimumWidth(maxwidth);
166}
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 145 of file VP1Controller.h.

145 {
146 auto w = std::make_unique<QWidget>(nullptr,Qt::WindowStaysOnTopHint);
147 theUI.setupUi(w.get());
148 initDialog(std::move(w), launchbutton, theUI.pushButton_close,enabledButton);
149}

◆ 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 537 of file TrackSystemController.cxx.

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

98{ return m_initVarsMode; }

◆ labelXOffset()

int TrackSystemController::labelXOffset ( )

Absolute x offset.

Definition at line 2207 of file TrackSystemController.cxx.

2208{
2209 return m_d->ui_col.horizontalSlider_labels_xOffset->value();
2210}

◆ labelYOffset()

int TrackSystemController::labelYOffset ( )

Absolute y offset.

Definition at line 2212 of file TrackSystemController.cxx.

2213{
2214 return m_d->ui_col.horizontalSlider_labels_yOffset->value();
2215}

◆ labelZOffset()

int TrackSystemController::labelZOffset ( )

Absolute z offset.

Definition at line 2217 of file TrackSystemController.cxx.

2218{
2219 return m_d->ui_col.horizontalSlider_labels_zOffset->value();
2220}

◆ materialEffectsOnTrackScale()

double TrackSystemController::materialEffectsOnTrackScale ( ) const

Definition at line 1629 of file TrackSystemController.cxx.

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

◆ materialEffectsOnTrackScaleChanged

void TrackSystemController::materialEffectsOnTrackScaleChanged ( double )
signal

◆ measurementsShorttubesScale()

double TrackSystemController::measurementsShorttubesScale ( ) const

Definition at line 1594 of file TrackSystemController.cxx.

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

◆ 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 1684 of file TrackSystemController.cxx.

1685{
1686 QString key = "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool";
1687 return m_d->toolaccesshelper->getToolPointer<Muon::MuonEDMPrinterTool>(key);
1688}

◆ nameOfNewlyFittedCollections()

QString TrackSystemController::nameOfNewlyFittedCollections ( ) const

Definition at line 1474 of file TrackSystemController.cxx.

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

◆ nStdDevForParamErrors()

double TrackSystemController::nStdDevForParamErrors ( ) const

Definition at line 1600 of file TrackSystemController.cxx.

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

◆ nStdDevForParamErrorsChanged

void TrackSystemController::nStdDevForParamErrorsChanged ( const double & )
signal

◆ numberOfPointsOnCircles()

int TrackSystemController::numberOfPointsOnCircles ( ) const

Definition at line 1612 of file TrackSystemController.cxx.

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

◆ numberOfPointsOnCirclesChanged

void TrackSystemController::numberOfPointsOnCirclesChanged ( int )
signal

◆ objectBrowserClicked

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

Definition at line 2070 of file TrackSystemController.cxx.

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

1971{
1972 return m_d->ui_int.checkBox_selsingle_orientzoom->isChecked();
1973}

◆ parTubeErrorsDrawCylinders()

bool TrackSystemController::parTubeErrorsDrawCylinders ( ) const

Definition at line 1606 of file TrackSystemController.cxx.

1607{
1608 return m_d->ui_ascobjs.checkBox_parerror_drawcylinder->isChecked();
1609}

◆ 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 1976 of file TrackSystemController.cxx.

1977{
1978 return m_d->ui_int.checkBox_selsingle_printinfo->isChecked();
1979}

◆ printTotMomentumOnMultiTrackSelection()

bool TrackSystemController::printTotMomentumOnMultiTrackSelection ( ) const

Definition at line 1988 of file TrackSystemController.cxx.

1989{
1990 return m_d->ui_int.checkBox_sel_printtotmom->isChecked();
1991}

◆ printVerboseInfoOnSingleSelection()

bool TrackSystemController::printVerboseInfoOnSingleSelection ( ) const

Definition at line 1982 of file TrackSystemController.cxx.

1983{
1984 return printInfoOnSingleSelection() && m_d->ui_int.checkBox_selsingle_printinfo_verbose->isChecked();
1985}

◆ propagationOptions()

TrackSystemController::PropagationOptionFlags TrackSystemController::propagationOptions ( ) const

Definition at line 1650 of file TrackSystemController.cxx.

1650 {
1651 PropagationOptionFlags options=TrackSystemController::NoPropOptions;
1652 if (m_d->ui_extrap.checkBox_ignoreMEoT->isChecked()) options |= TrackSystemController::IgnoreMEOT;
1653 if (m_d->ui_extrap.checkBox_extendAllInDetTracks->isChecked()) options |= TrackSystemController::ExtendTrack;
1654 return options;
1655}

◆ propagationOptionsChanged

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

◆ propagator()

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

Definition at line 1635 of file TrackSystemController.cxx.

1636{
1637 if (!m_d->toolaccesshelper
1638 ||!m_d->ui_extrap.radioButton_athenaExtrapolator->isChecked()
1639 ||m_d->ui_extrap.comboBox_propagator->count()==0)
1640 return nullptr;
1641
1642 QString key = m_d->ui_extrap.comboBox_propagator->currentText();
1643 if (key==Imp::noneAvailString) {
1644 messageDebug("No extrapolator available, returning a nullptr...");
1645 return nullptr;
1646 }
1647 return key.isEmpty() ? nullptr : m_d->toolaccesshelper->getToolPointer<Trk::IExtrapolator>(key);
1648}

◆ propagatorChanged

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

◆ propMaxRadius()

float TrackSystemController::propMaxRadius ( ) const

Definition at line 1657 of file TrackSystemController.cxx.

1657 {
1658 if (!m_d->ui_extrap.checkBox_maxRadius->isChecked()) return -1.0;
1659 return m_d->ui_extrap.spinBox_maxRadiusValue->value();
1660}

◆ 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 389 of file VP1Controller.cxx.

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

◆ saveSettings()

QByteArray VP1Controller::saveSettings ( ) const
inherited

Definition at line 407 of file VP1Controller.cxx.

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

◆ selectionMode()

TrackCommonFlags::SELECTIONMODE TrackSystemController::selectionMode ( ) const

Definition at line 1707 of file TrackSystemController.cxx.

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

◆ selectionModeChanged

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

◆ setCommonData()

void TrackSystemController::setCommonData ( TrackSysCommonData * common)

set pointer to the common data

Definition at line 2066 of file TrackSystemController.cxx.

2066 {
2067 m_d->common=common;
2068}

◆ setCustomTourEditor()

void VP1Controller::setCustomTourEditor ( VP1CustomTourEditor * editor)
inlinestaticinherited

Definition at line 61 of file VP1Controller.h.

61{ 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 2025 of file TrackSystemController.cxx.

2026{
2027 if (m_d->numberOfSelectedPRDs==prds && m_d->numberOfSelectedTracks==trks)
2028 return;
2029 m_d->numberOfSelectedPRDs=prds;
2030 m_d->numberOfSelectedTracks=trks;
2031
2032 switch (fitterMode()) {
2033 case TrackCommonFlags::FROMPRDS: m_d->ui_int.pushButton_refit->setText("Fit track from "+str(prds)+" PRDs");break;
2034 case TrackCommonFlags::REFITSINGLETRACK: m_d->ui_int.pushButton_refit->setText("Fit track");break;
2035 case TrackCommonFlags::EXTENDTRACKWITHPRDS: m_d->ui_int.pushButton_refit->setText("Extend track with "+str(prds)+" PRDs");break;
2036 case TrackCommonFlags::COMBINETWOTRACKS: m_d->ui_int.pushButton_refit->setText("Combine");break;
2037 }
2038
2039
2040 // FIXME Need to redo this method so that it can handle all fitter modes
2041
2042 m_d->updateFitPRDButtonState();
2043}
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 257 of file VP1Controller.cxx.

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

◆ shownTrackParts()

TrackCommonFlags::TrackPartsFlags TrackSystemController::shownTrackParts ( ) const

Definition at line 1481 of file TrackSystemController.cxx.

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

◆ shownTrackPartsChanged

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

◆ shownTSOSParts()

TrackCommonFlags::TSOSPartsFlags TrackSystemController::shownTSOSParts ( ) const

Definition at line 1507 of file TrackSystemController.cxx.

1508{
1509 TrackCommonFlags::TSOSPartsFlags f(TrackCommonFlags::TSOS_NoObjects);
1510 if (m_d->ui_ascobjs.groupBox_parameters->isChecked())
1512 if (m_d->ui_ascobjs.groupBox_errors->isChecked()&&m_d->ui_ascobjs.checkBox_parametererrors->isChecked()) {
1514 if (!m_d->ui_ascobjs.checkBox_parerror_hideperigeeerrors->isChecked())
1516 }
1517 if (m_d->ui_ascobjs.groupBox_errors->isChecked()&&m_d->ui_ascobjs.checkBox_measurementerrors->isChecked()) {
1519 }
1520 if (m_d->ui_ascobjs.groupBox_measurements->isChecked()) {
1523 }
1524 if (m_d->ui_ascobjs.groupBox_surfaces->isChecked()) {
1526 if (!m_d->ui_ascobjs.checkBox_surfaces_hidecustomsurfaces->isChecked())
1528 if (!m_d->ui_ascobjs.checkBox_surfaces_hidetubesurfaces->isChecked())
1530 }
1531 if (m_d->ui_ascobjs.groupBox_materialeffectsontrack->isChecked()) {
1533 if (!m_d->ui_ascobjs.checkBox_materialeffectsontrack_hideNoDE->isChecked())
1535 }
1536
1537 return f;
1538}
@ 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 1994 of file TrackSystemController.cxx.

1995{
1996 return m_d->ui_int.checkBox_sel_showtotmom->isChecked();
1997}

◆ showTotMomentumOnMultiTrackSelectionChanged

void TrackSystemController::showTotMomentumOnMultiTrackSelectionChanged ( bool )
signal

◆ showTruthAscObjs()

bool TrackSystemController::showTruthAscObjs ( ) const

Definition at line 1762 of file TrackSystemController.cxx.

1763{
1764 return m_d->ui_ascobjs.checkBox_truthtracks_display_points->isChecked();
1765}

◆ 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 113 of file VP1Controller.h.

◆ toggleDialogState

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

Definition at line 196 of file VP1Controller.cxx.

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

◆ 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 230 of file TrackSystemController.h.

230{ 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 232 of file TrackSystemController.h.

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

◆ toString() [5/8]

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

Definition at line 231 of file TrackSystemController.h.

231{ 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 1672 of file TrackSystemController.cxx.

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

◆ trackFitterChanged

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

◆ trackLabelPosOffset()

QList< int > TrackSystemController::trackLabelPosOffset ( )

Offset in x,y,z.

Definition at line 2198 of file TrackSystemController.cxx.

2199{
2200 QList<int> values;
2201 values << m_d->ui_col.horizontalSlider_labels_xOffset->value();
2202 values << m_d->ui_col.horizontalSlider_labels_yOffset->value();
2203 values << m_d->ui_col.horizontalSlider_labels_zOffset->value();
2204 return values;
2205}

◆ trackLabelPosOffsetChanged

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

◆ trackLabels()

TrackSystemController::TrackLabelModes TrackSystemController::trackLabels ( )

Definition at line 2222 of file TrackSystemController.cxx.

2222 {
2223 if (!m_d->ui_col.groupBox_labels->isChecked())
2225
2227 if (m_d->ui_col.checkBox_trkLabels_p->isChecked()) labels |= TrackSystemController::P;
2228 if (m_d->ui_col.checkBox_trkLabels_Pt->isChecked()) labels |= TrackSystemController::Pt;
2229 if (m_d->ui_col.checkBox_trkLabels_direction->isChecked()) labels |= TrackSystemController::Direction;
2230 if (m_d->ui_col.checkBox_trkLabels_pid->isChecked()) labels |= TrackSystemController::Pid;
2231 if (m_d->ui_col.checkBox_trkLabels_hits->isChecked()) labels |= TrackSystemController::Hits;
2232 if (m_d->ui_col.checkBox_trkLabels_fitQuality->isChecked()) labels |= TrackSystemController::FitQuality;
2233 return labels;
2234}

◆ trackLabelsChanged

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

◆ trackLabelTrkOffset()

float TrackSystemController::trackLabelTrkOffset ( )

Percentage of postion along track.

Definition at line 2193 of file TrackSystemController.cxx.

2194{
2195 return static_cast<float>(m_d->ui_col.horizontalSlider_labels_trkOffset->value())/static_cast<float>(m_d->ui_col.horizontalSlider_labels_trkOffset->maximum());
2196}

◆ 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 2058 of file TrackSystemController.cxx.

2059{
2060 return m_d->objBrowserWidget;
2061}

◆ updateAscObjComplexity

void TrackSystemController::updateAscObjComplexity ( )
privateslot

Definition at line 1438 of file TrackSystemController.cxx.

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

◆ updateAscObjDrawStyle

void TrackSystemController::updateAscObjDrawStyle ( )
privateslot

Definition at line 1426 of file TrackSystemController.cxx.

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

◆ updateFitPRDButtonState

void TrackSystemController::updateFitPRDButtonState ( )
privateslot

Definition at line 2045 of file TrackSystemController.cxx.

2045 {
2046 messageVerbose("updateFitPRDButtonState");
2047
2048 switch (fitterMode()) {
2049 case TrackCommonFlags::FROMPRDS: m_d->ui_int.pushButton_refit->setText("Fit track from "+str(m_d->numberOfSelectedPRDs)+" PRDs");break;
2050 case TrackCommonFlags::REFITSINGLETRACK: m_d->ui_int.pushButton_refit->setText("Fit track");break;
2051 case TrackCommonFlags::EXTENDTRACKWITHPRDS: m_d->ui_int.pushButton_refit->setText("Extend track with "+str(m_d->numberOfSelectedPRDs)+" PRDs");break;
2052 case TrackCommonFlags::COMBINETWOTRACKS: m_d->ui_int.pushButton_refit->setText("Combine");break;
2053 }
2054
2055 m_d->updateFitPRDButtonState();
2056}

◆ useShortMDTMeasurements()

bool TrackSystemController::useShortMDTMeasurements ( ) const

Definition at line 1569 of file TrackSystemController.cxx.

1570{
1571 return m_d->ui_ascobjs.checkBox_measurements_shorttubes_mdt->isChecked();
1572}

◆ useShortMDTMeasurementsChanged

void TrackSystemController::useShortMDTMeasurementsChanged ( bool )
signal

◆ useShortTRTMeasurements()

bool TrackSystemController::useShortTRTMeasurements ( ) const

Definition at line 1563 of file TrackSystemController.cxx.

1564{
1565 return m_d->ui_ascobjs.checkBox_measurements_shorttubes_trt->isChecked();
1566}

◆ 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 1778 of file TrackSystemController.cxx.

1778 {
1779 if (m_d->ui_cuts.checkBox_vertexAssociated->isEnabled()!=b) {
1780 m_d->ui_cuts.checkBox_vertexAssociated->setEnabled(b);
1781 emit cutOnlyVertexAssocTracksChanged(m_d->ui_cuts.checkBox_vertexAssociated->isChecked());
1782 }
1783}
void cutOnlyVertexAssocTracksChanged(bool)

◆ vertexProjectionAngle()

int TrackSystemController::vertexProjectionAngle ( ) const

Definition at line 1492 of file TrackSystemController.cxx.

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

◆ 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 126 of file VP1Controller.h.

◆ m_d

Imp* TrackSystemController::m_d
private

Definition at line 227 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 130 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: