ATLAS Offline Software
TrackHandle_TrkTrack.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 TrackHandle_TrkTrack //
9 // //
10 // Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11 // Initial version: February 2008 //
12 //
13 // Updates:
14 // - 2023 Sep, Riccardo Maria BIANCHI @ cern.ch, added Pt to track item in the browser
15 // //
17 
24 #include "TrkTrack/Track.h"
26 #include "TrkSurfaces/Surface.h"
27 #include "Identifier/Identifier.h"
32 #include "VP1Base/VP1Msg.h"//fixme
35 #include <Inventor/nodes/SoSeparator.h>
36 #include <Inventor/nodes/SoNode.h>
37 
38 
39 
40 //____________________________________________________________________
43  m_nhits_pixel(0), m_nhits_sct(0), m_nhits_trt(0), m_nhits_muon_phi(0), m_nhits_rpc(0), m_nhits_mdt(0),
44  m_nhits_tgc(0), m_nhits_csc(0), m_nhits_mm(0), m_nhits_stgc(0), m_hitInfoStatus(-1),
45  m_trk(trk)
46 {
47 }
48 
49 //____________________________________________________________________
51 {
52 }
53 
54 //____________________________________________________________________
55 QStringList TrackHandle_TrkTrack::clicked() const
56 {
57  // Object browser stuff
58  QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
59  if (trkObjBrowser){
60  trkObjBrowser->setCurrentItem(browserTreeItem());
61  trkObjBrowser->scrollToItem(browserTreeItem());
62  }
63  QStringList l;
64  l << "Trk::Track";
65  if (!m_trk) {
66  l << "ERROR: This TrackHandle_TrkTrack handle has a NULL track pointer!!";
67  return l;
68  }
69  l << "Author info: " << " "+QString(m_trk->info().dumpInfo().c_str());
70 
72  if (m_trk->fitQuality())
73  l << "Fit quality [Chi^2, nDoF] = ["+QString::number(m_trk->fitQuality()->chiSquared())+", "+QString::number(m_trk->fitQuality()->doubleNumberDoF())+"]. ";
74  if (common()->controller()->printVerboseInfoOnSingleSelection()) {
75  l << " ===== dump =====";
76  std::ostringstream s;
77  s << *m_trk;
78  l << QString(s.str().c_str()).split('\n');
79  }
80  return l;
81 }
82 
83 //____________________________________________________________________
85 {
86  //Fixme: TO BASE!!!
87 
88  VP1TrackSanity * sanity = common()->trackSanityHelper();
89  if (!VP1JobConfigInfo::hasMuonGeometry()||!sanity) {
90  VP1Msg::messageVerbose("TrackHandle_TrkTrack WARNING: can't init touched muon chamber list.");
91  return;
92  }
95  for (; tsos_iter != tsos_end; ++tsos_iter) {
96  if (!VP1TrackSanity::isSafe(*tsos_iter)) {
97  if (VP1Msg::verbose())
98  VP1Msg::messageVerbose("TrackHandle_TrkTrack WARNING: Skipping unsafe TSOS for touched muon chamber determination.");
99  continue;
100  }
101  ensureTouchedMuonChambersInitialiasedFromMeas( (*tsos_iter)->measurementOnTrack() );
102  }
103 }
104 
106 {
107  if (meas) {
108  const Trk::CompetingRIOsOnTrack* crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(meas);
109 
110  // for competing ROTs, it is expected that these are in the same DE. If this turns out not to be the case, need to loop & recursively call this method. EJWM
111  if (crot)
112  meas=&(crot->rioOnTrack(0));
113  if (!VP1TrackSanity::isSafe(meas)) {
114  if (VP1Msg::verbose())
115  VP1Msg::messageVerbose("TrackHandle_TrkTrack WARNING: Skipping unsafe TSOS for touched muon chamber determination.");
116  return;
117  }
118 
119  const Trk::RIO_OnTrack* rio = dynamic_cast<const Trk::RIO_OnTrack*>(meas);
120  if (rio) {
121  const MuonGM::MuonReadoutElement* muonDetEl = getMuonReadoutElement(*rio);
122  if (muonDetEl)
124  }
125  }
126 }
127 
128 
129 
130 //____________________________________________________________________
132 {
133  for (const Trk::TrackParameters* param : *m_trk->trackParameters()) {
134  if (!common()->trackSanityHelper()->isSafe(param))
135  continue;
136  return param->momentum();
137  }
138  return TrackHandleBase::momentum();
139 }
140 
141 //____________________________________________________________________
143 {
144  static_cast<TrackCollHandle_TrkTrack*>(collHandle())->visibleStateUpdated(this);
146 }
147 
148 //____________________________________________________________________
150 {
151  if (visible())
152  static_cast<TrackCollHandle_TrkTrack*>(collHandle())->visibleStateUpdated(this);
153 }
154 
155 //____________________________________________________________________
157 {
158  if (m_hitInfoStatus==-1)
160 }
161 
162 void TrackHandle_TrkTrack::fillObjectBrowser( QList<QTreeWidgetItem *>& listOfItems)
163 {
164  TrackHandleBase::fillObjectBrowser(listOfItems); // Obligatory!
165 
166  // Fill sub-data.
167  QList<AssociatedObjectHandleBase*> list = getAllAscObjHandles();
170  unsigned int i=0;
171  for (;it!=itE;++it){
172 // VP1Msg::messageVerbose("TSOS #"+QString::number(i++));
173 
174  bool visible=false;
175  QTreeWidgetItem* TSOSitem = new QTreeWidgetItem(browserTreeItem());
176 
177  AscObj_TSOS* asc=nullptr;
178  if (i<static_cast<unsigned int>(list.size())) asc = dynamic_cast<AscObj_TSOS*>(list.at(i));
179 
180  if (asc) {
181  asc->setBrowserTreeItem(TSOSitem);
182  visible=asc->visible();
183  }
184 
185  if (!visible) {
186  TSOSitem->setFlags(Qt::ItemFlag());// not selectable, not enabled
187  QFont itemFont = TSOSitem->font(0);
188  itemFont.setStrikeOut(true);
189  TSOSitem->setFont(0, itemFont);
190  TSOSitem->setFont(1, itemFont);
191  }
192  TSOSitem->setText(0, QString("Track State "+QString::number( (int)(it - trkTrackPointer()->trackStateOnSurfaces ()->begin() ) ) ) );
193 
194  QString tsosText;
195  bool first=true;
196  const Trk::MeasurementBase* meas = (*it)->measurementOnTrack();
197  if ( meas ){
198  QString measName(TrkObjToString::name(*meas));
199  tsosText+=measName;
200 
201  QTreeWidgetItem* measItem = new QTreeWidgetItem(TSOSitem);
202  measItem->setExpanded(true); // want it opened so subparams seen easily
203  measItem->setFlags(Qt::ItemIsEnabled);
204  measItem->setText(0, measName);
205  // measItem->setText(1, TrkObjToString::shortInfo(*meas) );
206 
207  QStringList list = TrkObjToString::fullInfo( *((*it)->measurementOnTrack ()) );
208  for (int i = 0; i < (list.size()-1); ){
209  QTreeWidgetItem* subparamItem = new QTreeWidgetItem(measItem);
210  subparamItem->setText(0, list.at(i++) );
211  subparamItem->setText(1, list.at(i++) );
212  subparamItem->setFlags(Qt::ItemIsEnabled);
213  }
214 
215  first=false;
216  }
217  if ( (*it)->trackParameters () ) {
218  if (!first) tsosText.append(" + ");
219  tsosText.append("Parameters");
220 
221  QTreeWidgetItem* paramItem = new QTreeWidgetItem(TSOSitem);
222  paramItem->setExpanded(true); // want it opened so subparams seen easily
223  paramItem->setFlags(Qt::ItemIsEnabled);
224  paramItem->setText(0, TrkObjToString::name( *((*it)->trackParameters ()) ) );
225  // paramItem->setText(1, TrkObjToString::shortInfo( *((*it)->trackParameters ()) ) );
226 
227  QStringList list = TrkObjToString::fullInfo( *((*it)->trackParameters ()) );
228  for (int i = 0; i < (list.size()-1); ){
229  QTreeWidgetItem* subparamItem = new QTreeWidgetItem(paramItem);
230  subparamItem->setText(0, list.at(i++) );
231  subparamItem->setText(1, list.at(i++) );
232  subparamItem->setFlags(Qt::ItemIsEnabled);
233  }
234 
235  first=false;
236  }
237  if ( (*it)->materialEffectsOnTrack () ){
238  if (!first) tsosText.append(" + ");
239  tsosText.append("MaterialEffectsOnTrack");
240  QTreeWidgetItem* meItem = new QTreeWidgetItem(TSOSitem);
241  meItem->setExpanded(true); // want it opened so subparams seen easily
242  meItem->setFlags(Qt::ItemIsEnabled);
243 
244  meItem->setText(0, TrkObjToString::name( *((*it)->materialEffectsOnTrack ()) ) );
245  meItem->setText(1, TrkObjToString::shortInfo( *((*it)->materialEffectsOnTrack ()) ) );
246 
247  first=false;
248  }
249  if ( (*it)->fitQualityOnSurface () ){
250  if (!first) tsosText.append(" + ");
251  tsosText.append("FitQuality");
252  QTreeWidgetItem* fqItem = new QTreeWidgetItem(TSOSitem);
253  fqItem->setExpanded(true); // want it opened so subparams seen easily
254  fqItem->setFlags(Qt::ItemIsEnabled);
255  fqItem->setText(0, QString("FitQuality") );
256  fqItem->setText(1, TrkObjToString::shortInfo( (*it)->fitQualityOnSurface () ) );
257 
258  first=false;
259  }
260  // FIXME - add information about chamber for Muon systems?
261 
262  if ( (*it)->type(Trk::TrackStateOnSurface::Outlier) ){
263  if (!first) tsosText.append(" + ");
264  tsosText.append("Outlier");
265  }
266 
267  if ( (*it)->type(Trk::TrackStateOnSurface::InertMaterial) ){
268  if (!first) tsosText.append(" + ");
269  tsosText.append("InertMaterial");
270  }
271 
272  if ( (*it)->type(Trk::TrackStateOnSurface::BremPoint) ){
273  if (!first) tsosText.append(" + ");
274  tsosText.append("BremPoint");
275  }
276 
277  if ( (*it)->type(Trk::TrackStateOnSurface::Perigee) ){
278  if (!first) tsosText.append(" + ");
279  tsosText.append("Perigee");
280  }
281 
282  if ( (*it)->type(Trk::TrackStateOnSurface::Hole) ){
283  if (!first) tsosText.append(" + ");
284  tsosText.append("Hole");
285  }
286  TSOSitem->setText(1, tsosText );
287  }
288  // listOfItems << browserTreeItem();
289 }
290 
292 {
293  if (trkTrackPointer() && (index<trkTrackPointer()->trackStateOnSurfaces()->size() )){
295  // now find matching AscObj_TSOS
296  QList<AssociatedObjectHandleBase*> list = getAllAscObjHandles();
297  for (int i = 0; i < list.size(); ++i) {
298  // VP1Msg::messageVerbose("TrackSystemController::objectBrowserClicked: checking ASC "+QString::number(i));
299 
300  AscObj_TSOS* asc = dynamic_cast<AscObj_TSOS*>(list.at(i));
301  if (asc) {
302  if (asc && asc->trackStateOnSurface()==tsos) {
303  VP1Msg::messageVerbose("TrackSystemController::objectBrowserClicked: this ASC matches "+QString::number(i));
304  //asc->zoomView();
305  return asc->shapeDetailed();
306  }
307  }
308  }
309  }
310  return nullptr;
311 }
312 
314 {
315  // get the track's momentum
317  mom /= CLHEP::GeV;
318 
319  // format info string
320  QString l;
321  l += "|Pt|="+VP1Msg::str(mom.perp())+" [GeV], ";
322  l += "|P|="+VP1Msg::str(mom.mag())+" [GeV], ";
325  return l;
326 }
327 
328 
330 
331  if ( !browserTreeItem()) {
332  VP1Msg::messageVerbose("updateObjectBrowser: No m_objBrowseTree!");
333  return;
334  }
335 
336  if (!visible()) {
337  browserTreeItem()->setFlags(Qt::ItemFlag()); // not selectable, not enabled
338  } else {
339  browserTreeItem()->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
340  }
341  QFont font= browserTreeItem()->font(0);
342  font.setStrikeOut(!visible());
343  browserTreeItem()->setFont(0, font );
344  browserTreeItem()->setFont(1, font );
345 
346 
347  // FIXME! Only do if necessary i.e. if something affecting this TSOS has changed.
348 
349  QList<AssociatedObjectHandleBase*> list = getAllAscObjHandles();
350 
351  if (list.empty()) {
352  VP1Msg::message("No ASC objects associated with this track - no track components visible yet?");
353  return;
354  }
355 
358  unsigned int numOfTSOS=0;
359  for (;it!=itE;++it,++numOfTSOS){
360  AscObj_TSOS* asc = dynamic_cast<AscObj_TSOS*>(list.at(numOfTSOS));
361  if (!(asc && asc->trackStateOnSurface()==*it && !list.empty()) ) {
362  // Fallback.
363  VP1Msg::message("TSOS#"+QString::number(numOfTSOS)+" does not seem to match AscObj_TSOS in list, which has size="+QString::number(list.size())+" Will try fallback.");
364  for (int i = 0; i < list.size(); ++i) {
365  AscObj_TSOS* asc = dynamic_cast<AscObj_TSOS*>(list.at(i));
366  if (asc && asc->trackStateOnSurface()==*it) {
367  VP1Msg::message("-> this ASC matches "+QString::number(i));
368  }
369  }
370  }
371  if (!asc) {
372  VP1Msg::message("Could not find matching Asc in list of size "+QString::number(list.size()));
373  continue;
374  }
375 
376  if (!asc->browserTreeItem()){
377  // not set yet - so need to do this now. Can we just use the index?
378  asc->setBrowserTreeItem(browserTreeItem()->child(numOfTSOS));
379  }
380 
381  if (!asc->browserTreeItem()){
382  VP1Msg::message("Could not find matching browserTreeItem");
383  continue;
384  }
385 
386  if (!asc->visible()) {
387  asc->browserTreeItem()->setFlags(Qt::ItemFlag()); // not selectable, not enabled
388  } else {
389  asc->browserTreeItem()->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
390  }
391  QFont itemFont = asc->browserTreeItem()->font(0);
392  itemFont.setStrikeOut(!asc->visible());
393  asc->browserTreeItem()->setFont(0, itemFont);
394  asc->browserTreeItem()->setFont(1, itemFont);
395  }
396 }
397 
399  return m_trk ? m_trk->fitQuality ():nullptr;
400 }
401 
402 bool TrackHandle_TrkTrack::containsDetElement(const QString &id) const
403 {
404  VP1Msg::messageVerbose("TrackHandle_TrkTrack::containsDetElement looking for " + id);
405  Identifier::value_type tmpInt = id.toLong(nullptr,10);//base 10
406  Identifier::value_type tmpInt2 = id.toLong(nullptr,16);//base 16...why?
407 
408  VP1Msg::messageVerbose("TrackHandle_TrkTrack::looping over TSOS ");
409 
412  for (; it != itE; ++it)
413  {
414  // Still debugging, so leaving this in for now...
415  // std::cout<<(*it)->surface().associatedDetectorElementIdentifier()<<std::endl;
416  if ((*it)->surface().associatedDetectorElementIdentifier()==tmpInt) {
417  VP1Msg::messageVerbose("TrackHandle_TrkTrack::containsDetElement FOUND " + id + "!");
418  return true;
419  }
420  if ((*it)->surface().associatedDetectorElementIdentifier()==tmpInt2) {
421  VP1Msg::messageVerbose("TrackHandle_TrkTrack::containsDetElement FOUND 2 " + id + "!");
422  return true;
423  }
424  }
425  return false;
426 }
TrackHandleBase::browserTreeItem
QTreeWidgetItem * browserTreeItem() const
Definition: TrackHandleBase.cxx:2026
TrackHandle_TrkTrack::m_nhits_trt
unsigned m_nhits_trt
Definition: TrackHandle_TrkTrack.h:72
TrackHandleBase::visibleStateChanged
virtual void visibleStateChanged()
override if need to take action in this case.
Definition: TrackHandleBase.cxx:2029
TrackCollHandleBase
Definition: TrackCollHandleBase.h:49
Trk::TrackStateOnSurface::Perigee
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
Definition: TrackStateOnSurface.h:117
TrackHandle_TrkTrack::ensureTouchedMuonChambersInitialiasedFromMeas
void ensureTouchedMuonChambersInitialiasedFromMeas(const Trk::MeasurementBase *meas) const
Definition: TrackHandle_TrkTrack.cxx:105
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
Trk::Track::fitQuality
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
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
TrackHandleBase::registerTouchedMuonChamber
void registerTouchedMuonChamber(const GeoPVConstLink &) const
If not earlier, touched muon chambers must me registered at latest when this method is invoked.
Definition: TrackHandleBase.cxx:1269
TrackHandle_TrkTrack::visibleStateChanged
void visibleStateChanged()
override if need to take action in this case.
Definition: TrackHandle_TrkTrack.cxx:142
TrackHandle_TrkTrack::currentMaterialChanged
void currentMaterialChanged()
Definition: TrackHandle_TrkTrack.cxx:149
MeasurementBase.h
TrackHandle_TrkTrack::getNMDTHits
virtual unsigned getNMDTHits() const
Definition: TrackHandle_TrkTrack.h:51
AssociatedObjectHandleBase::visible
bool visible() const
Definition: AssociatedObjectHandleBase.h:61
CompetingRIOsOnTrack.h
TrackSystemController.h
Surface.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
TrackHandle_TrkTrack::m_nhits_sct
unsigned m_nhits_sct
Definition: TrackHandle_TrkTrack.h:71
index
Definition: index.py:1
TrackHandle_TrkTrack::getNTRTHits
virtual unsigned getNTRTHits() const
Definition: TrackHandle_TrkTrack.h:48
TrackCollHandle_TrkTrack.h
Trk::Track::trackStateOnSurfaces
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
VP1Msg.h
Trk::Track::info
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
VP1TrackSanity::isSafe
static bool isSafe(const Trk::TrackStateOnSurface *)
Definition: VP1TrackSanity.cxx:46
TrackHandle_TrkTrack::getNTGCHits
virtual unsigned getNTGCHits() const
Definition: TrackHandle_TrkTrack.h:52
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
TrackHandleBase::collHandle
TrackCollHandleBase * collHandle() const
Definition: TrackHandleBase.h:68
skel.it
it
Definition: skel.GENtoEVGEN.py:396
TrackHandle_TrkTrack::getNRPCHits
virtual unsigned getNRPCHits() const
Definition: TrackHandle_TrkTrack.h:50
TrackHandle_TrkTrack::getFitQuality
virtual const Trk::FitQuality * getFitQuality() const
Definition: TrackHandle_TrkTrack.cxx:398
TrackHandle_TrkTrack::getNMMHits
virtual unsigned getNMMHits() const
Definition: TrackHandle_TrkTrack.h:54
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
TrackHandle_TrkTrack::trkTrackPointer
const Trk::Track * trkTrackPointer() const
Definition: TrackHandle_TrkTrack.h:43
VP1TrackSanity
Definition: VP1TrackSanity.h:34
TrackHandle_TrkTrack::clicked
virtual QStringList clicked() const
Called when user selects the node (stringlist is displayed in messagebox).
Definition: TrackHandle_TrkTrack.cxx:55
TrackHandle_TrkTrack::m_nhits_mm
unsigned m_nhits_mm
Definition: TrackHandle_TrkTrack.h:78
TrackHandle_TrkTrack::m_nhits_stgc
unsigned m_nhits_stgc
Definition: TrackHandle_TrkTrack.h:79
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
TruthTest.itE
itE
Definition: TruthTest.py:25
VP1TrackSanity.h
TrackHandleBase::getMuonReadoutElement
virtual const MuonGM::MuonReadoutElement * getMuonReadoutElement(const Trk::RIO_OnTrack &mb) const
Definition: TrackHandleBase.cxx:1966
MuonGM::MuonReadoutElement
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonReadoutElement.h:40
Trk::TrackStateOnSurface::Outlier
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
Definition: TrackStateOnSurface.h:122
TrackHandle_TrkTrack::m_nhits_tgc
unsigned m_nhits_tgc
Definition: TrackHandle_TrkTrack.h:76
Track.h
TrackHandle_TrkTrack::m_nhits_muon_phi
unsigned m_nhits_muon_phi
Definition: TrackHandle_TrkTrack.h:73
TrackHandle_TrkTrack::containsDetElement
virtual bool containsDetElement(const QString &) const
Definition: TrackHandle_TrkTrack.cxx:402
TrkObjToString::fullInfo
static QStringList fullInfo(const Trk::MeasurementBase &tp)
Returns list of key, value, key, value etc.
Definition: TrkObjToString.cxx:394
TrackHandle_TrkTrack::getNCSCHits
virtual unsigned getNCSCHits() const
Definition: TrackHandle_TrkTrack.h:53
TrackHandle_TrkTrack::zoomToTSOS
SoNode * zoomToTSOS(unsigned int index)
Depending on controller configuration attempt to zoom to the corresponding TSOS & returned detailed n...
Definition: TrackHandle_TrkTrack.cxx:291
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
TrackHandle_TrkTrack::m_nhits_mdt
unsigned m_nhits_mdt
Definition: TrackHandle_TrkTrack.h:75
Trk::CompetingRIOsOnTrack::rioOnTrack
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
TrackCollHandle_TrkTrack
Definition: TrackCollHandle_TrkTrack.h:27
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
TrkObjToString.h
TrackHandle_TrkTrack::getNPixelHits
virtual unsigned getNPixelHits() const
Definition: TrackHandle_TrkTrack.h:46
Trk::TrackStateOnSurface::Hole
@ Hole
A hole on the track - this is defined in the following way.
Definition: TrackStateOnSurface.h:128
lumiFormat.i
int i
Definition: lumiFormat.py:85
TrackHandleBase::momentum
virtual Amg::Vector3D momentum() const
Definition: TrackHandleBase.h:83
TrackHandle_TrkTrack::momentum
virtual Amg::Vector3D momentum() const
Definition: TrackHandle_TrkTrack.cxx:131
TrackHandleBase::visible
bool visible() const
Definition: TrackHandleBase.h:67
TrackHandle_TrkTrack::m_trk
const Trk::Track * m_trk
Definition: TrackHandle_TrkTrack.h:84
TrackHandleBase::getAllAscObjHandles
QList< AssociatedObjectHandleBase * > getAllAscObjHandles() const
override if need to take action in this case.
Definition: TrackHandleBase.cxx:1634
TrkObjToString::name
static QString name(const Trk::MeasurementBase &mb)
Definition: TrkObjToString.cxx:144
Trk::CompetingRIOsOnTrack
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Definition: CompetingRIOsOnTrack.h:64
TrackHandle_TrkTrack::ensureTouchedMuonChambersInitialised
void ensureTouchedMuonChambersInitialised() const
Definition: TrackHandle_TrkTrack.cxx:84
VP1TrackSummary.h
TrackHandle_TrkTrack::m_nhits_csc
unsigned m_nhits_csc
Definition: TrackHandle_TrkTrack.h:77
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition: FitQuality.h:97
Trk::ParametersBase
Definition: ParametersBase.h:55
MuonReadoutElement.h
TrackHandle_TrkTrack::m_nhits_pixel
unsigned m_nhits_pixel
Definition: TrackHandle_TrkTrack.h:70
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
AscObj_TSOS.h
TrackHandle_TrkTrack::getNsTGCHits
virtual unsigned getNsTGCHits() const
Definition: TrackHandle_TrkTrack.h:55
Trk::TrackStateOnSurface::BremPoint
@ BremPoint
This represents a brem point on the track, and so will contain TrackParameters and MaterialEffectsBas...
Definition: TrackStateOnSurface.h:109
TrackHandle_TrkTrack::TrackHandle_TrkTrack
TrackHandle_TrkTrack(TrackCollHandleBase *, const Trk::Track *)
Definition: TrackHandle_TrkTrack.cxx:41
TrackHandleBase::common
TrackSysCommonData * common() const
Definition: TrackHandleBase.cxx:255
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk::Track::trackParameters
const DataVector< const TrackParameters > * trackParameters() const
Return a pointer to a vector of TrackParameters.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:97
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
python.selection.number
number
Definition: selection.py:20
RIO_OnTrack.h
TrackHandle_TrkTrack::ensureInitSubSysHitInfo
void ensureInitSubSysHitInfo() const
Definition: TrackHandle_TrkTrack.cxx:156
Trk::TrackStateOnSurface::InertMaterial
@ InertMaterial
This represents inert material, and so will contain MaterialEffectsBase.
Definition: TrackStateOnSurface.h:105
VP1Msg::messageVerbose
static void messageVerbose(const QString &)
Definition: VP1Msg.cxx:84
Trk::TrackInfo::dumpInfo
std::string dumpInfo() const
Returns a string with the name of the fitter of this track (i.e.
Definition: Tracking/TrkEvent/TrkTrack/src/TrackInfo.cxx:45
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
TrkObjToString::shortInfo
static QString shortInfo(const Trk::MeasurementBase &mb)
Definition: TrkObjToString.cxx:208
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
TrackHandle_TrkTrack.h
TrackSystemController::trackObjBrowser
QTreeWidget * trackObjBrowser() const
Returns a pointer to the Track Object Browser (if it exists)
Definition: TrackSystemController.cxx:2051
VP1Msg::message
static void message(const QString &, IVP1System *sys=0)
Definition: VP1Msg.cxx:30
TrackHandle_TrkTrack::shortInfo
virtual QString shortInfo() const
returns mom and hit information about track
Definition: TrackHandle_TrkTrack.cxx:313
DeMoScan.first
bool first
Definition: DeMoScan.py:536
TrackHandle_TrkTrack::m_hitInfoStatus
int m_hitInfoStatus
-1: uninitialized, 0: not present, 1: present.
Definition: TrackHandle_TrkTrack.h:80
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
Identifier::value_type
unsigned long long value_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:27
plotBeamSpotMon.font
font
Definition: plotBeamSpotMon.py:80
TrackHandleBase::baseInfo
QStringList baseInfo() const
Definition: TrackHandleBase.cxx:1551
VP1JobConfigInfo.h
AssociatedObjectHandleBase::shapeDetailed
SoSeparator * shapeDetailed() const
Definition: AssociatedObjectHandleBase.cxx:206
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
TrackHandle_TrkTrack::getNSCTHits
virtual unsigned getNSCTHits() const
Definition: TrackHandle_TrkTrack.h:47
AscObj_TSOS::trackStateOnSurface
const Trk::TrackStateOnSurface * trackStateOnSurface() const
Definition: AscObj_TSOS.h:65
TrackHandle_TrkTrack::~TrackHandle_TrkTrack
virtual ~TrackHandle_TrkTrack()
Definition: TrackHandle_TrkTrack.cxx:50
VP1TrackSummary::countHits
static bool countHits(const Trk::Track *, unsigned &nPixelHits, unsigned &nSCTHits, unsigned &nTRTHits, unsigned &nhits_muon_phi, unsigned &nhits_rpc, unsigned &nhits_mdt, unsigned &nhits_tgc, unsigned &nhits_csc, unsigned &nhits_mm, unsigned &nhits_stgc)
Definition: VP1TrackSummary.cxx:30
TrackHandleBase
Definition: TrackHandleBase.h:56
VP1JobConfigInfo::hasMuonGeometry
static bool hasMuonGeometry()
Definition: VP1JobConfigInfo.cxx:134
TrackHandle_TrkTrack::updateObjectBrowser
virtual void updateObjectBrowser()
Definition: TrackHandle_TrkTrack.cxx:329
MuonGM::MuonReadoutElement::parentStationPV
PVConstLink parentStationPV() const
Definition: MuonDetDescr/MuonReadoutGeometry/src/MuonReadoutElement.cxx:100
AscObj_TSOS
Definition: AscObj_TSOS.h:45
AscObj_TSOS::setBrowserTreeItem
virtual void setBrowserTreeItem(QTreeWidgetItem *obt)
Definition: AscObj_TSOS.h:74
TrackHandle_TrkTrack::fillObjectBrowser
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Called in child classes.
Definition: TrackHandle_TrkTrack.cxx:162
TrackSysCommonData::trackSanityHelper
VP1TrackSanity * trackSanityHelper() const
Definition: TrackSysCommonData.h:134
TrackStateOnSurface.h
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
Trk::FitQuality::doubleNumberDoF
double doubleNumberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as double
Definition: FitQuality.h:68
AscObj_TSOS::browserTreeItem
virtual QTreeWidgetItem * browserTreeItem() const
Definition: AscObj_TSOS.h:73
TrackHandle_TrkTrack::m_nhits_rpc
unsigned m_nhits_rpc
Definition: TrackHandle_TrkTrack.h:74