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"
31 #include "VP1Base/VP1Msg.h"//fixme
34 #include <Inventor/nodes/SoSeparator.h>
35 #include <Inventor/nodes/SoNode.h>
36 
37 
38 
39 //____________________________________________________________________
42  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),
43  m_nhits_tgc(0), m_nhits_csc(0), m_nhits_mm(0), m_nhits_stgc(0), m_hitInfoStatus(-1),
44  m_trk(trk)
45 {
46 }
47 
48 //____________________________________________________________________
50 {
51 }
52 
53 //____________________________________________________________________
54 QStringList TrackHandle_TrkTrack::clicked() const
55 {
56  // Object browser stuff
57  QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser();
58  if (trkObjBrowser){
59  trkObjBrowser->setCurrentItem(browserTreeItem());
60  trkObjBrowser->scrollToItem(browserTreeItem());
61  }
62  QStringList l;
63  l << "Trk::Track";
64  if (!m_trk) {
65  l << "ERROR: This TrackHandle_TrkTrack handle has a NULL track pointer!!";
66  return l;
67  }
68  l << "Author info: " << " "+QString(m_trk->info().dumpInfo().c_str());
69 
71  if (m_trk->fitQuality())
72  l << "Fit quality [Chi^2, nDoF] = ["+QString::number(m_trk->fitQuality()->chiSquared())+", "+QString::number(m_trk->fitQuality()->doubleNumberDoF())+"]. ";
73  if (common()->controller()->printVerboseInfoOnSingleSelection()) {
74  l << " ===== dump =====";
75  std::ostringstream s;
76  s << *m_trk;
77  l << QString(s.str().c_str()).split('\n');
78  }
79  return l;
80 }
81 
82 //____________________________________________________________________
84 {
85  //Fixme: TO BASE!!!
86 
87  VP1TrackSanity * sanity = common()->trackSanityHelper();
88  if (!VP1JobConfigInfo::hasMuonGeometry()||!sanity) {
89  VP1Msg::messageVerbose("TrackHandle_TrkTrack WARNING: can't init touched muon chamber list.");
90  return;
91  }
94  for (; tsos_iter != tsos_end; ++tsos_iter) {
95  if (!VP1TrackSanity::isSafe(*tsos_iter)) {
96  if (VP1Msg::verbose())
97  VP1Msg::messageVerbose("TrackHandle_TrkTrack WARNING: Skipping unsafe TSOS for touched muon chamber determination.");
98  continue;
99  }
100  ensureTouchedMuonChambersInitialiasedFromMeas( (*tsos_iter)->measurementOnTrack() );
101  }
102 }
103 
105 {
106  if (meas) {
107  const Trk::CompetingRIOsOnTrack* crot = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(meas);
108 
109  // 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
110  if (crot)
111  meas=&(crot->rioOnTrack(0));
112  if (!VP1TrackSanity::isSafe(meas)) {
113  if (VP1Msg::verbose())
114  VP1Msg::messageVerbose("TrackHandle_TrkTrack WARNING: Skipping unsafe TSOS for touched muon chamber determination.");
115  return;
116  }
117 
118  const Trk::RIO_OnTrack* rio = dynamic_cast<const Trk::RIO_OnTrack*>(meas);
119  if (rio) {
120  const MuonGM::MuonReadoutElement* muonDetEl = getMuonReadoutElement(*rio);
121  if (muonDetEl)
123  }
124  }
125 }
126 
127 
128 
129 //____________________________________________________________________
131 {
132  for (const Trk::TrackParameters* param : *m_trk->trackParameters()) {
133  if (!common()->trackSanityHelper()->isSafe(param))
134  continue;
135  return param->momentum();
136  }
137  return TrackHandleBase::momentum();
138 }
139 
140 //____________________________________________________________________
142 {
143  static_cast<TrackCollHandle_TrkTrack*>(collHandle())->visibleStateUpdated(this);
145 }
146 
147 //____________________________________________________________________
149 {
150  if (visible())
151  static_cast<TrackCollHandle_TrkTrack*>(collHandle())->visibleStateUpdated(this);
152 }
153 
154 //____________________________________________________________________
156 {
157  if (m_hitInfoStatus==-1)
159 }
160 
161 void TrackHandle_TrkTrack::fillObjectBrowser( QList<QTreeWidgetItem *>& listOfItems)
162 {
163  TrackHandleBase::fillObjectBrowser(listOfItems); // Obligatory!
164 
165  // Fill sub-data.
166  QList<AssociatedObjectHandleBase*> list = getAllAscObjHandles();
169  unsigned int i=0;
170  for (;it!=itE;++it){
171 // VP1Msg::messageVerbose("TSOS #"+QString::number(i++));
172 
173  bool visible=false;
174  QTreeWidgetItem* TSOSitem = new QTreeWidgetItem(browserTreeItem());
175 
176  AscObj_TSOS* asc=nullptr;
177  if (i<static_cast<unsigned int>(list.size())) asc = dynamic_cast<AscObj_TSOS*>(list.at(i));
178 
179  if (asc) {
180  asc->setBrowserTreeItem(TSOSitem);
181  visible=asc->visible();
182  }
183 
184  if (!visible) {
185  TSOSitem->setFlags(Qt::ItemFlag());// not selectable, not enabled
186  QFont itemFont = TSOSitem->font(0);
187  itemFont.setStrikeOut(true);
188  TSOSitem->setFont(0, itemFont);
189  TSOSitem->setFont(1, itemFont);
190  }
191  TSOSitem->setText(0, QString("Track State "+QString::number( (int)(it - trkTrackPointer()->trackStateOnSurfaces ()->begin() ) ) ) );
192 
193  QString tsosText;
194  bool first=true;
195  const Trk::MeasurementBase* meas = (*it)->measurementOnTrack();
196  if ( meas ){
197  QString measName(TrkObjToString::name(*meas));
198  tsosText+=measName;
199 
200  QTreeWidgetItem* measItem = new QTreeWidgetItem(TSOSitem);
201  measItem->setExpanded(true); // want it opened so subparams seen easily
202  measItem->setFlags(Qt::ItemIsEnabled);
203  measItem->setText(0, measName);
204  // measItem->setText(1, TrkObjToString::shortInfo(*meas) );
205 
206  QStringList list = TrkObjToString::fullInfo( *((*it)->measurementOnTrack ()) );
207  for (int i = 0; i < (list.size()-1); ){
208  QTreeWidgetItem* subparamItem = new QTreeWidgetItem(measItem);
209  subparamItem->setText(0, list.at(i++) );
210  subparamItem->setText(1, list.at(i++) );
211  subparamItem->setFlags(Qt::ItemIsEnabled);
212  }
213 
214  first=false;
215  }
216  if ( (*it)->trackParameters () ) {
217  if (!first) tsosText.append(" + ");
218  tsosText.append("Parameters");
219 
220  QTreeWidgetItem* paramItem = new QTreeWidgetItem(TSOSitem);
221  paramItem->setExpanded(true); // want it opened so subparams seen easily
222  paramItem->setFlags(Qt::ItemIsEnabled);
223  paramItem->setText(0, TrkObjToString::name( *((*it)->trackParameters ()) ) );
224  // paramItem->setText(1, TrkObjToString::shortInfo( *((*it)->trackParameters ()) ) );
225 
226  QStringList list = TrkObjToString::fullInfo( *((*it)->trackParameters ()) );
227  for (int i = 0; i < (list.size()-1); ){
228  QTreeWidgetItem* subparamItem = new QTreeWidgetItem(paramItem);
229  subparamItem->setText(0, list.at(i++) );
230  subparamItem->setText(1, list.at(i++) );
231  subparamItem->setFlags(Qt::ItemIsEnabled);
232  }
233 
234  first=false;
235  }
236  if ( (*it)->materialEffectsOnTrack () ){
237  if (!first) tsosText.append(" + ");
238  tsosText.append("MaterialEffectsOnTrack");
239  QTreeWidgetItem* meItem = new QTreeWidgetItem(TSOSitem);
240  meItem->setExpanded(true); // want it opened so subparams seen easily
241  meItem->setFlags(Qt::ItemIsEnabled);
242 
243  meItem->setText(0, TrkObjToString::name( *((*it)->materialEffectsOnTrack ()) ) );
244  meItem->setText(1, TrkObjToString::shortInfo( *((*it)->materialEffectsOnTrack ()) ) );
245 
246  first=false;
247  }
248  if ( (*it)->fitQualityOnSurface () ){
249  if (!first) tsosText.append(" + ");
250  tsosText.append("FitQuality");
251  QTreeWidgetItem* fqItem = new QTreeWidgetItem(TSOSitem);
252  fqItem->setExpanded(true); // want it opened so subparams seen easily
253  fqItem->setFlags(Qt::ItemIsEnabled);
254  fqItem->setText(0, QString("FitQuality") );
255  fqItem->setText(1, TrkObjToString::shortInfo( (*it)->fitQualityOnSurface () ) );
256 
257  first=false;
258  }
259  // FIXME - add information about chamber for Muon systems?
260 
261  if ( (*it)->type(Trk::TrackStateOnSurface::Outlier) ){
262  if (!first) tsosText.append(" + ");
263  tsosText.append("Outlier");
264  }
265 
266  if ( (*it)->type(Trk::TrackStateOnSurface::InertMaterial) ){
267  if (!first) tsosText.append(" + ");
268  tsosText.append("InertMaterial");
269  }
270 
271  if ( (*it)->type(Trk::TrackStateOnSurface::BremPoint) ){
272  if (!first) tsosText.append(" + ");
273  tsosText.append("BremPoint");
274  }
275 
276  if ( (*it)->type(Trk::TrackStateOnSurface::Perigee) ){
277  if (!first) tsosText.append(" + ");
278  tsosText.append("Perigee");
279  }
280 
281  if ( (*it)->type(Trk::TrackStateOnSurface::Hole) ){
282  if (!first) tsosText.append(" + ");
283  tsosText.append("Hole");
284  }
285  TSOSitem->setText(1, tsosText );
286  }
287  // listOfItems << browserTreeItem();
288 }
289 
291 {
292  if (trkTrackPointer() && (index<trkTrackPointer()->trackStateOnSurfaces()->size() )){
294  // now find matching AscObj_TSOS
295  QList<AssociatedObjectHandleBase*> list = getAllAscObjHandles();
296  for (int i = 0; i < list.size(); ++i) {
297  // VP1Msg::messageVerbose("TrackSystemController::objectBrowserClicked: checking ASC "+QString::number(i));
298 
299  AscObj_TSOS* asc = dynamic_cast<AscObj_TSOS*>(list.at(i));
300  if (asc) {
301  if (asc && asc->trackStateOnSurface()==tsos) {
302  VP1Msg::messageVerbose("TrackSystemController::objectBrowserClicked: this ASC matches "+QString::number(i));
303  //asc->zoomView();
304  return asc->shapeDetailed();
305  }
306  }
307  }
308  }
309  return nullptr;
310 }
311 
313 {
314  // get the track's momentum
316  mom /= CLHEP::GeV;
317 
318  // format info string
319  QString l;
320  l += "|Pt|="+VP1Msg::str(mom.perp())+" [GeV], ";
321  l += "|P|="+VP1Msg::str(mom.mag())+" [GeV], ";
324  return l;
325 }
326 
327 
329 
330  if ( !browserTreeItem()) {
331  VP1Msg::messageVerbose("updateObjectBrowser: No m_objBrowseTree!");
332  return;
333  }
334 
335  // QString tmp = (visible()==true)?"True":"False";
336 // VP1Msg::messageVerbose("updateObjectBrowser "+m_objBrowseTree->text(0)+" with visible()="+tmp);
337 
338  if (!visible()) {
339  browserTreeItem()->setFlags(Qt::ItemFlag()); // not selectable, not enabled
340  } else {
341  browserTreeItem()->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
342  }
343  QFont font= browserTreeItem()->font(0);
344  font.setStrikeOut(!visible());
345  browserTreeItem()->setFont(0, font );
346  browserTreeItem()->setFont(1, font );
347 
348 
349  // FIXME! Only do if necessary i.e. if something affecting this TSOS has changed.
350 
351  QList<AssociatedObjectHandleBase*> list = getAllAscObjHandles();
352 
353  if (list.empty()) {
354  VP1Msg::message("No ASC objects associated with this track - no track components visible yet?");
355  return;
356  }
357 
360  unsigned int numOfTSOS=0;
361  for (;it!=itE;++it,++numOfTSOS){
362  AscObj_TSOS* asc = dynamic_cast<AscObj_TSOS*>(list.at(numOfTSOS));
363  if (!(asc && asc->trackStateOnSurface()==*it && !list.empty()) ) {
364  // Fallback.
365  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.");
366  for (int i = 0; i < list.size(); ++i) {
367  AscObj_TSOS* asc = dynamic_cast<AscObj_TSOS*>(list.at(i));
368  if (asc && asc->trackStateOnSurface()==*it) {
369  VP1Msg::message("-> this ASC matches "+QString::number(i));
370  }
371  }
372  }
373  if (!asc) {
374  VP1Msg::message("Could not find matching Asc in list of size "+QString::number(list.size()));
375  continue;
376  }
377 
378  if (!asc->browserTreeItem()){
379  // not set yet - so need to do this now. Can we just use the index?
380  asc->setBrowserTreeItem(browserTreeItem()->child(numOfTSOS));
381  }
382 
383  if (!asc->browserTreeItem()){
384  VP1Msg::message("Could not find matching browserTreeItem");
385  continue;
386  }
387 
388  if (!asc->visible()) {
389  asc->browserTreeItem()->setFlags(Qt::ItemFlag()); // not selectable, not enabled
390  } else {
391  asc->browserTreeItem()->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); // selectable, enabled
392  }
393  QFont itemFont = asc->browserTreeItem()->font(0);
394  itemFont.setStrikeOut(!asc->visible());
395  asc->browserTreeItem()->setFont(0, itemFont);
396  asc->browserTreeItem()->setFont(1, itemFont);
397  }
398 }
399 
401  return m_trk ? m_trk->fitQuality ():nullptr;
402 }
403 
404 bool TrackHandle_TrkTrack::containsDetElement(const QString &id) const
405 {
406  VP1Msg::messageVerbose("TrackHandle_TrkTrack::containsDetElement looking for " + id);
407  IDENTIFIER_TYPE tmpInt = id.toLong(nullptr,10);
408  IDENTIFIER_TYPE tmpInt2 = id.toLong(nullptr,16);
409 
410  VP1Msg::messageVerbose("TrackHandle_TrkTrack::looping over TSOS ");
411 
414  for (; it != itE; ++it)
415  {
416  // Still debugging, so leaving this in for now...
417  // std::cout<<(*it)->surface().associatedDetectorElementIdentifier()<<std::endl;
418  if ((*it)->surface().associatedDetectorElementIdentifier()==tmpInt) {
419  VP1Msg::messageVerbose("TrackHandle_TrkTrack::containsDetElement FOUND " + id + "!");
420  return true;
421  }
422  if ((*it)->surface().associatedDetectorElementIdentifier()==tmpInt2) {
423  VP1Msg::messageVerbose("TrackHandle_TrkTrack::containsDetElement FOUND 2 " + id + "!");
424  return true;
425  }
426  }
427  return false;
428 }
TrackHandleBase::browserTreeItem
QTreeWidgetItem * browserTreeItem() const
Definition: TrackHandleBase.cxx:2009
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:2012
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:104
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:116
TrackHandleBase::fillObjectBrowser
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Overload in child classes.
Definition: TrackHandleBase.cxx:1992
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:1252
TrackHandle_TrkTrack::visibleStateChanged
void visibleStateChanged()
override if need to take action in this case.
Definition: TrackHandle_TrkTrack.cxx:141
TrackHandle_TrkTrack::currentMaterialChanged
void currentMaterialChanged()
Definition: TrackHandle_TrkTrack.cxx:148
MeasurementBase.h
TrackHandle_TrkTrack::getNMDTHits
virtual unsigned getNMDTHits() const
Definition: TrackHandle_TrkTrack.h:51
AssociatedObjectHandleBase::visible
bool visible() const
Definition: AssociatedObjectHandleBase.h:52
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:423
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:400
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:54
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:1949
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:404
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:290
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:92
TrackHandleBase::momentum
virtual Amg::Vector3D momentum() const
Definition: TrackHandleBase.h:83
TrackHandle_TrkTrack::momentum
virtual Amg::Vector3D momentum() const
Definition: TrackHandle_TrkTrack.cxx:130
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:1617
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:83
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:40
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:155
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:2049
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:312
DeMoScan.first
bool first
Definition: DeMoScan.py:534
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
plotBeamSpotMon.font
font
Definition: plotBeamSpotMon.py:80
TrackHandleBase::baseInfo
QStringList baseInfo() const
Definition: TrackHandleBase.cxx:1534
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:71
TrackHandle_TrkTrack::~TrackHandle_TrkTrack
virtual ~TrackHandle_TrkTrack()
Definition: TrackHandle_TrkTrack.cxx:49
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
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
TrackHandle_TrkTrack::updateObjectBrowser
void updateObjectBrowser()
Definition: TrackHandle_TrkTrack.cxx:328
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:80
TrackHandle_TrkTrack::fillObjectBrowser
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Overload in child classes.
Definition: TrackHandle_TrkTrack.cxx:161
TrackSysCommonData::trackSanityHelper
VP1TrackSanity * trackSanityHelper() const
Definition: TrackSysCommonData.h:126
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
IDENTIFIER_TYPE
#define IDENTIFIER_TYPE
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:9
AscObj_TSOS::browserTreeItem
virtual QTreeWidgetItem * browserTreeItem() const
Definition: AscObj_TSOS.h:79
TrackHandle_TrkTrack::m_nhits_rpc
unsigned m_nhits_rpc
Definition: TrackHandle_TrkTrack.h:74