ATLAS Offline Software
TrackCollHandleBase.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Implementation of class TrackCollHandleBase //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: February 2008 //
12 // //
14 
22 
25 #include "VP1Base/IVP13DSystem.h"
27 #include "VP1Base/VP1Serialise.h"
28 #include "VP1Base/VP1Deserialise.h"
30 #include "VP1Base/VP1Msg.h"
31 
32 
33 #include <Inventor/nodes/SoSeparator.h>
34 #include <Inventor/nodes/SoMaterial.h>
35 #include <Inventor/nodes/SoSwitch.h>
36 #include "Inventor/nodes/SoDrawStyle.h"
37 #include "Inventor/nodes/SoLightModel.h"
38 
41 
42 #include <QComboBox>
43 #include <QTreeWidgetItem>
44 #include <QElapsedTimer>
45 
46 #include <qdatetime.h>
47 #include <vector>
48 
49 // #include "VP1TrackSystems/TrackObjectBrowserController.h"
50 
51 
52 //____________________________________________________________________
54 public:
56  QString name;
57 
58  //Vector of track handles:
59  std::vector<TrackHandleBase*> trackhandles;
60  //For iteration:
63 
65  bool notifystatesave = false;
66 
67  TrackCommonFlags::TSOSPartsFlags shownTSOSParts;
68  TrackCommonFlags::TSOSPartsFlags customColouredTSOSParts;
77 
78  //Extra widgets:
79  QComboBox * comboBox_colourby = nullptr;
80 
81  static QString comboBoxEntry_ColourByCollection() { return "Uniform"; }
82  static QString comboBoxEntry_ColourByRandom() { return "Random"; }
83  static QString comboBoxEntry_ColourByMomentum() { return "Mom."; }
84  static QString comboBoxEntry_ColourByCharge() { return "Charge"; }
85  static QString comboBoxEntry_ColourByPID() { return "PID"; }
86  static QString comboBoxEntry_ColourByDistanceFromSelectedTrack() { return "Dist. Sel."; }
87  static QString comboBoxEntry_ColourByVertex() { return "Vertex"; }
88 
89  QTreeWidgetItem* objBrowseTree = nullptr;
91  bool last_useDefaultCuts = false;
92 };
93 
94 
95 
96 //____________________________________________________________________
98  const QString& name,
100  : VP1StdCollection(cd->system(),"TrackCollHandle_"+TrackType::typeToString(type)+"_"+name), m_d(new Imp),
101  m_nshownhandles(0), m_type(type),
102  m_commonData(cd),
103  m_sephelper(nullptr),
104  m_propagator(nullptr),
105  m_propagationOptions(TrackSystemController::NoPropOptions),
106  m_propMaxRadius(0.0),
107  m_parts(TrackCommonFlags::NoParts),
108  m_labels(TrackSystemController::NoLabels), m_labelsTrkOffset(0.0),
109  m_trackTubeRadius(0.0),
110  m_colourby(COLOUR_PERCOLLECTION),
111  m_cut_allowedPtSq(VP1Interval()),
112  m_cut_allowedEta(VP1Interval()),
113  m_cut_allowedPhi(QList<VP1Interval>()),
114  m_cut_requiredNHits(QList<unsigned>()),
115  m_requiredDetectorElement(),
116  m_cut_pt_allowall(false),
117  m_cut_eta_allowall(false),
118  m_cut_phi_allowall(false),
119  m_cut_etaptphi_allwillfail(true)
120 {
121  m_d->theclass = this;
122  m_d->name = name;
123  m_d->lastUsedPropagator = nullptr;
124  m_d->notifystatesave = false;
127  //Fixme: to avoid double work on startup, these should have the same
128  //values here as the controller defaults:
137 
138  m_d->comboBox_colourby = new QComboBox;
139  m_d->objBrowseTree = nullptr;
140  m_d->matButton=nullptr;
141 }
142 
143 //____________________________________________________________________
145 {
147  m_d->matButton->setText(text());
148  VP1StdCollection::init(m_d->matButton);//this call is required. Passing in TrackCollectionSettingsButton means we have the more complex button.
149 
150  setupSettingsFromController(common()->controller());
151 
152  //Setup colour by:
153  m_d->comboBox_colourby->setToolTip("Determine how tracks from this collection are coloured.\n The 'Dist. Sel.' option means the tracks will be coloured by distance from the last selected track. ");
154  QStringList l;
157  if (allowColourByPID())
159  if (allowColourByMomentum())
161  if (allowColourByCharge())
165  if (allowColourByVertex()) {
166  // messageVerbose("Allow colour by vertex!");
168  }
169  m_d->comboBox_colourby->addItems(l);
170  m_d->comboBox_colourby->setCurrentIndex(0);//corresponds to per collection.
171  connect(m_d->comboBox_colourby,SIGNAL(currentIndexChanged(int)),
172  this,SLOT(colourByComboBoxItemChanged()));
173 
174  connect(this,SIGNAL(visibilityChanged(bool)),this,SLOT(collVisibilityChanged(bool)));
176 
177  // add stuff to control per collection settings.
178  collSwitch()->addChild(m_d->matButton->trackLightModel());
179  collSwitch()->addChild(m_d->matButton->trackDrawStyle());
180 }
181 
182 //____________________________________________________________________
184 {
185  messageVerbose("destructor start");
187  if (m_sephelper) {
188  SoSeparator * sep = m_sephelper->topSeparator();
189  sep->ref();
190  delete m_sephelper;
191  sep->unref();
192  }
193  delete m_d;
194  messageVerbose("destructor end");
195 }
196 
197 //____________________________________________________________________
199 {
200  messageVerbose("setupSettingsFromController start");
201 
202  assert(controller);
204 
205  connect(TrackSystemController::customTourEditor(),SIGNAL(clipVolumeRadiusChanged(double)),this,SLOT(clipVolumeChanged(double)));
206 
207  connect(controller,SIGNAL(propagatorChanged(Trk::IExtrapolator *)),this,SLOT(setPropagator(Trk::IExtrapolator *)));
208  setPropagator(controller->propagator());
209 
210  connect(controller,SIGNAL(propagationOptionsChanged(TrackSystemController::PropagationOptionFlags)),this,SLOT(setPropagationOptions(TrackSystemController::PropagationOptionFlags)));
212 
213  connect(controller,SIGNAL(propMaxRadiusChanged(float)),this,SLOT(setPropMaxRadius(float)));
214  setPropMaxRadius(controller->propMaxRadius());
215 
216  // Doing this in a slightly different way to avoid making lots of new stuff in controller.
217  connect(controller,SIGNAL(extrapolateToThisVolumeChanged(void)),this,SLOT(extrapolateToThisVolumeChanged(void)));
218 
219  connect(controller,SIGNAL(shownTrackPartsChanged(TrackCommonFlags::TrackPartsFlags)),this,SLOT(setParts(TrackCommonFlags::TrackPartsFlags)));
220  connect(m_d->matButton,SIGNAL(hideActualTrackPathChanged(bool)),this,SLOT(setActualPathShown(bool)));
221  setParts(controller->shownTrackParts());
222 
223  connect(controller,SIGNAL(vertexProjectionAngleChanged(int)),this,SLOT(setParts(int)));
224  setParts(controller->vertexProjectionAngle());
225 
226  // connect(controller,SIGNAL(trackTubeRadiusChanged(const double&)),this,SLOT(setTrackTubeRadius(const double&)));
227  connect(m_d->matButton,SIGNAL(trackTubeRadiusChanged(const double&)),this,SLOT(setTrackTubeRadius(const double&)));
229 
230  connect(controller,SIGNAL(rerandomise()),this,SLOT(rerandomiseRandomTrackColours()));
231 
232  connect(common()->system(),SIGNAL(newTrackSelected( const TrackHandleBase&)),this,SLOT(trackSelectionChanged()));
233 
234  //cuts
235  connect(m_d->matButton,SIGNAL(useDefaultCutsChanged(bool)),this,SLOT(setUseDefaultCuts(bool)));
237 
238  connect(controller,SIGNAL(cutAllowedPtChanged(const VP1Interval&)),this,SLOT(setCutAllowedPt(const VP1Interval&)));
239  connect(m_d->matButton,SIGNAL(cutAllowedPtChanged(const VP1Interval&)),this,SLOT(setCutAllowedPt(const VP1Interval&)));
241 
242  connect(controller,SIGNAL(cutAllowedEtaChanged(const VP1Interval&)),this,SLOT(setCutAllowedEta(const VP1Interval&)));
243  connect(m_d->matButton,SIGNAL(cutAllowedEtaChanged(const VP1Interval&)),this,SLOT(setCutAllowedEta(const VP1Interval&)));
245 
246  connect(controller,SIGNAL(cutAllowedPhiChanged(const QList<VP1Interval>&)),this,SLOT(setCutAllowedPhi(const QList<VP1Interval>&)));
247  connect(m_d->matButton,SIGNAL(cutAllowedPhiChanged(const QList<VP1Interval>&)),this,SLOT(setCutAllowedPhi(const QList<VP1Interval>&)));
249 
250  connect(controller,SIGNAL(cutRequiredNHitsChanged(const QList<unsigned>&)),this,SLOT(setRequiredNHits(const QList<unsigned>&)));
251  connect(m_d->matButton,SIGNAL(cutRequiredNHitsChanged(const QList<unsigned>&)),this,SLOT(setRequiredNHits(const QList<unsigned>&)));
253 
254  connect(controller,SIGNAL(cutRequiredDetectorElementChanged(const QString&)),this,SLOT(setRequiredDetectorElement(const QString&)));
255  connect(m_d->matButton,SIGNAL(cutRequiredDetectorElementChanged(const QString&)),this,SLOT(setRequiredDetectorElement(const QString&)));
256 
257  connect(controller,SIGNAL(cutOnlyVertexAssocTracksChanged(bool)),this,SLOT(setOnlyVertexAssocTracks(bool)));
258  connect(m_d->matButton,SIGNAL(cutOnlyVertexAssocTracksChanged(bool)),this,SLOT(setOnlyVertexAssocTracks(bool)));
260 
261  connect(controller,SIGNAL(customColouredTSOSPartsChanged(TrackCommonFlags::TSOSPartsFlags)),
262  this,SLOT(setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags)));
264 
265  connect(controller,SIGNAL(useShortTRTMeasurementsChanged(bool)),this,SLOT(setUseShortTRTMeasurements(bool)));
267 
268  connect(controller,SIGNAL(useShortMDTMeasurementsChanged(bool)),this,SLOT(setUseShortMDTMeasurements(bool)));
270 
271  connect(controller,SIGNAL(drawMeasGlobalPositionsChanged(bool)),this,SLOT(setDrawMeasGlobalPositions(bool)));
273 
274  connect(controller,SIGNAL(measurementsShorttubesScaleChanged(double)),this,SLOT(setMeasurementsShorttubesScale(double)));
276 
277  connect(controller,SIGNAL(nStdDevForParamErrorsChanged(const double&)),this,SLOT(setNStdDevForParamErrors(const double&)));
279 
280  connect(controller,SIGNAL(numberOfPointsOnCirclesChanged(int)),this,SLOT(setNumberOfPointsOnCircles(int)));
282 
283  connect(controller,SIGNAL(materialEffectsOnTrackScaleChanged(double)),this,SLOT(setMaterialEffectsOnTrackScale(double)));
285 
286  connect(controller,SIGNAL(parTubeErrorsDrawCylindersChanged(bool)),this,SLOT(setParTubeErrorsDrawCylinders(bool)));
288 
289  connect(controller,SIGNAL(shownTSOSPartsChanged(TrackCommonFlags::TSOSPartsFlags)),
290  this,SLOT(setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags)));
291  setShownTSOSParts(controller->shownTSOSParts());
292 
293  connect(controller,SIGNAL(customColouredTSOSPartsChanged(TrackCommonFlags::TSOSPartsFlags)),
294  this,SLOT(setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags)));
296 
297  connect(controller,SIGNAL(trackLabelsChanged(TrackSystemController::TrackLabelModes)),this,SLOT(setLabels(TrackSystemController::TrackLabelModes)));
298  connect(controller,SIGNAL(trackLabelTrkOffsetChanged(float)),this,SLOT(setLabelTrkOffset(float)));
299  connect(controller,SIGNAL(trackLabelPosOffsetChanged(QList<int>)),this,SLOT(setLabelPosOffsets(QList<int>)));
300  setLabels(controller->trackLabels());
301 
303 
304  largeChangesEnd();
305  messageVerbose("setupSettingsFromController end");
306 
307 }
308 
309 //____________________________________________________________________
310 const QString& TrackCollHandleBase::name() const
311 {
312  return m_d->name;
313 }
314 
315 //____________________________________________________________________
317 {
319  return false;
320 
322  //assert(m_cut_requiredNHits.count()==4); // for old code
323  assert(m_cut_requiredNHits.count()==5);
324  // Only apply ID cuts to tracks which have ID hits (so ID only and combined muons)
325  if (handle->isIDTrack()){
326  if (handle->getNPixelHits()<m_cut_requiredNHits[0]) return false;
327  if (handle->getNSCTHits()<m_cut_requiredNHits[1]) return false;
328  if (handle->getNTRTHits()<m_cut_requiredNHits[2]) return false;
329  } else {
330  messageVerbose("Not an ID track, so not applying ID cuts.");
331  }
332  if (handle->getNMuonHits()<m_cut_requiredNHits[3]) return false;
333  if (handle->getNMuonPrecisionHits()<m_cut_requiredNHits[4]) return false;
334  }
335 
337  {
338  Amg::Vector3D mom(handle->momentum());
339 
340  // convention is that if interval is real and negative, then P cut rather than pT
341  bool isPCut = (!m_cut_allowedPtSq.noLowerBound() && m_cut_allowedPtSq.lower()<=0)
343 
344  if (mom.mag2()!=0.0) {
345  if (!m_cut_pt_allowall&&!isPCut && !m_cut_allowedPtSq.contains(mom.perp2()))
346  return false;
347  if (!m_cut_pt_allowall&& isPCut && !m_cut_allowedPtSq.contains(-mom.mag2()))
348  return false;
349 
351  return false;
352  }
353  if (!m_cut_phi_allowall) {
354  double phi = VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() );
355  bool ok(false);
356  for (const VP1Interval& phirange : m_cut_allowedPhi) {
357  if (phirange.contains(phi)||phirange.contains(phi+2*M_PI)||phirange.contains(phi-2*M_PI)) {
358  ok = true;
359  break;
360  }
361  }
362  if (!ok)
363  return false;
364  }
365  }
366  }
367 
368  // Cut on specific det element identifier
369  if (!m_requiredDetectorElement.isEmpty())
371 
373  return common()->system()->materialFromVertex(handle)!=nullptr; // return false if no vertex material associated to this track
374  }
375 
376  return true;
377 }
378 
379 //____________________________________________________________________
381 {
382  handle->setVisible( visible() && cut(handle));
383 }
384 
385 //____________________________________________________________________
387 {
388  if (!isLoaded())
389  return;
390 
391  //This method is called when a cut is tightened - thus we better start by deselectAll to avoid weird highlighting issues.
392  common()->system()->deselectAll();
393 
396  for (;it!=itE;++it) {
397  if ((*it)->visible())
399  }
401  largeChangesEnd();
402 
403  message("recheckCutStatusOfAllVisibleHandles: "+str(nShownHandles())+"/"+str(m_d->trackhandles.size())+" pass cuts");
404 }
405 
406 //____________________________________________________________________
408 {
409  if (!isLoaded())
410  return;
411 
414  for (;it!=itE;++it) {
415  if (!(*it)->visible())
417  }
419  largeChangesEnd();
420 
421  message("recheckCutStatusOfAllNotVisibleHandles: "+str(nShownHandles())+"/"+str(m_d->trackhandles.size())+" pass cuts");
422 }
423 
424 //____________________________________________________________________
426 {
427  if (!isLoaded())
428  return;
431  for (;it!=itE;++it)
434  largeChangesEnd();
435 
436  message("recheckCutStatusOfAllHandles: "+str(nShownHandles())+"/"+str(m_d->trackhandles.size())+" pass cuts");
437 }
438 
439 //____________________________________________________________________
440 void TrackCollHandleBase::update3DObjectsOfAllHandles(bool onlythosetouchingmuonchambers, bool invalidatePropagatedPoints, float maxR )
441 {
442  if (!isLoaded())
443  return;
444  if (VP1Msg::verbose())
445  messageVerbose("update3DObjectsOfAllHandles start (onlythosetouchingmuonchambers = "
446  +str(onlythosetouchingmuonchambers)+", invalidatePropagatedPoints = "
447  +str(invalidatePropagatedPoints)+")");
450  if (onlythosetouchingmuonchambers) {
451  for (;it!=itE;++it)
452  if (!(*it)->touchedMuonChambers().empty())
453  (*it)->update3DObjects(invalidatePropagatedPoints, maxR);
454  } else {
455  for (;it!=itE;++it)
456  (*it)->update3DObjects(invalidatePropagatedPoints, maxR);
457  }
458  largeChangesEnd();
459  messageVerbose("update3DObjectsOfAllHandles end");
460 }
461 
462 
463 
464 //____________________________________________________________________
466 {
467  if (!isLoaded())
468  return;
469  messageVerbose("updateInDetProjectionsOfAllHandles start");
472  for (;it!=itE;++it)
473  (*it)->updateInDetProjections();
474  largeChangesEnd();
475  messageVerbose("updateInDetProjectionsOfAllHandles end");
476 
477 }
478 
479 //____________________________________________________________________
481 {
482  if (!isLoaded())
483  return;
484  messageVerbose("updateMuonProjectionsOfAllHandles start");
487  for (;it!=itE;++it)
488  (*it)->updateMuonProjections();
489  largeChangesEnd();
490  messageVerbose("updateMuonProjectionsOfAllHandles end");
491 
492 }
493 
494 //____________________________________________________________________
496 {
497  if (!isLoaded())
498  return;
499  messageVerbose("updateMaterialOfAllHandles start");
502  for (;it!=itE;++it)
503  (*it)->updateMaterial();
504  largeChangesEnd();
505  messageVerbose("updateMaterialOfAllHandles end");
506 }
507 
508 //____________________________________________________________________
510 {
511  m_d->trackhandles.reserve(n);
512 }
513 
514 //____________________________________________________________________
516 {
517  m_d->trackhandles.push_back(handle);
518 }
519 
520 //____________________________________________________________________
522 {
523  bool ignoreMEOT = common()->controller()->ignoreMeasurementEffectsOnTrackInProp();
524  messageVerbose("setPropagator ("+str(p)+") "+ (ignoreMEOT?str("ignoring MEOT"):str("using MEOT")) );
525  if (m_propagator==p)
526  return;
527  messageVerbose("setPropagator ==> Changed");
528  m_propagator=p;
529  bool mustUpdatePropagatedPoints = (p && m_d->lastUsedPropagator!=p);
530  update3DObjectsOfAllHandles(false,mustUpdatePropagatedPoints);
531  if (p)
533 }
534 
535 void TrackCollHandleBase::setPropagationOptions( TrackSystemController::PropagationOptionFlags options){
536  messageVerbose("setPropagationOptions ==> Changed");
538  update3DObjectsOfAllHandles(false,true);
539 }
540 
542  messageVerbose("setPropMaxRadius ==> Changed to "+str(radius));
544  update3DObjectsOfAllHandles(false,true);
545 }
546 
548  messageVerbose("extrapolateToThisVolume ==> Changed");
549  update3DObjectsOfAllHandles(false,true);
550 }
551 
553  messageVerbose("clipVolumeChanged ==> Changed");
554  update3DObjectsOfAllHandles(false, false, radius);
555 }
556 
557 //____________________________________________________________________
558 void TrackCollHandleBase::setParts( TrackCommonFlags::TrackPartsFlags parts )
559 {
560  messageVerbose("setParts called");
561  if (m_parts==parts)
562  return;
563  messageVerbose("setParts ==> Changed");
564  bool onlymuonprojflagchanged = ( (parts^m_parts) == TrackCommonFlags::MuonProjections );
565  m_parts = parts;
566  update3DObjectsOfAllHandles(onlymuonprojflagchanged);
567 }
568 
569 //____________________________________________________________________
571 {
572  messageVerbose("setParts(int) called with angle="+str(angle));
573  //bit of a hack this- didn't want to make entire new machinery just to track angle.
574  // FIXME
575  update3DObjectsOfAllHandles(false,true);
576 }
577 
578 //____________________________________________________________________
580 {
581  messageVerbose("setActualPathShown(bool) called with hide="+str(hide));
582 
583  TrackCommonFlags::TrackPartsFlags parts = m_parts;
584  if (hide) parts &= ~TrackCommonFlags::ActualPath;
586  setParts(parts);
587 }
588 
589 //____________________________________________________________________
590 void TrackCollHandleBase::setLabels( TrackSystemController::TrackLabelModes labels )
591 {
592  messageVerbose("setLabels called");
593  if (m_labels==labels)
594  return;
595  messageVerbose("setLabels ==> Changed");
596  m_labels = labels;
598 }
599 
600 //____________________________________________________________________
602 {
603  messageVerbose("setLabelTrkOffset called");
605  return;
606  messageVerbose("setLabelTrkOffset ==> Changed to "+QString::number(offset));
609 }
610 
611 //____________________________________________________________________
612 void TrackCollHandleBase::setLabelPosOffsets( const QList<int>& offsets)
613 {
614  messageVerbose("setLabelPosOffsets called");
615  if (m_labelsPosOffsets==offsets)
616  return;
617  messageVerbose("setLabelPosOffsets ==> Changed");
618  m_labelsPosOffsets = offsets;
620 }
621 
622 //____________________________________________________________________
624 {
625  messageVerbose("setTrackTubeRadius called");
626  if (m_trackTubeRadius==r)
627  return;
629  messageVerbose("setTrackTubeRadius ==> Changed");
631 }
632 
633 //____________________________________________________________________
635 {
636  messageVerbose("setColourBy called");
637  if (m_colourby==cb)
638  return;
639  messageVerbose("setColourBy ==> Changed");
640  m_colourby=cb;
641 
642  //Update gui combobox:
643  QString targetText;
644  switch(cb) {
645  case COLOUR_BYPID:
646  targetText = Imp::comboBoxEntry_ColourByPID();
647  break;
648  case COLOUR_RANDOM:
649  targetText = Imp::comboBoxEntry_ColourByRandom();
650  break;
651  case COLOUR_MOMENTUM:
653  break;
654  case COLOUR_CHARGE:
655  targetText = Imp::comboBoxEntry_ColourByCharge();
656  break;
657  case COLOUR_DISTANCE:
659  break;
660  case COLOUR_VERTEX:
661  targetText = Imp::comboBoxEntry_ColourByVertex();
662  break;
663  default:
666  break;
667  }
668  if (targetText!=m_d->comboBox_colourby->currentText()) {
669  int i = m_d->comboBox_colourby->findText(targetText);
670  if (i>=0&&i<m_d->comboBox_colourby->count()) {
671  bool save = m_d->comboBox_colourby->blockSignals(true);
672  m_d->comboBox_colourby->setCurrentIndex(i);
673  m_d->comboBox_colourby->blockSignals(save);
674  } else {
675  message("ERROR: Problems finding correct text in combo box");
676  }
677  }
678 
679  //Actual material updates:
681  m_commonData->system()->deselectAll();//Todo: Reselect the selected track handles
682  //afterwards (collhandles should know selected handles)
684  largeChangesEnd();
685 
686 }
687 
688 //____________________________________________________________________
690 {
691  if (!isLoaded())
692  return;
693  messageVerbose("rerandomiseRandomTrackColours start");
696  for (;it!=itE;++it)
697  (*it)->rerandomiseRandomMaterial();
698  largeChangesEnd();
699  messageVerbose("rerandomiseRandomTrackColours end");
700 }
701 
702 //____________________________________________________________________
704 {
705  if (!isLoaded() || colourBy()!= COLOUR_DISTANCE)
706  return;
707  messageVerbose("trackSelectionChanged start");
710  for (;it!=itE;++it)
711  (*it)->updateMaterial();
712  largeChangesEnd();
713  messageVerbose("trackSelectionChanged end");
714 }
715 
716 //____________________________________________________________________
718 {
719  m_d->itTrackHandles = m_d->trackhandles.begin();
721 }
722 
723 //____________________________________________________________________
726  return nullptr;
727  else
728  return *(m_d->itTrackHandles++);
729 }
730 
731 
733  if ( (m_d->last_useDefaultCuts) == useDefaults) return;
734  messageVerbose("setUseDefaultCuts changed to "+str(useDefaults)+"- rechecking all handles");
735  // recheckCutStatusOfAllHandles();
736 
742 }
743 
744 //____________________________________________________________________
746 {
747  if (!allowedpt.isSane())
748  return;
749 
750  //why do we need to do this? Why does it matter if it's negative?
751  //double minptsq = allowedpt.lower() <= 0.0 ? -std::numeric_limits<double>::infinity() : allowedpt.lower()*allowedpt.lower();
752  //VP1Interval allowedptsq(minptsq,allowedpt.upper()*allowedpt.upper());
753 
754  //Modified code from EJWM
755  double signMin = allowedpt.lower()<0.0 ? -1.0 : 1.0;
756  double signMax = allowedpt.upper()<0.0 ? -1.0 : 1.0;
757  double minptsq = allowedpt.lower() == -std::numeric_limits<double>::infinity() ? -std::numeric_limits<double>::infinity() : signMin*(allowedpt.lower()*allowedpt.lower());
758  double maxptsq = allowedpt.upper() == std::numeric_limits<double>::infinity() ? std::numeric_limits<double>::infinity() : signMax*(allowedpt.upper()*allowedpt.upper());
759 
760  VP1Interval allowedptsq(minptsq,maxptsq);
761  // std::cout<<"allowedptsq:isAllR"<<allowedptsq.isAllR()<<std::endl;
762  // std::cout<<"allowedptsq.isEmpty()"<<allowedptsq.isEmpty()<<std::endl;
763 
764 
765  if (m_cut_allowedPtSq==allowedptsq)
766  return;
767  m_cut_pt_allowall = allowedptsq.isAllR();
768  m_cut_etaptphi_allwillfail = allowedptsq.isEmpty() || m_cut_allowedEta.isEmpty() || m_cut_allowedPhi.isEmpty();
769 
770  if (!m_cut_allowedPtSq.contains(allowedptsq)&&!allowedptsq.contains(m_cut_allowedPtSq)) {
771  m_cut_allowedPtSq = allowedptsq;
773  return;
774  }
775  bool relaxcut = allowedptsq.contains(m_cut_allowedPtSq);
776  m_cut_allowedPtSq = allowedptsq;
777  if (relaxcut)
779  else
781 }
782 
783 //____________________________________________________________________
785 {
786  messageVerbose("signal received in setCutAllowedEta ("+allowedEta.toString()+")");
787  if (!allowedEta.isSane())
788  return;
789 
790  if (m_cut_allowedEta==allowedEta)
791  return;
792  m_cut_eta_allowall = allowedEta.isAllR();
794 
795  if (!m_cut_allowedEta.contains(allowedEta)&&!allowedEta.contains(m_cut_allowedEta)) {
796  m_cut_allowedEta = allowedEta;
798  return;
799  }
800  bool relaxcut = allowedEta.contains(m_cut_allowedEta);
801  m_cut_allowedEta = allowedEta;
802  if (relaxcut)
804  else
806 }
807 
808 //____________________________________________________________________
809 void TrackCollHandleBase::setCutAllowedPhi(const QList<VP1Interval>& allowedPhi)
810 {
811  messageVerbose("signal received in setCutAllowedPhi.");
812 
813  if (m_cut_allowedPhi==allowedPhi)
814  return;
815  m_cut_allowedPhi = allowedPhi;
816 
817  m_cut_phi_allowall = m_cut_allowedPhi.count()==1 && m_cut_allowedPhi.at(0).isAllR();
819 
820  if (m_cut_phi_allowall) {
822  return;
823  }
826  return;
827  }
829 }
830 
831 //____________________________________________________________________
832 void TrackCollHandleBase::setRequiredNHits(const QList<unsigned>& l)
833 {
835  return;//never deal with this...
836  if (m_cut_requiredNHits==l)
837  return;
838 
839  //A bit complex to figure out if the cut change is pure relaxation or tightening:
840  bool relaxed(false),tightened(false);
841  if (m_cut_requiredNHits.isEmpty()) {
842  relaxed = false;
843  tightened = true;
844  } else {
845  if (l.isEmpty()) {
846  relaxed = true;
847  tightened = false;
848  } else {
849  assert(l.count()==m_cut_requiredNHits.count());
850  relaxed = false;
851  tightened = false;
852  for (int i=0;i<l.count();++i) {
853  if (m_cut_requiredNHits[i]>l[i])
854  relaxed=true;
855  else if (m_cut_requiredNHits[i]<l[i])
856  tightened = true;
857  }
858  }
859  }
860  assert(relaxed||tightened);
862  if (relaxed&&tightened) {
864  } else {
865  if (relaxed)
867  else
869  }
870 }
871 
875 }
876 
877 //____________________________________________________________________
879  messageVerbose("setOnlyVertexAssocTracks changed to "+str(b));
880 
881  if (b)
883  else
885 }
886 
887 //____________________________________________________________________
889 {
892  TrackHandleBase* handle;
893  while ((handle=getNextTrackHandle()))
895  largeChangesEnd();
896 }
897 
898 //____________________________________________________________________
900 {
903  TrackHandleBase* handle;
904  while ((handle=getNextTrackHandle()))
906  largeChangesEnd();
907 
908  fillObjectBrowser(); // FIXME! Probably not the right place to call this
909 }
910 
911 //____________________________________________________________________
912 void TrackCollHandleBase::setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
913 {
914  if (m_d->shownTSOSParts==f)
915  return;
917  if (visible()) messageVerbose("shown TSOS parts changed to "+str(f));
919 }
920 
921 
922 //____________________________________________________________________
923 void TrackCollHandleBase::setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
924 {
926  return;
928  if (visible()) messageVerbose("custom coloured TSOS parts changed to "+str(f));
930 }
931 
932 //____________________________________________________________________
934 {
936  return;
940  TrackHandleBase* handle;
941  while ((handle=getNextTrackHandle()))
943  largeChangesEnd();
944 }
945 
946 
947 //____________________________________________________________________
949 {
951  return;
955  TrackHandleBase* handle;
956  while ((handle=getNextTrackHandle()))
958  largeChangesEnd();
959 }
960 
961 //____________________________________________________________________
963 {
964  // if (visible()) messageVerbose("TrackCollHandleBase::setDrawMeasGlobalPositions => "+str(b));
965 
967  return;
969 
972  TrackHandleBase* handle;
973  while ((handle=getNextTrackHandle()))
975  largeChangesEnd();
976 }
977 
978 //____________________________________________________________________
980 {
982  return;
986  TrackHandleBase* handle;
987  while ((handle=getNextTrackHandle()))
989  largeChangesEnd();
990 }
991 
992 //____________________________________________________________________
994 {
995  if (m_d->tsos_nStdDevForParamErrors==nstddev)
996  return;
1000  TrackHandleBase* handle;
1001  while ((handle=getNextTrackHandle()))
1002  handle->updateShapes_TSOSWithErrors();
1003  largeChangesEnd();
1004 }
1005 
1006 //____________________________________________________________________
1008 {
1010  return;
1014  TrackHandleBase* handle;
1015  while ((handle=getNextTrackHandle()))
1016  handle->updateShapes_TSOSWithErrors();
1017  largeChangesEnd();
1018 }
1019 
1020 //____________________________________________________________________
1022 {
1024  return;
1028  TrackHandleBase* handle;
1029  while ((handle=getNextTrackHandle()))
1031  largeChangesEnd();
1032 }
1033 
1034 //____________________________________________________________________
1036 {
1038  return;
1042  TrackHandleBase* handle;
1043  while ((handle=getNextTrackHandle()))
1044  handle->updateShapes_TSOSWithErrors();
1045  largeChangesEnd();
1046 }
1047 
1048 //____________________________________________________________________
1050 {
1051  return TrackType::typeToInt(m_type);
1052 }
1053 
1054 //____________________________________________________________________
1056 {
1057  if (!m_sephelper)
1059 
1060  if (VP1Msg::verbose())
1061  messageVerbose("TrackCollHandleBase::collVisibilityChanged => "+str(vis));
1062  if (vis){
1063  recheckCutStatusOfAllNotVisibleHandles();//Fixme -> ofallhandles? All must be not visible anyway...
1065  if (m_d->objBrowseTree) m_d->objBrowseTree->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
1066  }else{
1068 // QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
1069 // if (m_d->objBrowseTree && trkObjBrowser) {
1070 // trkObjBrowser->takeTopLevelItem(trkObjBrowser->indexOfTopLevelItem(m_d->objBrowseTree));
1071 // delete m_d->objBrowseTree; m_d->objBrowseTree=0;
1072 // }
1073  // FIXME - need to loop through handles setting pointers to deleted QTreeWidgetItems
1074  if (m_d->objBrowseTree) m_d->objBrowseTree->setFlags(Qt::ItemFlags()); // not selectable, not enabled
1075  }
1078 }
1079 
1081  messageVerbose("TrackCollHandleBase::updateObjectBrowserVisibilityCounts called for "+name());
1082  QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
1083  if (!trkObjBrowser || !m_d->objBrowseTree) {
1084  messageVerbose("TrackCollHandleBase::updateObjectBrowserVisibilityCounts: no common()->controller()->trackObjBrowser() and/or m_d->objBrowseTree. Aborting");
1085  messageVerbose("trkObjBrowser: "+str(trkObjBrowser)+"\t m_d->objBrowseTree: "+str(m_d->objBrowseTree));
1086  return;
1087  }
1088  QString text(QString(": (")+QString::number(nShownHandles())+QString("/")+QString::number(m_d->trackhandles.size())+QString(") visible"));
1089  m_d->objBrowseTree->setText(1, text);
1090 }
1091 
1093 {
1094  QElapsedTimer t;
1095  t.start();
1096 
1097  QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
1098  if (!trkObjBrowser) {
1099  messageVerbose("TrackCollHandleBase::fillObjectBrowser: no common()->controller()->trackObjBrowser(). Aborting");
1100  return;
1101  }
1102  if (!nShownHandles()) {
1103  //messageVerbose("TrackCollHandleBase::fillObjectBrowser: no shown handles, so leaving.");
1104  return; // don't bother with hidden collection
1105  }
1106  messageVerbose("TrackCollHandleBase::fillObjectBrowser called for "+name());
1107 
1108  trkObjBrowser->setUpdatesEnabled(false);
1109 
1110  bool firstTime=false;
1111  if (!m_d->objBrowseTree) {
1112  m_d->objBrowseTree = new QTreeWidgetItem(0);
1113  firstTime=true;
1114  messageVerbose("TrackCollHandleBase::fillObjectBrowser: First time so creating QTreeWidgetItem.");
1115  } else {
1116  int index = trkObjBrowser->indexOfTopLevelItem(m_d->objBrowseTree);
1117  if (index==-1 ) {
1118  messageVerbose("Missing from WidgetTree! Will continue but something must be wrong");
1119  }
1120  }
1121 
1122  messageVerbose("TrackCollHandleBase::fillObjectBrowser about to start looping over tracks at "+QString::number(t.elapsed())+" ms");
1123 
1124  QList<QTreeWidgetItem *> list;
1126  TrackHandleBase* trkHandle=nullptr;
1127  unsigned int i=0;
1128  unsigned int numVisible=0;
1129  while ((trkHandle=getNextTrackHandle()))
1130  {
1131  if (firstTime){
1132  trkHandle->fillObjectBrowser(list);
1133  } else {
1134  trkHandle->updateObjectBrowser();
1135  }
1136 
1137  if (trkHandle->visible() ) numVisible++;
1138  i++;
1139  }
1140 
1141  QString text(QString(": (")+QString::number(numVisible)+QString("/")+QString::number(i)+QString(") visible"));
1142 
1143  m_d->objBrowseTree->setText(0, name());
1144  m_d->objBrowseTree->setText(1, text);
1145  m_d->objBrowseTree->addChildren(list);
1146  trkObjBrowser->addTopLevelItem(m_d->objBrowseTree);
1147  trkObjBrowser->setUpdatesEnabled(true);
1148 
1149  messageVerbose("TrackCollHandleBase::fillObjectBrowser completed in "+QString::number(t.elapsed())+" ms");
1150 
1151 }
1152 
1153 //____________________________________________________________________
1155 {
1156  VP1QtInventorUtils::setMatColor( m, defaultColor(), 0.18/*brightness*/ );
1157 }
1158 
1159 //____________________________________________________________________
1161 {
1162  switch (cb) {
1163  case COLOUR_PERCOLLECTION: return "COLOUR_PERCOLLECTION";
1164  case COLOUR_RANDOM: return "COLOUR_RANDOM";
1165  case COLOUR_MOMENTUM: return "COLOUR_MOMENTUM";
1166  case COLOUR_CHARGE: return "COLOUR_CHARGE";
1167  case COLOUR_BYPID: return "COLOUR_BYPID";
1168  case COLOUR_DISTANCE: return "COLOUR_DISTANCE";
1169  default: return "Unknown (ERROR)";
1170  }
1171 }
1172 //____________________________________________________________________
1174 {
1175  return QList<QWidget*>() << m_d->comboBox_colourby;
1176 
1177 }
1178 
1179 //____________________________________________________________________
1181 {
1182  VP1Serialise serialise(0/*version*/,systemBase());
1184  serialise.disableUnsavedChecks();
1185  return serialise.result();
1186 }
1187 
1188 //____________________________________________________________________
1190 {
1191  VP1Deserialise state(ba, systemBase());
1192  if (state.version()!=0)
1193  return;//just ignore silently... i guess we ought to warn?
1194  state.restore(m_d->comboBox_colourby);
1195  state.disableUnrestoredChecks();
1197 }
1198 
1199 //____________________________________________________________________
1201 {
1202  messageVerbose("Collection detail level combo box changed index");
1203  if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByPID())
1205  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByRandom())
1207  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByMomentum())
1209  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByCharge())
1213  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByVertex())
1215  else
1217 }
1218 
1219 //____________________________________________________________________
1221 {
1222  messageVerbose("Collection colour changed");
1223 
1224  if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByRandom()) {
1227  TrackHandleBase* handle;
1228  while ((handle=getNextTrackHandle()))
1230  largeChangesEnd();
1231  } else {
1233  }
1234 }
1235 
1237 {
1238  if (!m_d->matButton) {
1239  message("ERROR: useDefaultCuts(..) called before init()");
1240  return true;
1241  }
1242  return m_d->matButton->useDefaultCuts();
1243 }
1244 
1246 {
1247  if (!m_d->matButton) {
1248  message("ERROR: cutOnlyVertexAssocTracks(..) called before init()");
1249  return false;
1250  }
1253 }
1254 
1255 
1256 
1257 
1258 //____________________________________________________________________
1259 void TrackCollHandleBase::setState(const QByteArray&state)
1260 {
1261  if (!m_d->matButton) {
1262  message("ERROR: setState(..) called before init()");
1263  return;
1264  }
1265  VP1Deserialise des(state);
1266  des.disableUnrestoredChecks();
1267  if (des.version()!=0&&des.version()!=1) {
1268  messageDebug("Warning: Ignoring state with wrong version");
1269  return;
1270  }
1271  bool vis = des.restoreBool();
1272 
1273  QByteArray matState = des.restoreByteArray();
1274  m_d->matButton->restoreFromState(matState);
1275  QByteArray extraWidgetState = des.version()>=1 ? des.restoreByteArray() : QByteArray();
1276  setVisible(vis);
1277 
1278  if (extraWidgetState!=QByteArray())
1279  setExtraWidgetsState(extraWidgetState);
1280 }
1281 
1282 //____________________________________________________________________
1284 {
1285  if (!m_d->matButton) {
1286  message("ERROR: persistifiableState() called before init()");
1287  return {};
1288  }
1289  VP1Serialise serialise(1/*version*/);
1290  serialise.disableUnsavedChecks();
1291  serialise.save(visible());
1292  Q_ASSERT(m_d->matButton&&"Did you forget to call init() on this VP1StdCollection?");
1293  serialise.save(m_d->matButton->saveState());
1294  serialise.save(extraWidgetsState());//version 1+
1295  return serialise.result();
1296 }
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
TrackCollHandleBase::allowColourByMomentum
virtual bool allowColourByMomentum() const
Definition: TrackCollHandleBase.h:145
TrackCollHandleBase::nShownHandles
int nShownHandles()
Definition: TrackCollHandleBase.h:123
VP1Serialise.h
TrackSystemController::useShortTRTMeasurements
bool useShortTRTMeasurements() const
Definition: TrackSystemController.cxx:1561
TrackCollHandleBase::Imp::comboBoxEntry_ColourByDistanceFromSelectedTrack
static QString comboBoxEntry_ColourByDistanceFromSelectedTrack()
Definition: TrackCollHandleBase.cxx:86
TrackCollHandleBase::m_cut_requiredNHits
QList< unsigned > m_cut_requiredNHits
Definition: TrackCollHandleBase.h:225
TrackCollHandleBase::setLabelTrkOffset
void setLabelTrkOffset(float)
Definition: TrackCollHandleBase.cxx:601
beamspotman.r
def r
Definition: beamspotman.py:676
TrackCollectionSettingsButton::cutAllowedPt
VP1Interval cutAllowedPt() const
Definition: TrackCollectionSettingsButton.cxx:489
TrackCollHandleBase::Imp::trackhandles
std::vector< TrackHandleBase * > trackhandles
Definition: TrackCollHandleBase.cxx:59
VP1Interval::isSane
bool isSane() const
TrackCollHandleBase.h
TrackCollHandleBase
Definition: TrackCollHandleBase.h:49
TrackCollHandleBase::Imp::comboBoxEntry_ColourByMomentum
static QString comboBoxEntry_ColourByMomentum()
Definition: TrackCollHandleBase.cxx:83
TrackCollHandleBase::setRequiredDetectorElement
void setRequiredDetectorElement(const QString &id)
Definition: TrackCollHandleBase.cxx:872
TrackCollHandleBase::Imp::comboBoxEntry_ColourByVertex
static QString comboBoxEntry_ColourByVertex()
Definition: TrackCollHandleBase.cxx:87
TrackCollHandleBase::setShownTSOSParts
void setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags)
Definition: TrackCollHandleBase.cxx:912
TrackCollectionSettingsButton::restoreFromState
void restoreFromState(const QByteArray &)
Definition: TrackCollectionSettingsButton.cxx:440
VP1Deserialise.h
VP1Serialise
Definition: VP1Serialise.h:45
TrackSystemController::propagationOptions
PropagationOptionFlags propagationOptions() const
Definition: TrackSystemController.cxx:1646
TrackSysCommonData::controller
TrackSystemController * controller() const
Definition: TrackSysCommonData.h:124
TrackHandleBase::fillObjectBrowser
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Called in child classes.
Definition: TrackHandleBase.cxx:2009
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
TrackCollHandleBase::m_cut_allowedPtSq
VP1Interval m_cut_allowedPtSq
Definition: TrackCollHandleBase.h:222
GlobalVariables.phirange
phirange
Definition: GlobalVariables.py:64
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
TrackCollHandleBase::Imp::tsos_nStdDevForParamErrors
double tsos_nStdDevForParamErrors
Definition: TrackCollHandleBase.cxx:73
TrackCollHandleBase::setCutAllowedPhi
void setCutAllowedPhi(const QList< VP1Interval > &)
Definition: TrackCollHandleBase.cxx:809
TrackSystemController.h
RoiUtil::serialise
void serialise(const std::vector< const IRoiDescriptor * > &rois, roiserial_type &s)
serialise an entire vector of IRoiDescriptors
Definition: RoiSerialise.cxx:45
TrackSystemController::propagator
Trk::IExtrapolator * propagator() const
Definition: TrackSystemController.cxx:1633
TrackCollHandleBase::Imp::comboBoxEntry_ColourByCharge
static QString comboBoxEntry_ColourByCharge()
Definition: TrackCollHandleBase.cxx:84
TrackCollHandleBase::parts
TrackCommonFlags::TrackPartsFlags parts() const
Definition: TrackCollHandleBase.h:136
TrackCollHandleBase::setUseDefaultCuts
void setUseDefaultCuts(bool)
Definition: TrackCollHandleBase.cxx:732
VP1ExtraSepLayerHelper.h
TrackCollHandleBase::Imp::tsos_drawMeasGlobalPositions
bool tsos_drawMeasGlobalPositions
Definition: TrackCollHandleBase.cxx:71
TrackCollHandleBase::Imp::last_useDefaultCuts
bool last_useDefaultCuts
Definition: TrackCollHandleBase.cxx:91
index
Definition: index.py:1
TrackCollHandleBase::m_cut_allowedEta
VP1Interval m_cut_allowedEta
Definition: TrackCollHandleBase.h:223
TrackCollHandleBase::clipVolumeChanged
void clipVolumeChanged(double)
Definition: TrackCollHandleBase.cxx:552
VP1Msg.h
TrackSystemController::customColouredTSOSParts
TrackCommonFlags::TSOSPartsFlags customColouredTSOSParts() const
Definition: TrackSystemController.cxx:1539
TrackCollectionSettingsButton::trackLightModel
SoLightModel * trackLightModel() const
Definition: TrackCollectionSettingsButton.cxx:297
TrackSystemController::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Definition: TrackSystemController.cxx:1781
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
TrackHandleBase.h
TrackCollHandleBase::Imp::lastUsedPropagator
Trk::IExtrapolator * lastUsedPropagator
Definition: TrackCollHandleBase.cxx:64
TrackCollHandleBase::m_cut_phi_allowall
bool m_cut_phi_allowall
Definition: TrackCollHandleBase.h:229
TrackCollHandleBase::setupSettingsFromControllerSpecific
virtual void setupSettingsFromControllerSpecific(TrackSystemController *)
Definition: TrackCollHandleBase.h:70
VP1StdCollection::collSwitch
SoSwitch * collSwitch() const
Add this somewhere in your scenegraph (do not add any children here!)
Definition: VP1StdCollection.cxx:204
VP1Deserialise::disableUnrestoredChecks
void disableUnrestoredChecks()
Definition: VP1Deserialise.cxx:690
TrackCollHandleBase::updateMuonProjectionsOfAllHandles
void updateMuonProjectionsOfAllHandles()
Definition: TrackCollHandleBase.cxx:480
fillPileUpNoiseLumi.connect
string connect
Definition: fillPileUpNoiseLumi.py:70
TrackCollHandleBase::COLOUR_MOMENTUM
@ COLOUR_MOMENTUM
Definition: TrackCollHandleBase.h:138
TrackCollHandleBase::m_parts
TrackCommonFlags::TrackPartsFlags m_parts
Definition: TrackCollHandleBase.h:215
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
TrackCommonFlags
Definition: TrackCommonFlags.h:21
TrackSystemController::nStdDevForParamErrors
double nStdDevForParamErrors() const
Definition: TrackSystemController.cxx:1598
skel.it
it
Definition: skel.GENtoEVGEN.py:396
TrackSystemController::shownTrackParts
TrackCommonFlags::TrackPartsFlags shownTrackParts() const
Definition: TrackSystemController.cxx:1479
TrackCommonFlags::MuonProjections
@ MuonProjections
Definition: TrackCommonFlags.h:28
M_PI
#define M_PI
Definition: ActiveFraction.h:11
TrackCollectionSettingsButton::useDefaultCuts
bool useDefaultCuts() const
Definition: TrackCollectionSettingsButton.cxx:308
TrackSysCommonData::system
VP1TrackSystem * system() const
Definition: TrackSysCommonData.h:122
TrackCollHandleBase::Imp::comboBoxEntry_ColourByPID
static QString comboBoxEntry_ColourByPID()
Definition: TrackCollHandleBase.cxx:85
TrackCollHandleBase::Imp
Definition: TrackCollHandleBase.cxx:53
TrackCollHandleBase::setLabels
void setLabels(TrackSystemController::TrackLabelModes)
Definition: TrackCollHandleBase.cxx:590
VP1StdCollection::init
virtual void init(VP1MaterialButtonBase *button=0)
Definition: VP1StdCollection.cxx:73
TrackHandleBase::updateShapes_TSOSWithMeasurements
void updateShapes_TSOSWithMeasurements()
Definition: TrackHandleBase.cxx:261
TrackCollHandleBase::setDrawMeasGlobalPositions
void setDrawMeasGlobalPositions(bool)
Definition: TrackCollHandleBase.cxx:962
TrackSystemController::vertexProjectionAngle
int vertexProjectionAngle() const
Definition: TrackSystemController.cxx:1490
TrackCollHandleBase::setCustomColouredTSOSParts
void setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags)
Definition: TrackCollHandleBase.cxx:923
TrackCollectionSettingsButton::trackDrawStyle
SoDrawStyle * trackDrawStyle() const
Definition: TrackCollectionSettingsButton.cxx:292
TrackCollHandleBase::setOnlyVertexAssocTracks
void setOnlyVertexAssocTracks(bool)
Definition: TrackCollHandleBase.cxx:878
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
VP1StdCollection::largeChangesBegin
virtual void largeChangesBegin()
Definition: VP1StdCollection.cxx:228
TrackCollectionSettingsButton::trackTubeRadius
double trackTubeRadius() const
Definition: TrackCollectionSettingsButton.cxx:254
TrackCollHandleBase::recheckCutStatusOfAllNotVisibleHandles
void recheckCutStatusOfAllNotVisibleHandles()
Definition: TrackCollHandleBase.cxx:407
TrackCollHandleBase::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
Definition: TrackCollHandleBase.cxx:1245
TrackCollHandleBase::toString
static QString toString(const COLOURBY &)
Definition: TrackCollHandleBase.cxx:1160
VP1Interval::upper
double upper() const
TrackSystemController::parTubeErrorsDrawCylinders
bool parTubeErrorsDrawCylinders() const
Definition: TrackSystemController.cxx:1604
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TrackHandleBase::getNSCTHits
virtual unsigned getNSCTHits() const
Definition: TrackHandleBase.h:108
TrackCollHandleBase::m_cut_pt_allowall
bool m_cut_pt_allowall
Definition: TrackCollHandleBase.h:227
VP1TrackSystem::materialFromVertex
SoMaterial * materialFromVertex(const TrackHandleBase *trk) const
Returns the material for the vertex which knows this trackhandle (if known)
Definition: VP1TrackSystem.cxx:997
TrackCollHandleBase::hintNumberOfTracksInEvent
void hintNumberOfTracksInEvent(unsigned)
Definition: TrackCollHandleBase.cxx:509
TrackCollHandleBase::Imp::theclass
TrackCollHandleBase * theclass
Definition: TrackCollHandleBase.cxx:55
TrackCollHandleBase::actualSetShownTSOSPartsOnHandles
void actualSetShownTSOSPartsOnHandles()
Definition: TrackCollHandleBase.cxx:899
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
TrackCollHandleBase::TrackCollHandleBase
TrackCollHandleBase(TrackSysCommonData *, const QString &name, TrackType::Type)
Definition: TrackCollHandleBase.cxx:97
TrackCollHandleBase::persistifiableState
virtual QByteArray persistifiableState() const
Provide specific implementation.
Definition: TrackCollHandleBase.cxx:1283
TrackCollHandleBase::defaultColourBy
virtual COLOURBY defaultColourBy() const
Definition: TrackCollHandleBase.h:143
TrackCollHandleBase::Imp::shownTSOSParts
TrackCommonFlags::TSOSPartsFlags shownTSOSParts
Definition: TrackCollHandleBase.cxx:67
VP1HelperClassBase::messageDebug
void messageDebug(const QString &) const
Definition: VP1HelperClassBase.cxx:65
TrackCollHandleBase::setParts
void setParts(TrackCommonFlags::TrackPartsFlags)
Definition: TrackCollHandleBase.cxx:558
TrackCollHandleBase::defaultColor
virtual QColor defaultColor() const =0
TrackCollHandleBase::useDefaultCuts
bool useDefaultCuts() const
Return true if this collection uses the default (i.e.
Definition: TrackCollHandleBase.cxx:1236
TrackCollHandleBase::m_cut_eta_allowall
bool m_cut_eta_allowall
Definition: TrackCollHandleBase.h:228
TrackCollHandleBase::m_labelsTrkOffset
float m_labelsTrkOffset
Definition: TrackCollHandleBase.h:217
xAOD::unsigned
unsigned
Definition: RingSetConf_v1.cxx:662
TrackSystemController::shownTSOSParts
TrackCommonFlags::TSOSPartsFlags shownTSOSParts() const
Definition: TrackSystemController.cxx:1505
TrackCollectionSettingsButton::setText
void setText(const QString &)
Definition: TrackCollectionSettingsButton.cxx:84
TruthTest.itE
itE
Definition: TruthTest.py:25
TrackSystemController::measurementsShorttubesScale
double measurementsShorttubesScale() const
Definition: TrackSystemController.cxx:1592
TrackHandleBase::updateObjectBrowser
virtual void updateObjectBrowser()
Definition: TrackHandleBase.h:134
VP1LinAlgUtils::phiFromXY
static double phiFromXY(const double &x, const double &y)
Definition: VP1LinAlgUtils.cxx:374
TrackCollHandleBase::Imp::tsos_parTubeErrorsDrawCylinders
bool tsos_parTubeErrorsDrawCylinders
Definition: TrackCollHandleBase.cxx:76
VP1QtInventorUtils.h
TrackCollHandleBase::setPropagator
void setPropagator(Trk::IExtrapolator *)
Definition: TrackCollHandleBase.cxx:521
VP1LinAlgUtils.h
TrackCollHandleBase::updateInDetProjectionsOfAllHandles
void updateInDetProjectionsOfAllHandles()
Definition: TrackCollHandleBase.cxx:465
TrackCollHandleBase::cut
virtual bool cut(TrackHandleBase *)
Definition: TrackCollHandleBase.cxx:316
TrackSystemController::cutAllowedEta
VP1Interval cutAllowedEta() const
Definition: TrackSystemController.cxx:1822
TrackCollHandleBase::m_cut_allowedPhi
QList< VP1Interval > m_cut_allowedPhi
Definition: TrackCollHandleBase.h:224
VP1CustomTourEditor.h
TrackCollHandleBase::COLOUR_PERCOLLECTION
@ COLOUR_PERCOLLECTION
Definition: TrackCollHandleBase.h:138
TrackCollectionSettingsButton
Definition: TrackCollectionSettingsButton.h:13
m_type
TokenType m_type
the type
Definition: TProperty.cxx:44
VP1Controller::customTourEditor
static VP1CustomTourEditor * customTourEditor()
Definition: VP1Controller.h:61
VP1Deserialise::version
qint32 version() const
Definition: VP1Deserialise.cxx:143
GeoPrimitives.h
TrackCollHandleBase::Imp::comboBox_colourby
QComboBox * comboBox_colourby
Definition: TrackCollHandleBase.cxx:79
TrackHandleBase::getNTRTHits
virtual unsigned getNTRTHits() const
Definition: TrackHandleBase.h:109
TrackCollHandleBase::setNumberOfPointsOnCircles
void setNumberOfPointsOnCircles(int)
Definition: TrackCollHandleBase.cxx:1007
TrackCollHandleBase::colourByComboBoxItemChanged
void colourByComboBoxItemChanged()
Definition: TrackCollHandleBase.cxx:1200
TrackCollHandleBase::setRequiredNHits
void setRequiredNHits(const QList< unsigned > &)
Definition: TrackCollHandleBase.cxx:832
TrackCollHandleBase::collMaterialTransparencyAndBrightnessChanged
virtual void collMaterialTransparencyAndBrightnessChanged()
Definition: TrackCollHandleBase.cxx:1220
TrackCollHandleBase::allowColourByVertex
virtual bool allowColourByVertex() const
Definition: TrackCollHandleBase.h:148
TrackCollectionSettingsButton::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
Definition: TrackCollectionSettingsButton.cxx:535
TrackCollHandleBase::allowColourByDistanceFromSelectedTrack
virtual bool allowColourByDistanceFromSelectedTrack() const
Definition: TrackCollHandleBase.h:147
checkTP.save
def save(self, fileName="./columbo.out")
Definition: checkTP.py:178
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
TrackSystemController::drawMeasGlobalPositions
bool drawMeasGlobalPositions() const
Definition: TrackSystemController.cxx:1585
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
TrackHandleBase::updateShapes_TSOSWithErrors
void updateShapes_TSOSWithErrors()
Definition: TrackHandleBase.cxx:274
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
TrackCollHandleBase::provideCollTypeID
qint32 provideCollTypeID() const
Definition: TrackCollHandleBase.cxx:1049
VP1Interval::lower
double lower() const
TrackCollHandleBase::setState
virtual void setState(const QByteArray &)
Provide specific implementation.
Definition: TrackCollHandleBase.cxx:1259
VP1ExtraSepLayerHelper
Definition: VP1ExtraSepLayerHelper.h:22
TrackCollHandleBase::Imp::itTrackHandles
std::vector< TrackHandleBase * >::iterator itTrackHandles
Definition: TrackCollHandleBase.cxx:61
TrackCollHandleBase::updateMaterialOfAllHandles
void updateMaterialOfAllHandles()
Definition: TrackCollHandleBase.cxx:495
TrackSysCommonData
Definition: TrackSysCommonData.h:50
TrackSystemController::useShortMDTMeasurements
bool useShortMDTMeasurements() const
Definition: TrackSystemController.cxx:1567
VP1StdCollection::setVisible
void setVisible(bool)
Definition: VP1StdCollection.cxx:160
TrackHandleBase::setCustomColouredTSOSParts
void setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
Definition: TrackHandleBase.cxx:356
TrackHandleBase::updateRandomColourTransparencyAndBrightness
void updateRandomColourTransparencyAndBrightness()
Definition: TrackHandleBase.cxx:1436
lumiFormat.i
int i
Definition: lumiFormat.py:85
TrackHandleBase::hasSubSystemHitInfo
virtual bool hasSubSystemHitInfo() const
Definition: TrackHandleBase.h:104
TrackCollHandleBase::Imp::comboBoxEntry_ColourByRandom
static QString comboBoxEntry_ColourByRandom()
Definition: TrackCollHandleBase.cxx:82
TrackHandleBase::momentum
virtual Amg::Vector3D momentum() const
Definition: TrackHandleBase.h:83
beamspotman.n
n
Definition: beamspotman.py:731
TrackHandleBase::visible
bool visible() const
Definition: TrackHandleBase.h:67
TrackCollHandleBase::updateObjectBrowserVisibilityCounts
void updateObjectBrowserVisibilityCounts()
Definition: TrackCollHandleBase.cxx:1080
TrackHandleBase::setShownTSOSParts
void setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
Definition: TrackHandleBase.cxx:312
TrackCollHandleBase::colourBy
COLOURBY colourBy() const
Definition: TrackCollHandleBase.h:141
angle
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Definition: TRTDetectorFactory_Full.cxx:73
TrackCollHandleBase::m_propMaxRadius
float m_propMaxRadius
Definition: TrackCollHandleBase.h:214
TrackCommonFlags::ActualPath
@ ActualPath
Definition: TrackCommonFlags.h:26
IVP13DSystem.h
TrackCollHandleBase::cutAllowedEta
VP1Interval cutAllowedEta() const
TrackCollHandleBase::setCutAllowedEta
void setCutAllowedEta(const VP1Interval &)
Definition: TrackCollHandleBase.cxx:784
TrackCollHandleBase::cleanupPtrContainer
void cleanupPtrContainer(T &) const
Definition: TrackCollHandleBase.h:254
VP1StdCollection::visibilityChanged
void visibilityChanged(bool)
TrackHandleBase::getNMuonHits
virtual unsigned getNMuonHits() const
Definition: TrackHandleBase.h:110
TrackCollHandleBase::assignDefaultMaterial
virtual void assignDefaultMaterial(SoMaterial *) const
Definition: TrackCollHandleBase.cxx:1154
TrackSystemController::trackLabels
TrackLabelModes trackLabels()
Definition: TrackSystemController.cxx:2215
TrackCollHandleBase::m_cut_etaptphi_allwillfail
bool m_cut_etaptphi_allwillfail
Definition: TrackCollHandleBase.h:230
TrackCollHandleBase::setMeasurementsShorttubesScale
void setMeasurementsShorttubesScale(double)
Definition: TrackCollHandleBase.cxx:979
hist_file_dump.f
f
Definition: hist_file_dump.py:135
TrackCollHandleBase::allowColourByPID
virtual bool allowColourByPID() const
Definition: TrackCollHandleBase.h:144
VP1StdCollection::text
QString text() const
Definition: VP1StdCollection.cxx:132
TrackCollHandleBase::COLOUR_VERTEX
@ COLOUR_VERTEX
Definition: TrackCollHandleBase.h:138
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
python.AtlRunQueryLib.options
options
Definition: AtlRunQueryLib.py:379
VP1Deserialise::restore
void restore(QCheckBox *sb)
Definition: VP1Deserialise.cxx:245
TrackCollHandleBase::Imp::objBrowseTree
QTreeWidgetItem * objBrowseTree
Definition: TrackCollHandleBase.cxx:89
TrackType::typeToInt
static qint32 typeToInt(const Type &)
Definition: TrackTypes.cxx:8
TrackCollHandleBase::trackSelectionChanged
void trackSelectionChanged()
Definition: TrackCollHandleBase.cxx:703
TrackSystemController::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: TrackSystemController.cxx:1828
TrackCollHandleBase::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
TrackCollHandleBase::recheckCutStatusOfAllHandles
void recheckCutStatusOfAllHandles()
Definition: TrackCollHandleBase.cxx:425
AscObjSelectionManager.h
TrackCollHandleBase::Imp::tsos_useShortMDTMeasurements
bool tsos_useShortMDTMeasurements
Definition: TrackCollHandleBase.cxx:70
TrackSystemController::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
Definition: TrackSystemController.cxx:1834
VP1Deserialise
Definition: VP1Deserialise.h:44
AscObj_TSOS.h
TrackCollHandleBase::setPropagationOptions
void setPropagationOptions(TrackSystemController::PropagationOptionFlags)
Definition: TrackCollHandleBase.cxx:535
TrackCollHandleBase::m_d
Imp * m_d
Definition: TrackCollHandleBase.h:204
TrackCollHandleBase::setLabelPosOffsets
void setLabelPosOffsets(const QList< int > &)
Definition: TrackCollHandleBase.cxx:612
TrackCollHandleBase::update3DObjectsOfAllHandles
void update3DObjectsOfAllHandles(bool onlythosetouchingmuonchambers=false, bool invalidatePropagatedPoints=false, float maxR=0.0)
Definition: TrackCollHandleBase.cxx:440
TrackCollHandleBase::setPropMaxRadius
void setPropMaxRadius(float)
Definition: TrackCollHandleBase.cxx:541
TrackType::Type
Type
Definition: TrackTypes.h:13
TrackHandleBase::getNPixelHits
virtual unsigned getNPixelHits() const
Definition: TrackHandleBase.h:107
VP1Interval::isEmpty
bool isEmpty() const
grepfile.sep
sep
Definition: grepfile.py:38
EventPrimitives.h
TrackCollHandleBase::m_trackTubeRadius
double m_trackTubeRadius
Definition: TrackCollHandleBase.h:219
TrackCollectionSettingsButton.h
TrackCollHandleBase::COLOUR_DISTANCE
@ COLOUR_DISTANCE
Definition: TrackCollHandleBase.h:138
TrackCollHandleBase::extraWidgetsState
QByteArray extraWidgetsState() const
Definition: TrackCollHandleBase.cxx:1180
VP1HelperClassBase::systemBase
IVP1System * systemBase() const
Definition: VP1HelperClassBase.h:50
TrackCollHandleBase::actualSetCustomColouredTSOSPartsOnHandles
void actualSetCustomColouredTSOSPartsOnHandles()
Definition: TrackCollHandleBase.cxx:888
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:227
python.selection.number
number
Definition: selection.py:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
VP1Interval::contains
bool contains(const double &x) const
TrackCollHandleBase::addTrackHandle
void addTrackHandle(TrackHandleBase *)
Definition: TrackCollHandleBase.cxx:515
TrackCollHandleBase::setExtraWidgetsState
void setExtraWidgetsState(const QByteArray &)
Definition: TrackCollHandleBase.cxx:1189
TrackSystemController
Definition: TrackSystemController.h:49
VP1StdCollection::isLoaded
bool isLoaded() const
Definition: VP1StdCollection.cxx:148
TrackCollHandleBase::m_requiredDetectorElement
QString m_requiredDetectorElement
Definition: TrackCollHandleBase.h:226
TrackCollHandleBase::fillObjectBrowser
void fillObjectBrowser()
Definition: TrackCollHandleBase.cxx:1092
TrackCollHandleBase::setMaterialEffectsOnTrackScale
void setMaterialEffectsOnTrackScale(double)
Definition: TrackCollHandleBase.cxx:1021
TrackSystemController::materialEffectsOnTrackScale
double materialEffectsOnTrackScale() const
Definition: TrackSystemController.cxx:1627
TrackCollHandleBase::setActualPathShown
void setActualPathShown(bool)
Definition: TrackCollHandleBase.cxx:579
TrackCollHandleBase::COLOUR_BYPID
@ COLOUR_BYPID
Definition: TrackCollHandleBase.h:138
TrackSystemController::cutAllowedPt
VP1Interval cutAllowedPt() const
Definition: TrackSystemController.cxx:1788
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
VP1Interval::toString
QString toString() const
Trk::IExtrapolator
Definition: IExtrapolator.h:62
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
TrackCollHandleBase::trackHandleIterationBegin
void trackHandleIterationBegin()
Definition: TrackCollHandleBase.cxx:717
VP1MaterialButtonBase
Definition: VP1MaterialButton.h:25
TrackCollHandleBase::Imp::tsos_materialEffectsOnTrackScale
double tsos_materialEffectsOnTrackScale
Definition: TrackCollHandleBase.cxx:75
TrackCollectionSettingsButton::saveState
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
Definition: TrackCollectionSettingsButton.cxx:394
TrackCollHandleBase::init
virtual void init(VP1MaterialButtonBase *matBut=0)
Definition: TrackCollHandleBase.cxx:144
TrackHandleBase::isIDTrack
virtual bool isIDTrack() const
Definition: TrackHandleBase.cxx:1626
VP1Interval::noUpperBound
bool noUpperBound() const
FPTracker::typeToString
std::string typeToString(Magnet::Type type)
Definition: magnetFactory.cxx:20
TrackCollectionSettingsButton::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
Definition: TrackCollectionSettingsButton.cxx:313
VP1StdCollection::largeChangesEnd
virtual void largeChangesEnd()
Definition: VP1StdCollection.cxx:239
TrackCollHandleBase::cutAllowedPt
VP1Interval cutAllowedPt() const
TrackCollHandleBase::rerandomiseRandomTrackColours
void rerandomiseRandomTrackColours()
Definition: TrackCollHandleBase.cxx:689
TrackHandleBase::updateShapes_TSOSWithMaterialEffects
void updateShapes_TSOSWithMaterialEffects()
Definition: TrackHandleBase.cxx:287
TrackCollHandleBase::setCutAllowedPt
void setCutAllowedPt(const VP1Interval &)
Definition: TrackCollHandleBase.cxx:745
TrackCollHandleBase::setParTubeErrorsDrawCylinders
void setParTubeErrorsDrawCylinders(bool)
Definition: TrackCollHandleBase.cxx:1035
VP1Interval
Definition: VP1Interval.h:23
TrackCollHandleBase::m_labels
TrackSystemController::TrackLabelModes m_labels
Definition: TrackCollHandleBase.h:216
TrackHandleBase::getNMuonPrecisionHits
virtual unsigned getNMuonPrecisionHits() const
Definition: TrackHandleBase.h:118
TrackCollHandleBase::m_propagator
Trk::IExtrapolator * m_propagator
Definition: TrackCollHandleBase.h:212
TrackCollHandleBase::Imp::tsos_numberOfPointsOnCircles
int tsos_numberOfPointsOnCircles
Definition: TrackCollHandleBase.cxx:74
TrackHandleBase::setVisible
void setVisible(bool)
use by the collection handle.
Definition: TrackHandleBase.cxx:434
TrackSystemController::trackObjBrowser
QTreeWidget * trackObjBrowser() const
Returns a pointer to the Track Object Browser (if it exists)
Definition: TrackSystemController.cxx:2051
TrackCollHandleBase::allowColourByCharge
virtual bool allowColourByCharge() const
Definition: TrackCollHandleBase.h:146
VP1QtInventorUtils::setMatColor
static void setMatColor(SoMaterial *, const double &r, const double &g, const double &b, const double &brightness=0.0, const double &transp=0.0)
Definition: VP1QtInventorUtils.cxx:1482
TrackCollHandleBase::setNStdDevForParamErrors
void setNStdDevForParamErrors(const double &)
Definition: TrackCollHandleBase.cxx:993
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrackCollHandleBase::m_propagationOptions
TrackSystemController::PropagationOptionFlags m_propagationOptions
Definition: TrackCollHandleBase.h:213
TrackHandleBase::containsDetElement
virtual bool containsDetElement(const QString &) const
Definition: TrackHandleBase.h:164
TrackCollHandleBase::setupSettingsFromController
void setupSettingsFromController(TrackSystemController *)
Definition: TrackCollHandleBase.cxx:198
VP1Interval::isAllR
bool isAllR() const
VP1ExtraSepLayerHelper::topSeparator
SoSeparator * topSeparator() const
Definition: VP1ExtraSepLayerHelper.cxx:178
VP1StdCollection::collSep
SoSeparator * collSep() const
All 3D objects from this coll.
Definition: VP1StdCollection.cxx:212
VP1StdCollection::visible
bool visible() const
Definition: VP1StdCollection.cxx:142
TrackCollHandleBase::Imp::itTrackHandlesEnd
std::vector< TrackHandleBase * >::iterator itTrackHandlesEnd
Definition: TrackCollHandleBase.cxx:62
TrackCollHandleBase::Imp::tsos_measurementsShorttubesScale
double tsos_measurementsShorttubesScale
Definition: TrackCollHandleBase.cxx:72
TrackCollectionSettingsButton::cutAllowedEta
VP1Interval cutAllowedEta() const
Definition: TrackCollectionSettingsButton.cxx:523
TrackSystemController::propMaxRadius
float propMaxRadius() const
Definition: TrackSystemController.cxx:1653
TrackCollHandleBase::COLOUR_RANDOM
@ COLOUR_RANDOM
Definition: TrackCollHandleBase.h:138
TrackCommonFlags::TSOS_NoObjects
@ TSOS_NoObjects
Definition: TrackCommonFlags.h:43
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
TrackCollHandleBase::~TrackCollHandleBase
virtual ~TrackCollHandleBase()
Definition: TrackCollHandleBase.cxx:183
TrackCollHandleBase::m_labelsPosOffsets
QList< int > m_labelsPosOffsets
Definition: TrackCollHandleBase.h:218
calibdata.cd
cd
Definition: calibdata.py:51
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
doL1CaloHVCorrections.parts
parts
Definition: doL1CaloHVCorrections.py:334
TrackCollHandleBase::Imp::notifystatesave
bool notifystatesave
Definition: TrackCollHandleBase.cxx:65
TrackCollHandleBase::Imp::comboBoxEntry_ColourByCollection
static QString comboBoxEntry_ColourByCollection()
Definition: TrackCollHandleBase.cxx:81
TrackSystemController::ignoreMeasurementEffectsOnTrackInProp
bool ignoreMeasurementEffectsOnTrackInProp()
If true (default) don't use TSOS with MEOT to draw track points.
Definition: TrackSystemController.cxx:1662
TrackCollHandleBase::recheckCutStatusOfAllVisibleHandles
void recheckCutStatusOfAllVisibleHandles()
Definition: TrackCollHandleBase.cxx:386
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
TrackCollHandleBase::Imp::name
QString name
Definition: TrackCollHandleBase.cxx:56
TrackCollHandleBase::Imp::tsos_useShortTRTMeasurements
bool tsos_useShortTRTMeasurements
Definition: TrackCollHandleBase.cxx:69
VP1StdCollection
Definition: VP1StdCollection.h:31
TrackCollHandleBase::setColourBy
void setColourBy(COLOURBY)
Definition: TrackCollHandleBase.cxx:634
TrackCollHandleBase::recheckCutStatus
void recheckCutStatus(TrackHandleBase *)
Definition: TrackCollHandleBase.cxx:380
TrackCollHandleBase::provideExtraWidgetsForGuiRow
QList< QWidget * > provideExtraWidgetsForGuiRow() const
Definition: TrackCollHandleBase.cxx:1173
TrackCollHandleBase::setUseShortMDTMeasurements
void setUseShortMDTMeasurements(bool)
Definition: TrackCollHandleBase.cxx:948
TrackCollHandleBase::Imp::customColouredTSOSParts
TrackCommonFlags::TSOSPartsFlags customColouredTSOSParts
Definition: TrackCollHandleBase.cxx:68
TrackCollHandleBase::m_commonData
TrackSysCommonData * m_commonData
Definition: TrackCollHandleBase.h:209
TrackCollHandleBase::common
TrackSysCommonData * common() const
Definition: TrackCollHandleBase.h:79
TrackCollHandleBase::setTrackTubeRadius
void setTrackTubeRadius(const double &)
Definition: TrackCollHandleBase.cxx:623
TrackCollHandleBase::getNextTrackHandle
TrackHandleBase * getNextTrackHandle()
Definition: TrackCollHandleBase.cxx:724
TrackCollHandleBase::m_type
TrackType::Type m_type
Definition: TrackCollHandleBase.h:208
TrackHandleBase
Definition: TrackHandleBase.h:56
TrackCollHandleBase::m_colourby
COLOURBY m_colourby
Definition: TrackCollHandleBase.h:220
TrackCollHandleBase::m_sephelper
VP1ExtraSepLayerHelper * m_sephelper
Definition: TrackCollHandleBase.h:211
TrackCollHandleBase::setUseShortTRTMeasurements
void setUseShortTRTMeasurements(bool)
Definition: TrackCollHandleBase.cxx:933
TrackCollHandleBase::collVisibilityChanged
void collVisibilityChanged(bool)
Definition: TrackCollHandleBase.cxx:1055
TrackCollectionSettingsButton::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: TrackCollectionSettingsButton.cxx:529
TrackSystemController::numberOfPointsOnCircles
int numberOfPointsOnCircles() const
Definition: TrackSystemController.cxx:1610
IVP13DSystem::deselectAll
virtual void deselectAll(SoCooperativeSelection *exception_sel=0)
Definition: IVP13DSystem.cxx:331
TrackCollHandleBase::COLOUR_CHARGE
@ COLOUR_CHARGE
Definition: TrackCollHandleBase.h:138
query_example.des
des
Definition: query_example.py:9
VP1TrackSystem.h
TrackCollHandleBase::Imp::matButton
TrackCollectionSettingsButton * matButton
Definition: TrackCollHandleBase.cxx:90
TrackCollHandleBase::mightHaveSubSystemHitInfo
virtual bool mightHaveSubSystemHitInfo() const
Definition: TrackCollHandleBase.h:87
TrackType
Definition: TrackTypes.h:10
TrackCollHandleBase::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
TrackCollHandleBase::name
const QString & name() const
Definition: TrackCollHandleBase.cxx:310
TrackCollHandleBase::COLOURBY
COLOURBY
Definition: TrackCollHandleBase.h:138
VP1Interval::noLowerBound
bool noLowerBound() const
TrackCollHandleBase::extrapolateToThisVolumeChanged
void extrapolateToThisVolumeChanged(void)
Definition: TrackCollHandleBase.cxx:547