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 //____________________________________________________________________
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  // std::cout<<"cutOnlyVertexAssocTracks: "<<handle<<",\t: "<<common()->system()->materialFromVertex(handle)<<std::endl;
374  return common()->system()->materialFromVertex(handle)!=nullptr; // return false if no vertex material associated to this track
375  }
376 
377  return true;
378 }
379 
380 //____________________________________________________________________
382 {
383  handle->setVisible( visible() && cut(handle));
384 }
385 
386 //____________________________________________________________________
388 {
389  if (!isLoaded())
390  return;
391 
392  //This method is called when a cut is tightened - thus we better start by deselectAll to avoid weird highlighting issues.
393  common()->system()->deselectAll();
394 
397  for (;it!=itE;++it) {
398  if ((*it)->visible())
400  }
402  largeChangesEnd();
403 
404  message("recheckCutStatusOfAllVisibleHandles: "+str(nShownHandles())+"/"+str(m_d->trackhandles.size())+" pass cuts");
405 }
406 
407 //____________________________________________________________________
409 {
410  if (!isLoaded())
411  return;
412 
415  for (;it!=itE;++it) {
416  if (!(*it)->visible())
418  }
420  largeChangesEnd();
421 
422  message("recheckCutStatusOfAllNotVisibleHandles: "+str(nShownHandles())+"/"+str(m_d->trackhandles.size())+" pass cuts");
423 }
424 
425 //____________________________________________________________________
427 {
428  if (!isLoaded())
429  return;
432  for (;it!=itE;++it)
435  largeChangesEnd();
436 
437  message("recheckCutStatusOfAllHandles: "+str(nShownHandles())+"/"+str(m_d->trackhandles.size())+" pass cuts");
438 }
439 
440 //____________________________________________________________________
441 void TrackCollHandleBase::update3DObjectsOfAllHandles(bool onlythosetouchingmuonchambers, bool invalidatePropagatedPoints, float maxR )
442 {
443  if (!isLoaded())
444  return;
445  if (VP1Msg::verbose())
446  messageVerbose("update3DObjectsOfAllHandles start (onlythosetouchingmuonchambers = "
447  +str(onlythosetouchingmuonchambers)+", invalidatePropagatedPoints = "
448  +str(invalidatePropagatedPoints)+")");
451  if (onlythosetouchingmuonchambers) {
452  for (;it!=itE;++it)
453  if (!(*it)->touchedMuonChambers().empty())
454  (*it)->update3DObjects(invalidatePropagatedPoints, maxR);
455  } else {
456  for (;it!=itE;++it)
457  (*it)->update3DObjects(invalidatePropagatedPoints, maxR);
458  }
459  largeChangesEnd();
460  messageVerbose("update3DObjectsOfAllHandles end");
461 }
462 
463 
464 
465 //____________________________________________________________________
467 {
468  if (!isLoaded())
469  return;
470  messageVerbose("updateInDetProjectionsOfAllHandles start");
473  for (;it!=itE;++it)
474  (*it)->updateInDetProjections();
475  largeChangesEnd();
476  messageVerbose("updateInDetProjectionsOfAllHandles end");
477 
478 }
479 
480 //____________________________________________________________________
482 {
483  if (!isLoaded())
484  return;
485  messageVerbose("updateMuonProjectionsOfAllHandles start");
488  for (;it!=itE;++it)
489  (*it)->updateMuonProjections();
490  largeChangesEnd();
491  messageVerbose("updateMuonProjectionsOfAllHandles end");
492 
493 }
494 
495 //____________________________________________________________________
497 {
498  if (!isLoaded())
499  return;
500  messageVerbose("updateMaterialOfAllHandles start");
503  for (;it!=itE;++it)
504  (*it)->updateMaterial();
505  largeChangesEnd();
506  messageVerbose("updateMaterialOfAllHandles end");
507 }
508 
509 //____________________________________________________________________
511 {
512  m_d->trackhandles.reserve(n);
513 }
514 
515 //____________________________________________________________________
517 {
518  m_d->trackhandles.push_back(handle);
519 }
520 
521 //____________________________________________________________________
523 {
524  bool ignoreMEOT = common()->controller()->ignoreMeasurementEffectsOnTrackInProp();
525  messageVerbose("setPropagator ("+str(p)+") "+ (ignoreMEOT?str("ignoring MEOT"):str("using MEOT")) );
526  if (m_propagator==p)
527  return;
528  messageVerbose("setPropagator ==> Changed");
529  m_propagator=p;
530  bool mustUpdatePropagatedPoints = (p && m_d->lastUsedPropagator!=p);
531  update3DObjectsOfAllHandles(false,mustUpdatePropagatedPoints);
532  if (p)
534 }
535 
536 void TrackCollHandleBase::setPropagationOptions( TrackSystemController::PropagationOptionFlags options){
537  messageVerbose("setPropagationOptions ==> Changed");
539  update3DObjectsOfAllHandles(false,true);
540 }
541 
543  messageVerbose("setPropMaxRadius ==> Changed to "+str(radius));
545  update3DObjectsOfAllHandles(false,true);
546 }
547 
549  messageVerbose("extrapolateToThisVolume ==> Changed");
550  update3DObjectsOfAllHandles(false,true);
551 }
552 
554  messageVerbose("clipVolumeChanged ==> Changed");
555  update3DObjectsOfAllHandles(false, false, radius);
556 }
557 
558 //____________________________________________________________________
559 void TrackCollHandleBase::setParts( TrackCommonFlags::TrackPartsFlags parts )
560 {
561  messageVerbose("setParts called");
562  if (m_parts==parts)
563  return;
564  messageVerbose("setParts ==> Changed");
565  bool onlymuonprojflagchanged = ( (parts^m_parts) == TrackCommonFlags::MuonProjections );
566  m_parts = parts;
567  update3DObjectsOfAllHandles(onlymuonprojflagchanged);
568 }
569 
570 //____________________________________________________________________
572 {
573  messageVerbose("setParts(int) called with angle="+str(angle));
574  //bit of a hack this- didn't want to make entire new machinery just to track angle.
575  // FIXME
576  update3DObjectsOfAllHandles(false,true);
577 }
578 
579 //____________________________________________________________________
581 {
582  messageVerbose("setActualPathShown(bool) called with hide="+str(hide));
583 
584  TrackCommonFlags::TrackPartsFlags parts = m_parts;
585  if (hide) parts &= ~TrackCommonFlags::ActualPath;
587  setParts(parts);
588 }
589 
590 //____________________________________________________________________
591 void TrackCollHandleBase::setLabels( TrackSystemController::TrackLabelModes labels )
592 {
593  messageVerbose("setLabels called");
594  if (m_labels==labels)
595  return;
596  messageVerbose("setLabels ==> Changed");
597  m_labels = labels;
599 }
600 
601 //____________________________________________________________________
603 {
604  messageVerbose("setLabelTrkOffset called");
606  return;
607  messageVerbose("setLabelTrkOffset ==> Changed to "+QString::number(offset));
610 }
611 
612 //____________________________________________________________________
613 void TrackCollHandleBase::setLabelPosOffsets( const QList<int>& offsets)
614 {
615  messageVerbose("setLabelPosOffsets called");
616  if (m_labelsPosOffsets==offsets)
617  return;
618  messageVerbose("setLabelPosOffsets ==> Changed");
619  m_labelsPosOffsets = offsets;
621 }
622 
623 //____________________________________________________________________
625 {
626  messageVerbose("setTrackTubeRadius called");
627  if (m_trackTubeRadius==r)
628  return;
630  messageVerbose("setTrackTubeRadius ==> Changed");
632 }
633 
634 //____________________________________________________________________
636 {
637  messageVerbose("setColourBy called");
638  if (m_colourby==cb)
639  return;
640  messageVerbose("setColourBy ==> Changed");
641  m_colourby=cb;
642 
643  //Update gui combobox:
644  QString targetText;
645  switch(cb) {
646  case COLOUR_BYPID:
647  targetText = Imp::comboBoxEntry_ColourByPID();
648  break;
649  case COLOUR_RANDOM:
650  targetText = Imp::comboBoxEntry_ColourByRandom();
651  break;
652  case COLOUR_MOMENTUM:
654  break;
655  case COLOUR_CHARGE:
656  targetText = Imp::comboBoxEntry_ColourByCharge();
657  break;
658  case COLOUR_DISTANCE:
660  break;
661  case COLOUR_VERTEX:
662  targetText = Imp::comboBoxEntry_ColourByVertex();
663  break;
664  default:
667  break;
668  }
669  if (targetText!=m_d->comboBox_colourby->currentText()) {
670  int i = m_d->comboBox_colourby->findText(targetText);
671  if (i>=0&&i<m_d->comboBox_colourby->count()) {
672  bool save = m_d->comboBox_colourby->blockSignals(true);
673  m_d->comboBox_colourby->setCurrentIndex(i);
674  m_d->comboBox_colourby->blockSignals(save);
675  } else {
676  message("ERROR: Problems finding correct text in combo box");
677  }
678  }
679 
680  //Actual material updates:
682  m_commonData->system()->deselectAll();//Todo: Reselect the selected track handles
683  //afterwards (collhandles should know selected handles)
685  largeChangesEnd();
686 
687 }
688 
689 //____________________________________________________________________
691 {
692  if (!isLoaded())
693  return;
694  messageVerbose("rerandomiseRandomTrackColours start");
697  for (;it!=itE;++it)
698  (*it)->rerandomiseRandomMaterial();
699  largeChangesEnd();
700  messageVerbose("rerandomiseRandomTrackColours end");
701 }
702 
703 //____________________________________________________________________
705 {
706  if (!isLoaded() || colourBy()!= COLOUR_DISTANCE)
707  return;
708  messageVerbose("trackSelectionChanged start");
711  for (;it!=itE;++it)
712  (*it)->updateMaterial();
713  largeChangesEnd();
714  messageVerbose("trackSelectionChanged end");
715 }
716 
717 //____________________________________________________________________
719 {
720  m_d->itTrackHandles = m_d->trackhandles.begin();
722 }
723 
724 //____________________________________________________________________
727  return nullptr;
728  else
729  return *(m_d->itTrackHandles++);
730 }
731 
732 
734  if ( (m_d->last_useDefaultCuts) == useDefaults) return;
735  messageVerbose("setUseDefaultCuts changed to "+str(useDefaults)+"- rechecking all handles");
736  // recheckCutStatusOfAllHandles();
737 
743 }
744 
745 //____________________________________________________________________
747 {
748  if (!allowedpt.isSane())
749  return;
750 
751  //why do we need to do this? Why does it matter if it's negative?
752  //double minptsq = allowedpt.lower() <= 0.0 ? -std::numeric_limits<double>::infinity() : allowedpt.lower()*allowedpt.lower();
753  //VP1Interval allowedptsq(minptsq,allowedpt.upper()*allowedpt.upper());
754 
755  //Modified code from EJWM
756  double signMin = allowedpt.lower()<0.0 ? -1.0 : 1.0;
757  double signMax = allowedpt.upper()<0.0 ? -1.0 : 1.0;
758  double minptsq = allowedpt.lower() == -std::numeric_limits<double>::infinity() ? -std::numeric_limits<double>::infinity() : signMin*(allowedpt.lower()*allowedpt.lower());
759  double maxptsq = allowedpt.upper() == std::numeric_limits<double>::infinity() ? std::numeric_limits<double>::infinity() : signMax*(allowedpt.upper()*allowedpt.upper());
760 
761  VP1Interval allowedptsq(minptsq,maxptsq);
762  // std::cout<<"allowedptsq:isAllR"<<allowedptsq.isAllR()<<std::endl;
763  // std::cout<<"allowedptsq.isEmpty()"<<allowedptsq.isEmpty()<<std::endl;
764 
765 
766  if (m_cut_allowedPtSq==allowedptsq)
767  return;
768  m_cut_pt_allowall = allowedptsq.isAllR();
769  m_cut_etaptphi_allwillfail = allowedptsq.isEmpty() || m_cut_allowedEta.isEmpty() || m_cut_allowedPhi.isEmpty();
770 
771  if (!m_cut_allowedPtSq.contains(allowedptsq)&&!allowedptsq.contains(m_cut_allowedPtSq)) {
772  m_cut_allowedPtSq = allowedptsq;
774  return;
775  }
776  bool relaxcut = allowedptsq.contains(m_cut_allowedPtSq);
777  m_cut_allowedPtSq = allowedptsq;
778  if (relaxcut)
780  else
782 }
783 
784 //____________________________________________________________________
786 {
787  messageVerbose("signal received in setCutAllowedEta ("+allowedEta.toString()+")");
788  if (!allowedEta.isSane())
789  return;
790 
791  if (m_cut_allowedEta==allowedEta)
792  return;
793  m_cut_eta_allowall = allowedEta.isAllR();
795 
796  if (!m_cut_allowedEta.contains(allowedEta)&&!allowedEta.contains(m_cut_allowedEta)) {
797  m_cut_allowedEta = allowedEta;
799  return;
800  }
801  bool relaxcut = allowedEta.contains(m_cut_allowedEta);
802  m_cut_allowedEta = allowedEta;
803  if (relaxcut)
805  else
807 }
808 
809 //____________________________________________________________________
810 void TrackCollHandleBase::setCutAllowedPhi(const QList<VP1Interval>& allowedPhi)
811 {
812  messageVerbose("signal received in setCutAllowedPhi.");
813 
814  if (m_cut_allowedPhi==allowedPhi)
815  return;
816  m_cut_allowedPhi = allowedPhi;
817 
818  m_cut_phi_allowall = m_cut_allowedPhi.count()==1 && m_cut_allowedPhi.at(0).isAllR();
820 
821  if (m_cut_phi_allowall) {
823  return;
824  }
827  return;
828  }
830 }
831 
832 //____________________________________________________________________
833 void TrackCollHandleBase::setRequiredNHits(const QList<unsigned>& l)
834 {
836  return;//never deal with this...
837  if (m_cut_requiredNHits==l)
838  return;
839 
840  //A bit complex to figure out if the cut change is pure relaxation or tightening:
841  bool relaxed(false),tightened(false);
842  if (m_cut_requiredNHits.isEmpty()) {
843  relaxed = false;
844  tightened = true;
845  } else {
846  if (l.isEmpty()) {
847  relaxed = true;
848  tightened = false;
849  } else {
850  assert(l.count()==m_cut_requiredNHits.count());
851  relaxed = false;
852  tightened = false;
853  for (int i=0;i<l.count();++i) {
854  if (m_cut_requiredNHits[i]>l[i])
855  relaxed=true;
856  else if (m_cut_requiredNHits[i]<l[i])
857  tightened = true;
858  }
859  }
860  }
861  assert(relaxed||tightened);
863  if (relaxed&&tightened) {
865  } else {
866  if (relaxed)
868  else
870  }
871 }
872 
876 }
877 
878 //____________________________________________________________________
880  messageVerbose("setOnlyVertexAssocTracks changed to "+str(b));
881 
882  if (b)
884  else
886 }
887 
888 //____________________________________________________________________
890 {
893  TrackHandleBase* handle;
894  while ((handle=getNextTrackHandle()))
896  largeChangesEnd();
897 }
898 
899 //____________________________________________________________________
901 {
904  TrackHandleBase* handle;
905  while ((handle=getNextTrackHandle()))
907  largeChangesEnd();
908 
909  fillObjectBrowser(); // FIXME! Probably not the right place to call this
910 }
911 
912 //____________________________________________________________________
913 void TrackCollHandleBase::setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
914 {
915  if (m_d->shownTSOSParts==f)
916  return;
918  if (visible()) messageVerbose("shown TSOS parts changed to "+str(f));
920 }
921 
922 
923 //____________________________________________________________________
924 void TrackCollHandleBase::setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
925 {
927  return;
929  if (visible()) messageVerbose("custom coloured TSOS parts changed to "+str(f));
931 }
932 
933 //____________________________________________________________________
935 {
937  return;
941  TrackHandleBase* handle;
942  while ((handle=getNextTrackHandle()))
944  largeChangesEnd();
945 }
946 
947 
948 //____________________________________________________________________
950 {
952  return;
956  TrackHandleBase* handle;
957  while ((handle=getNextTrackHandle()))
959  largeChangesEnd();
960 }
961 
962 //____________________________________________________________________
964 {
965  // if (visible()) messageVerbose("TrackCollHandleBase::setDrawMeasGlobalPositions => "+str(b));
966 
968  return;
970 
973  TrackHandleBase* handle;
974  while ((handle=getNextTrackHandle()))
976  largeChangesEnd();
977 }
978 
979 //____________________________________________________________________
981 {
983  return;
987  TrackHandleBase* handle;
988  while ((handle=getNextTrackHandle()))
990  largeChangesEnd();
991 }
992 
993 //____________________________________________________________________
995 {
996  if (m_d->tsos_nStdDevForParamErrors==nstddev)
997  return;
1001  TrackHandleBase* handle;
1002  while ((handle=getNextTrackHandle()))
1003  handle->updateShapes_TSOSWithErrors();
1004  largeChangesEnd();
1005 }
1006 
1007 //____________________________________________________________________
1009 {
1011  return;
1015  TrackHandleBase* handle;
1016  while ((handle=getNextTrackHandle()))
1017  handle->updateShapes_TSOSWithErrors();
1018  largeChangesEnd();
1019 }
1020 
1021 //____________________________________________________________________
1023 {
1025  return;
1029  TrackHandleBase* handle;
1030  while ((handle=getNextTrackHandle()))
1032  largeChangesEnd();
1033 }
1034 
1035 //____________________________________________________________________
1037 {
1039  return;
1043  TrackHandleBase* handle;
1044  while ((handle=getNextTrackHandle()))
1045  handle->updateShapes_TSOSWithErrors();
1046  largeChangesEnd();
1047 }
1048 
1049 //____________________________________________________________________
1051 {
1052  return TrackType::typeToInt(m_type);
1053 }
1054 
1055 //____________________________________________________________________
1057 {
1058  if (!m_sephelper)
1060 
1061  if (VP1Msg::verbose())
1062  messageVerbose("TrackCollHandleBase::collVisibilityChanged => "+str(vis));
1063  if (vis){
1064  recheckCutStatusOfAllNotVisibleHandles();//Fixme -> ofallhandles? All must be not visible anyway...
1066  if (m_d->objBrowseTree) m_d->objBrowseTree->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
1067  }else{
1069 // QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
1070 // if (m_d->objBrowseTree && trkObjBrowser) {
1071 // trkObjBrowser->takeTopLevelItem(trkObjBrowser->indexOfTopLevelItem(m_d->objBrowseTree));
1072 // delete m_d->objBrowseTree; m_d->objBrowseTree=0;
1073 // }
1074  // FIXME - need to loop through handles setting pointers to deleted QTreeWidgetItems
1075  if (m_d->objBrowseTree) m_d->objBrowseTree->setFlags(Qt::ItemFlags()); // not selectable, not enabled
1076  }
1079 }
1080 
1082  messageVerbose("TrackCollHandleBase::updateObjectBrowserVisibilityCounts called for "+name());
1083  QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
1084  if (!trkObjBrowser || !m_d->objBrowseTree) {
1085  messageVerbose("TrackCollHandleBase::updateObjectBrowserVisibilityCounts: no common()->controller()->trackObjBrowser() and/or m_d->objBrowseTree. Aborting");
1086  messageVerbose("trkObjBrowser: "+str(trkObjBrowser)+"\t m_d->objBrowseTree: "+str(m_d->objBrowseTree));
1087  return;
1088  }
1089  QString text(QString(": (")+QString::number(nShownHandles())+QString("/")+QString::number(m_d->trackhandles.size())+QString(") visible"));
1090  m_d->objBrowseTree->setText(1, text);
1091 }
1092 
1094 {
1095  QElapsedTimer t;
1096  t.start();
1097 
1098  QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
1099  if (!trkObjBrowser) {
1100  messageVerbose("TrackCollHandleBase::fillObjectBrowser: no common()->controller()->trackObjBrowser(). Aborting");
1101  return;
1102  }
1103  if (!nShownHandles()) {
1104  //messageVerbose("TrackCollHandleBase::fillObjectBrowser: no shown handles, so leaving.");
1105  return; // don't bother with hidden collection
1106  }
1107  messageVerbose("TrackCollHandleBase::fillObjectBrowser called for "+name());
1108 
1109  trkObjBrowser->setUpdatesEnabled(false);
1110 
1111  bool firstTime=false;
1112  if (!m_d->objBrowseTree) {
1113  m_d->objBrowseTree = new QTreeWidgetItem(0);
1114  firstTime=true;
1115  messageVerbose("TrackCollHandleBase::fillObjectBrowser: First time so creating QTreeWidgetItem.");
1116  } else {
1117  int index = trkObjBrowser->indexOfTopLevelItem(m_d->objBrowseTree);
1118  if (index==-1 ) {
1119  messageVerbose("Missing from WidgetTree! Will continue but something must be wrong");
1120  }
1121  }
1122 
1123  messageVerbose("TrackCollHandleBase::fillObjectBrowser about to start looping over tracks at "+QString::number(t.elapsed())+" ms");
1124 
1125  QList<QTreeWidgetItem *> list;
1127  TrackHandleBase* trkHandle=nullptr;
1128  unsigned int i=0;
1129  unsigned int numVisible=0;
1130  while ((trkHandle=getNextTrackHandle()))
1131  {
1132  if (firstTime){
1133  trkHandle->fillObjectBrowser(list);
1134  } else {
1135  trkHandle->updateObjectBrowser();
1136  }
1137 
1138  // messageVerbose("TrackCollHandleBase::fillObjectBrowser for track completed in "+QString::number(t.elapsed()));
1139 
1140  if (trkHandle->visible() ) numVisible++;
1141  i++;
1142  }
1143 
1144  QString text(QString(": (")+QString::number(numVisible)+QString("/")+QString::number(i)+QString(") visible"));
1145 
1146  m_d->objBrowseTree->setText(0, name());
1147  m_d->objBrowseTree->setText(1, text);
1148  m_d->objBrowseTree->addChildren(list);
1149  trkObjBrowser->addTopLevelItem(m_d->objBrowseTree);
1150  trkObjBrowser->setUpdatesEnabled(true);
1151 
1152  messageVerbose("TrackCollHandleBase::fillObjectBrowser completed in "+QString::number(t.elapsed())+" ms");
1153 
1154 }
1155 
1156 //____________________________________________________________________
1158 {
1159  VP1QtInventorUtils::setMatColor( m, defaultColor(), 0.18/*brightness*/ );
1160 }
1161 
1162 //____________________________________________________________________
1164 {
1165  switch (cb) {
1166  case COLOUR_PERCOLLECTION: return "COLOUR_PERCOLLECTION";
1167  case COLOUR_RANDOM: return "COLOUR_RANDOM";
1168  case COLOUR_MOMENTUM: return "COLOUR_MOMENTUM";
1169  case COLOUR_CHARGE: return "COLOUR_CHARGE";
1170  case COLOUR_BYPID: return "COLOUR_BYPID";
1171  case COLOUR_DISTANCE: return "COLOUR_DISTANCE";
1172  default: return "Unknown (ERROR)";
1173  }
1174 }
1175 //____________________________________________________________________
1177 {
1178  return QList<QWidget*>() << m_d->comboBox_colourby;
1179 
1180 }
1181 
1182 //____________________________________________________________________
1184 {
1185  VP1Serialise serialise(0/*version*/,systemBase());
1187  serialise.disableUnsavedChecks();
1188  return serialise.result();
1189 }
1190 
1191 //____________________________________________________________________
1193 {
1194  VP1Deserialise state(ba, systemBase());
1195  if (state.version()!=0)
1196  return;//just ignore silently... i guess we ought to warn?
1197  state.restore(m_d->comboBox_colourby);
1198  state.disableUnrestoredChecks();
1200 }
1201 
1202 //____________________________________________________________________
1204 {
1205  messageVerbose("Collection detail level combo box changed index");
1206  if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByPID())
1208  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByRandom())
1210  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByMomentum())
1212  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByCharge())
1216  else if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByVertex())
1218  else
1220 }
1221 
1222 //____________________________________________________________________
1224 {
1225  messageVerbose("Collection colour changed");
1226 
1227  if (m_d->comboBox_colourby->currentText()==Imp::comboBoxEntry_ColourByRandom()) {
1230  TrackHandleBase* handle;
1231  while ((handle=getNextTrackHandle()))
1233  largeChangesEnd();
1234  } else {
1236  }
1237 }
1238 
1240 {
1241  if (!m_d->matButton) {
1242  message("ERROR: useDefaultCuts(..) called before init()");
1243  return true;
1244  }
1245  return m_d->matButton->useDefaultCuts();
1246 }
1247 
1249 {
1250  if (!m_d->matButton) {
1251  message("ERROR: cutOnlyVertexAssocTracks(..) called before init()");
1252  return false;
1253  }
1256 }
1257 
1258 
1259 
1260 
1261 //____________________________________________________________________
1262 void TrackCollHandleBase::setState(const QByteArray&state)
1263 {
1264  if (!m_d->matButton) {
1265  message("ERROR: setState(..) called before init()");
1266  return;
1267  }
1268  VP1Deserialise des(state);
1269  des.disableUnrestoredChecks();
1270  if (des.version()!=0&&des.version()!=1) {
1271  messageDebug("Warning: Ignoring state with wrong version");
1272  return;
1273  }
1274  bool vis = des.restoreBool();
1275 
1276  QByteArray matState = des.restoreByteArray();
1277  m_d->matButton->restoreFromState(matState);
1278  QByteArray extraWidgetState = des.version()>=1 ? des.restoreByteArray() : QByteArray();
1279  setVisible(vis);
1280 
1281  if (extraWidgetState!=QByteArray())
1282  setExtraWidgetsState(extraWidgetState);
1283 }
1284 
1285 //____________________________________________________________________
1287 {
1288  if (!m_d->matButton) {
1289  message("ERROR: persistifiableState() called before init()");
1290  return {};
1291  }
1292  VP1Serialise serialise(1/*version*/);
1293  serialise.disableUnsavedChecks();
1294  serialise.save(visible());
1295  Q_ASSERT(m_d->matButton&&"Did you forget to call init() on this VP1StdCollection?");
1296  serialise.save(m_d->matButton->saveState());
1297  serialise.save(extraWidgetsState());//version 1+
1298  return serialise.result();
1299 }
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:1559
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:602
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
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
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:873
TrackCollHandleBase::Imp::comboBoxEntry_ColourByVertex
static QString comboBoxEntry_ColourByVertex()
Definition: TrackCollHandleBase.cxx:87
TrackCollHandleBase::setShownTSOSParts
void setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags)
Definition: TrackCollHandleBase.cxx:913
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:1644
TrackSysCommonData::controller
TrackSystemController * controller() const
Definition: TrackSysCommonData.h:116
TrackHandleBase::fillObjectBrowser
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Overload in child classes.
Definition: TrackHandleBase.cxx:1992
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
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:64
TrackCollHandleBase::Imp::tsos_nStdDevForParamErrors
double tsos_nStdDevForParamErrors
Definition: TrackCollHandleBase.cxx:73
TrackCollHandleBase::setCutAllowedPhi
void setCutAllowedPhi(const QList< VP1Interval > &)
Definition: TrackCollHandleBase.cxx:810
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:1631
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:733
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:553
VP1Msg.h
TrackSystemController::customColouredTSOSParts
TrackCommonFlags::TSOSPartsFlags customColouredTSOSParts() const
Definition: TrackSystemController.cxx:1537
TrackCollectionSettingsButton::trackLightModel
SoLightModel * trackLightModel() const
Definition: TrackCollectionSettingsButton.cxx:297
TrackSystemController::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Definition: TrackSystemController.cxx:1779
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:481
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:1596
skel.it
it
Definition: skel.GENtoEVGEN.py:423
TrackHandleBase::updateObjectBrowser
void updateObjectBrowser()
Definition: TrackHandleBase.h:133
TrackSystemController::shownTrackParts
TrackCommonFlags::TrackPartsFlags shownTrackParts() const
Definition: TrackSystemController.cxx:1477
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:114
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:591
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:963
TrackSystemController::vertexProjectionAngle
int vertexProjectionAngle() const
Definition: TrackSystemController.cxx:1488
TrackCollHandleBase::setCustomColouredTSOSParts
void setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags)
Definition: TrackCollHandleBase.cxx:924
TrackCollectionSettingsButton::trackDrawStyle
SoDrawStyle * trackDrawStyle() const
Definition: TrackCollectionSettingsButton.cxx:292
TrackCollHandleBase::setOnlyVertexAssocTracks
void setOnlyVertexAssocTracks(bool)
Definition: TrackCollHandleBase.cxx:879
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:408
TrackCollHandleBase::cutOnlyVertexAssocTracks
bool cutOnlyVertexAssocTracks() const
Return true if this collection should only should tracks associated to a vertex.
Definition: TrackCollHandleBase.cxx:1248
TrackCollHandleBase::toString
static QString toString(const COLOURBY &)
Definition: TrackCollHandleBase.cxx:1163
VP1Interval::upper
double upper() const
TrackSystemController::parTubeErrorsDrawCylinders
bool parTubeErrorsDrawCylinders() const
Definition: TrackSystemController.cxx:1602
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TrackHandleBase::getNSCTHits
virtual unsigned getNSCTHits() const
Definition: TrackHandleBase.h:107
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:1013
TrackCollHandleBase::hintNumberOfTracksInEvent
void hintNumberOfTracksInEvent(unsigned)
Definition: TrackCollHandleBase.cxx:510
TrackCollHandleBase::Imp::theclass
TrackCollHandleBase * theclass
Definition: TrackCollHandleBase.cxx:55
TrackCollHandleBase::actualSetShownTSOSPartsOnHandles
void actualSetShownTSOSPartsOnHandles()
Definition: TrackCollHandleBase.cxx:900
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:1286
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:559
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:1239
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:1503
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:1590
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:522
VP1LinAlgUtils.h
TrackCollHandleBase::updateInDetProjectionsOfAllHandles
void updateInDetProjectionsOfAllHandles()
Definition: TrackCollHandleBase.cxx:466
TrackCollHandleBase::cut
virtual bool cut(TrackHandleBase *)
Definition: TrackCollHandleBase.cxx:316
TrackSystemController::cutAllowedEta
VP1Interval cutAllowedEta() const
Definition: TrackSystemController.cxx:1820
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:108
TrackCollHandleBase::setNumberOfPointsOnCircles
void setNumberOfPointsOnCircles(int)
Definition: TrackCollHandleBase.cxx:1008
TrackCollHandleBase::colourByComboBoxItemChanged
void colourByComboBoxItemChanged()
Definition: TrackCollHandleBase.cxx:1203
TrackCollHandleBase::setRequiredNHits
void setRequiredNHits(const QList< unsigned > &)
Definition: TrackCollHandleBase.cxx:833
TrackCollHandleBase::collMaterialTransparencyAndBrightnessChanged
virtual void collMaterialTransparencyAndBrightnessChanged()
Definition: TrackCollHandleBase.cxx:1223
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:1583
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:1050
VP1Interval::lower
double lower() const
TrackCollHandleBase::setState
virtual void setState(const QByteArray &)
Provide specific implementation.
Definition: TrackCollHandleBase.cxx:1262
VP1ExtraSepLayerHelper
Definition: VP1ExtraSepLayerHelper.h:22
TrackCollHandleBase::Imp::itTrackHandles
std::vector< TrackHandleBase * >::iterator itTrackHandles
Definition: TrackCollHandleBase.cxx:61
TrackCollHandleBase::updateMaterialOfAllHandles
void updateMaterialOfAllHandles()
Definition: TrackCollHandleBase.cxx:496
TrackSysCommonData
Definition: TrackSysCommonData.h:47
TrackSystemController::useShortMDTMeasurements
bool useShortMDTMeasurements() const
Definition: TrackSystemController.cxx:1565
VP1StdCollection::setVisible
void setVisible(bool)
Definition: VP1StdCollection.cxx:160
TrackHandleBase::setCustomColouredTSOSParts
void setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
Definition: TrackHandleBase.cxx:351
TrackHandleBase::updateRandomColourTransparencyAndBrightness
void updateRandomColourTransparencyAndBrightness()
Definition: TrackHandleBase.cxx:1419
lumiFormat.i
int i
Definition: lumiFormat.py:92
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:1081
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:785
TrackCollHandleBase::cleanupPtrContainer
void cleanupPtrContainer(T &) const
Definition: TrackCollHandleBase.h:254
VP1StdCollection::visibilityChanged
void visibilityChanged(bool)
TrackCollHandleBase::name
QString name() const
Definition: TrackCollHandleBase.cxx:310
TrackHandleBase::getNMuonHits
virtual unsigned getNMuonHits() const
Definition: TrackHandleBase.h:109
TrackCollHandleBase::assignDefaultMaterial
virtual void assignDefaultMaterial(SoMaterial *) const
Definition: TrackCollHandleBase.cxx:1157
TrackSystemController::trackLabels
TrackLabelModes trackLabels()
Definition: TrackSystemController.cxx:2217
TrackCollHandleBase::m_cut_etaptphi_allwillfail
bool m_cut_etaptphi_allwillfail
Definition: TrackCollHandleBase.h:230
TrackCollHandleBase::setMeasurementsShorttubesScale
void setMeasurementsShorttubesScale(double)
Definition: TrackCollHandleBase.cxx:980
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:704
TrackSystemController::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: TrackSystemController.cxx:1826
TrackCollHandleBase::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
TrackCollHandleBase::recheckCutStatusOfAllHandles
void recheckCutStatusOfAllHandles()
Definition: TrackCollHandleBase.cxx:426
AscObjSelectionManager.h
TrackCollHandleBase::Imp::tsos_useShortMDTMeasurements
bool tsos_useShortMDTMeasurements
Definition: TrackCollHandleBase.cxx:70
TrackSystemController::cutRequiredNHits
QList< unsigned > cutRequiredNHits() const
Definition: TrackSystemController.cxx:1832
VP1Deserialise
Definition: VP1Deserialise.h:44
AscObj_TSOS.h
TrackCollHandleBase::setPropagationOptions
void setPropagationOptions(TrackSystemController::PropagationOptionFlags)
Definition: TrackCollHandleBase.cxx:536
TrackCollHandleBase::m_d
Imp * m_d
Definition: TrackCollHandleBase.h:204
TrackCollHandleBase::setLabelPosOffsets
void setLabelPosOffsets(const QList< int > &)
Definition: TrackCollHandleBase.cxx:613
TrackCollHandleBase::update3DObjectsOfAllHandles
void update3DObjectsOfAllHandles(bool onlythosetouchingmuonchambers=false, bool invalidatePropagatedPoints=false, float maxR=0.0)
Definition: TrackCollHandleBase.cxx:441
TrackCollHandleBase::setPropMaxRadius
void setPropMaxRadius(float)
Definition: TrackCollHandleBase.cxx:542
TrackType::Type
Type
Definition: TrackTypes.h:13
TrackHandleBase::getNPixelHits
virtual unsigned getNPixelHits() const
Definition: TrackHandleBase.h:106
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:1183
VP1HelperClassBase::systemBase
IVP1System * systemBase() const
Definition: VP1HelperClassBase.h:50
TrackCollHandleBase::actualSetCustomColouredTSOSPartsOnHandles
void actualSetCustomColouredTSOSPartsOnHandles()
Definition: TrackCollHandleBase.cxx:889
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
python.selection.number
number
Definition: selection.py:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
VP1Interval::contains
bool contains(const double &x) const
TrackCollHandleBase::addTrackHandle
void addTrackHandle(TrackHandleBase *)
Definition: TrackCollHandleBase.cxx:516
TrackCollHandleBase::setExtraWidgetsState
void setExtraWidgetsState(const QByteArray &)
Definition: TrackCollHandleBase.cxx:1192
TrackSystemController
Definition: TrackSystemController.h:53
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:1093
TrackCollHandleBase::setMaterialEffectsOnTrackScale
void setMaterialEffectsOnTrackScale(double)
Definition: TrackCollHandleBase.cxx:1022
TrackSystemController::materialEffectsOnTrackScale
double materialEffectsOnTrackScale() const
Definition: TrackSystemController.cxx:1625
TrackCollHandleBase::setActualPathShown
void setActualPathShown(bool)
Definition: TrackCollHandleBase.cxx:580
TrackCollHandleBase::COLOUR_BYPID
@ COLOUR_BYPID
Definition: TrackCollHandleBase.h:138
TrackSystemController::cutAllowedPt
VP1Interval cutAllowedPt() const
Definition: TrackSystemController.cxx:1786
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:718
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:1609
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:690
TrackHandleBase::updateShapes_TSOSWithMaterialEffects
void updateShapes_TSOSWithMaterialEffects()
Definition: TrackHandleBase.cxx:287
TrackCollHandleBase::setCutAllowedPt
void setCutAllowedPt(const VP1Interval &)
Definition: TrackCollHandleBase.cxx:746
TrackCollHandleBase::setParTubeErrorsDrawCylinders
void setParTubeErrorsDrawCylinders(bool)
Definition: TrackCollHandleBase.cxx:1036
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:117
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:426
TrackSystemController::trackObjBrowser
QTreeWidget * trackObjBrowser() const
Returns a pointer to the Track Object Browser (if it exists)
Definition: TrackSystemController.cxx:2049
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:1480
TrackCollHandleBase::setNStdDevForParamErrors
void setNStdDevForParamErrors(const double &)
Definition: TrackCollHandleBase.cxx:994
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:163
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:1651
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:1660
TrackCollHandleBase::recheckCutStatusOfAllVisibleHandles
void recheckCutStatusOfAllVisibleHandles()
Definition: TrackCollHandleBase.cxx:387
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:635
TrackCollHandleBase::recheckCutStatus
void recheckCutStatus(TrackHandleBase *)
Definition: TrackCollHandleBase.cxx:381
TrackCollHandleBase::provideExtraWidgetsForGuiRow
QList< QWidget * > provideExtraWidgetsForGuiRow() const
Definition: TrackCollHandleBase.cxx:1176
TrackCollHandleBase::setUseShortMDTMeasurements
void setUseShortMDTMeasurements(bool)
Definition: TrackCollHandleBase.cxx:949
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:624
TrackCollHandleBase::getNextTrackHandle
TrackHandleBase * getNextTrackHandle()
Definition: TrackCollHandleBase.cxx:725
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:934
TrackCollHandleBase::collVisibilityChanged
void collVisibilityChanged(bool)
Definition: TrackCollHandleBase.cxx:1056
TrackCollectionSettingsButton::cutAllowedPhi
QList< VP1Interval > cutAllowedPhi() const
Definition: TrackCollectionSettingsButton.cxx:529
TrackSystemController::numberOfPointsOnCircles
int numberOfPointsOnCircles() const
Definition: TrackSystemController.cxx:1608
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::COLOURBY
COLOURBY
Definition: TrackCollHandleBase.h:138
VP1Interval::noLowerBound
bool noLowerBound() const
TrackCollHandleBase::extrapolateToThisVolumeChanged
void extrapolateToThisVolumeChanged(void)
Definition: TrackCollHandleBase.cxx:548