ATLAS Offline Software
AscObj_TSOS.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class AscObj_TSOS //
9 // //
10 // Description: Handle for TSOS's //
11 // //
12 // Author: Troels Kofoed Jacobsen //
13 // Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
14 // Initial version: June 2008 //
15 // //
17 
18 #ifndef ASCOBJ_TSOS_H
19 #define ASCOBJ_TSOS_H
20 
25 
27 
28 #include <QTreeWidgetItem>
29 #include "VP1Utils/HitToSoNode.h"
30 
31 
32 typedef AmgSymMatrix(2) AmgCovMatrix; // new Eigen-based CovarianceMatrix
33 
34 
35 
36 class SoTranslation;
37 namespace Trk {
38  class RIO_OnTrack;
40  class Surface;
41  class TrackStateOnSurface;
42  class MeasurementBase;
43 }
44 
46 public:
47 
49  unsigned indexOfPointOnTrack);
50  void setDistToNextPar(const double&);
51 
52  void buildShapes(SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
53  QStringList clicked();
54  void zoomView();
55  bool isShortMeasurement();
56 
57  virtual void setVisible(bool);
58 
59  TrackCommonFlags::TSOSPartsFlags parts() const { return m_parts; }
66 
67  const Trk::MeasurementBase * measurement() const;
68  const Trk::Surface * surface() const;
69  const Trk::RIO_OnTrack * rioOnTrack() const;
72 
73  //Add identify() method???
74 
76 
77  virtual bool initiatesOwnZooms() const { return true; }
78 
79  virtual QTreeWidgetItem* browserTreeItem() const {return m_objBrowseTree;}
80  virtual void setBrowserTreeItem(QTreeWidgetItem* obt) {m_objBrowseTree=obt;}
81 
82 protected:
83  int regionIndex() const;
84  double lodCrossOverValue() const {return 1000; }
85 
86 private:
87  virtual ~AscObj_TSOS() {}//Private so it can only be deleted by TrackHandleBase
89  TrackCommonFlags::TSOSPartsFlags m_parts;
92  QTreeWidgetItem* m_objBrowseTree;
93 
94  double deviationFromMeasurement(const bool& absolute = false);
95  void addDeviationFromMeasurementInfoToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
96  void addTransformToSurface( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
97  void addTrackParamInfoToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed,
98  bool showPars, bool showParsErrors, bool showSurfaces );
99  void addErrors(const Trk::Surface& theSurface, const AmgSymMatrix(5)& tmpCovMat,
100  const Amg::Vector2D& localPos, const Amg::Vector3D& p1, bool showSurfaces,
101  SoSeparator* shape_simple, SoSeparator* shape_detailed, bool force1D, bool applyLocalTrans );
102  void addRIO_OnTrackInfoToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed, const Trk::RIO_OnTrack* rio, bool blockDrawingOfGP=false);
103  void addCompetingRIO_OnTrackInfoToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
104  void addSurfaceToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
105  void addMaterialEffectsToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
106 
107  static void ensureInitSeps( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
108  SoTranslation* getZTranslationTube( const Trk::Surface *, const double& maxTrans ) const;
109 
111 };
112 
113 #endif
AscObj_TSOS::surface
const Trk::Surface * surface() const
Definition: AscObj_TSOS.cxx:937
AssociatedObjectHandleBase
Definition: AssociatedObjectHandleBase.h:33
AscObj_TSOS::addDeviationFromMeasurementInfoToShapes
void addDeviationFromMeasurementInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:306
AscObj_TSOS::isShortMeasurement
bool isShortMeasurement()
Return true if TRT/MDT & shortened mode is on, false otherwise
Definition: AscObj_TSOS.cxx:1194
AscObj_TSOS::lodCrossOverValue
double lodCrossOverValue() const
Definition: AscObj_TSOS.h:84
AscObj_TSOS::parts
TrackCommonFlags::TSOSPartsFlags parts() const
Definition: AscObj_TSOS.h:59
TrackParameters.h
AscObj_TSOS::measurement
const Trk::MeasurementBase * measurement() const
Definition: AscObj_TSOS.cxx:195
TrackCommonFlags.h
TrackCommonFlags::TSOS_AnyMeasurement
@ TSOS_AnyMeasurement
Definition: TrackCommonFlags.h:61
AscObj_TSOS::m_indexOfPointOnTrack
unsigned m_indexOfPointOnTrack
Definition: AscObj_TSOS.h:90
AscObj_TSOS::addErrors
void addErrors(const Trk::Surface &theSurface, const AmgSymMatrix(5)&tmpCovMat, const Amg::Vector2D &localPos, const Amg::Vector3D &p1, bool showSurfaces, SoSeparator *shape_simple, SoSeparator *shape_detailed, bool force1D, bool applyLocalTrans)
Definition: AscObj_TSOS.cxx:454
AscObj_TSOS::AscObj_TSOS
AscObj_TSOS(TrackHandleBase *, const Trk::TrackStateOnSurface *, unsigned indexOfPointOnTrack)
Definition: AscObj_TSOS.cxx:94
AscObj_TSOS::rioOnTrack
const Trk::RIO_OnTrack * rioOnTrack() const
Definition: AscObj_TSOS.cxx:925
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
plotting.yearwise_luminosity.absolute
absolute
Definition: yearwise_luminosity.py:32
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
AscObj_TSOS::hasError
bool hasError() const
Definition: AscObj_TSOS.h:62
AscObj_TSOS::addRIO_OnTrackInfoToShapes
void addRIO_OnTrackInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Trk::RIO_OnTrack *rio, bool blockDrawingOfGP=false)
Definition: AscObj_TSOS.cxx:659
AscObj_TSOS::addTrackParamInfoToShapes
void addTrackParamInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, bool showPars, bool showParsErrors, bool showSurfaces)
Definition: AscObj_TSOS.cxx:378
TrackCommonFlags::TSOS_AnySurface
@ TSOS_AnySurface
Definition: TrackCommonFlags.h:60
AscObj_TSOS::hasParError
bool hasParError() const
Definition: AscObj_TSOS.h:61
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
AscObj_TSOS::competingRIOsOnTrack
const Trk::CompetingRIOsOnTrack * competingRIOsOnTrack() const
Definition: AscObj_TSOS.cxx:931
AscObj_TSOS::clicked
QStringList clicked()
Definition: AscObj_TSOS.cxx:1067
AscObj_TSOS::zoomView
void zoomView()
Depending on the controller settings, will attempt to zoom the view to this TSOS, for example in clic...
Definition: AscObj_TSOS.cxx:1220
AscObj_TSOS::addSurfaceToShapes
void addSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:531
TrackCommonFlags::TSOS_AnyErrors
@ TSOS_AnyErrors
Definition: TrackCommonFlags.h:67
AscObj_TSOS::deviationFromMeasurement
double deviationFromMeasurement(const bool &absolute=false)
Definition: AscObj_TSOS.cxx:264
GeoPrimitives.h
TrackCommonFlags::TSOS_TrackPars
@ TSOS_TrackPars
bit 0
Definition: TrackCommonFlags.h:44
TrkObjToString.h
AssociatedObjectHandleBase.h
AscObj_TSOS::m_distToNextPar
double m_distToNextPar
Definition: AscObj_TSOS.h:91
Trk::MeasurementBaseType::CompetingRIOsOnTrack
@ CompetingRIOsOnTrack
Definition: MeasurementBase.h:50
HitToSoNode.h
AscObj_TSOS::m_parts
TrackCommonFlags::TSOSPartsFlags m_parts
Definition: AscObj_TSOS.h:89
Trk::CompetingRIOsOnTrack
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Definition: CompetingRIOsOnTrack.h:64
TrackCommonFlags::TSOS_AnyMaterialEffects
@ TSOS_AnyMaterialEffects
Definition: TrackCommonFlags.h:59
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
HitToSoNode
Definition: HitToSoNode.h:33
AscObj_TSOS::~AscObj_TSOS
virtual ~AscObj_TSOS()
Definition: AscObj_TSOS.h:87
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
AscObj_TSOS::m_hitToSoNode
HitToSoNode m_hitToSoNode
Definition: AscObj_TSOS.h:110
AscObj_TSOS::regionIndex
int regionIndex() const
Definition: AscObj_TSOS.cxx:185
AscObj_TSOS::setDistToNextPar
void setDistToNextPar(const double &)
Definition: AscObj_TSOS.cxx:165
AscObj_TSOS::hasSurface
bool hasSurface() const
Definition: AscObj_TSOS.h:64
AscObj_TSOS::buildShapes
void buildShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:1006
AscObj_TSOS::ensureInitSeps
static void ensureInitSeps(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:915
TrackCommonFlags::TSOS_AnyParsErrors
@ TSOS_AnyParsErrors
Definition: TrackCommonFlags.h:66
AscObj_TSOS::hasMeasurement
bool hasMeasurement() const
Definition: AscObj_TSOS.h:65
AscObj_TSOS::approxCenter
Amg::Vector3D approxCenter() const
Definition: AscObj_TSOS.cxx:173
AmgSymMatrix
typedef AmgSymMatrix(2) AmgCovMatrix
AscObj_TSOS::hasParameters
bool hasParameters() const
Definition: AscObj_TSOS.h:60
AscObj_TSOS::m_tsos
const Trk::TrackStateOnSurface * m_tsos
Definition: AscObj_TSOS.h:88
AscObj_TSOS::setVisible
virtual void setVisible(bool)
Definition: AscObj_TSOS.cxx:1167
AscObj_TSOS::addMaterialEffectsToShapes
void addMaterialEffectsToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:585
AscObj_TSOS::initiatesOwnZooms
virtual bool initiatesOwnZooms() const
Definition: AscObj_TSOS.h:77
AscObj_TSOS::trackStateOnSurface
const Trk::TrackStateOnSurface * trackStateOnSurface() const
Definition: AscObj_TSOS.h:71
AscObj_TSOS::hasMaterialEffect
bool hasMaterialEffect() const
Definition: AscObj_TSOS.h:63
TrackHandleBase
Definition: TrackHandleBase.h:56
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
AscObj_TSOS::m_objBrowseTree
QTreeWidgetItem * m_objBrowseTree
Definition: AscObj_TSOS.h:92
AscObj_TSOS
Definition: AscObj_TSOS.h:45
AscObj_TSOS::setBrowserTreeItem
virtual void setBrowserTreeItem(QTreeWidgetItem *obt)
Definition: AscObj_TSOS.h:80
AscObj_TSOS::addCompetingRIO_OnTrackInfoToShapes
void addCompetingRIO_OnTrackInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:749
AscObj_TSOS::addTransformToSurface
void addTransformToSurface(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TSOS.cxx:949
AscObj_TSOS::getZTranslationTube
SoTranslation * getZTranslationTube(const Trk::Surface *, const double &maxTrans) const
Definition: AscObj_TSOS.cxx:201
AscObj_TSOS::browserTreeItem
virtual QTreeWidgetItem * browserTreeItem() const
Definition: AscObj_TSOS.h:79