ATLAS Offline Software
AscObj_TrackState.h
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 // Header file for class AscObj_TrackState //
9 // //
10 // Description: Handle for ACTS TrackStates //
11 // //
12 // //
14 
15 #ifndef ASCOBJ_TRACKSTATE_H
16 #define ASCOBJ_TRACKSTATE_H
17 
20 
22 
23 #include <QTreeWidgetItem>
25 
26 
27 class SoTranslation;
28 
30 public:
31 
32  AscObj_TrackState(TrackHandleBase *, unsigned indexOfPointOnTrack, const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state);
33  void setDistToNextPar(const double&);
34 
35  void buildShapes(SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
36  QStringList clicked();
37  void zoomView();
39 
40  virtual void setVisible(bool);
41 
42  virtual TrackCommonFlags::TSOSPartsFlags parts() const { return m_parts; }
43 
44  const Acts::Surface& surface() const { return m_trackstate.referenceSurface(); }
45  // const Acts::ConstParameters& parameters() const { return m_trackstate.parameters(); }
46  const ActsTrk::TrackStateBackend::ConstTrackStateProxy trackState() const { return m_trackstate; }
48 
49  virtual bool initiatesOwnZooms() const { return true; }
50 
51  virtual QTreeWidgetItem* browserTreeItem() const {return m_objBrowseTree;}
52  virtual void setBrowserTreeItem(QTreeWidgetItem* obt) {m_objBrowseTree=obt;}
53 
54 protected:
55  int regionIndex() const;
56  double lodCrossOverValue() const {return 1000; }
57 
58 private:
59  virtual ~AscObj_TrackState() {}//Private so it can only be deleted by TrackHandleBase
60  TrackCommonFlags::TSOSPartsFlags m_parts;
63  QTreeWidgetItem* m_objBrowseTree;
64  const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy m_trackstate;
65 
66  void addTrackParamInfoToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed,
67  bool showPars, bool showParsErrors, bool showSurfaces );
68  void addSurfaceToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
69  void addMaterialToSurfaceShapes(SoNode*& shape_simple, SoNode*& shape_detailed);
70  void addPlaneSurfaceToShapes(SoSeparator*& shape_simple,
71  SoSeparator*& shape_detailed, const Acts::Surface & surface);
72  void addCylindricalSurfaceToShapes(SoSeparator*& shape_simple,
73  SoSeparator*& shape_detailed, const Acts::Surface & surface);
74  void addMaterialEffectsToShapes( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
75  void addMeasurementToShapes(SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
76  static void ensureInitSeps( SoSeparator*&shape_simple, SoSeparator*&shape_detailed);
77 };
78 
79 #endif
AssociatedObjectHandleBase
Definition: AssociatedObjectHandleBase.h:35
AscObj_TrackState::parts
virtual TrackCommonFlags::TSOSPartsFlags parts() const
Definition: AscObj_TrackState.h:42
AscObj_TrackState::AscObj_TrackState
AscObj_TrackState(TrackHandleBase *, unsigned indexOfPointOnTrack, const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state)
Definition: AscObj_TrackState.cxx:55
AscObj_TrackState::m_objBrowseTree
QTreeWidgetItem * m_objBrowseTree
Definition: AscObj_TrackState.h:63
AscObj_TrackState::initiatesOwnZooms
virtual bool initiatesOwnZooms() const
Definition: AscObj_TrackState.h:49
AscObj_TrackState::addCylindricalSurfaceToShapes
void addCylindricalSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
Definition: AscObj_TrackState.cxx:322
AscObj_TrackState::isShortMeasurement
bool isShortMeasurement()
Return true if TRT/MDT & shortened mode is on, false otherwise
AscObj_TrackState::surface
const Acts::Surface & surface() const
Definition: AscObj_TrackState.h:44
AscObj_TrackState::addMeasurementToShapes
void addMeasurementToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:369
AscObj_TrackState::addPlaneSurfaceToShapes
void addPlaneSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
Definition: AscObj_TrackState.cxx:276
AscObj_TrackState::addTrackParamInfoToShapes
void addTrackParamInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, bool showPars, bool showParsErrors, bool showSurfaces)
Definition: AscObj_TrackState.cxx:119
AscObj_TrackState::m_trackstate
const ActsTrk::TrackStateBackend::ConstTrackStateProxy m_trackstate
Definition: AscObj_TrackState.h:64
AscObj_TrackState::addMaterialToSurfaceShapes
void addMaterialToSurfaceShapes(SoNode *&shape_simple, SoNode *&shape_detailed)
Definition: AscObj_TrackState.cxx:254
AscObj_TrackState::approxCenter
Amg::Vector3D approxCenter() const
Definition: AscObj_TrackState.cxx:99
AscObj_TrackState::m_distToNextPar
double m_distToNextPar
Definition: AscObj_TrackState.h:62
AscObj_TrackState
Definition: AscObj_TrackState.h:29
AscObj_TrackState::m_indexOfPointOnTrack
unsigned m_indexOfPointOnTrack
Definition: AscObj_TrackState.h:61
AscObj_TrackState::m_parts
TrackCommonFlags::TSOSPartsFlags m_parts
Definition: AscObj_TrackState.h:60
GeoPrimitives.h
TrkObjToString.h
AssociatedObjectHandleBase.h
AscObj_TrackState::buildShapes
void buildShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:445
AscObj_TrackState::ensureInitSeps
static void ensureInitSeps(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:436
AscObj_TrackState::setVisible
virtual void setVisible(bool)
Definition: AscObj_TrackState.cxx:484
AscObj_TrackState::setBrowserTreeItem
virtual void setBrowserTreeItem(QTreeWidgetItem *obt)
Definition: AscObj_TrackState.h:52
AscObj_TrackState::clicked
QStringList clicked()
Definition: AscObj_TrackState.cxx:479
AscObj_TrackState::lodCrossOverValue
double lodCrossOverValue() const
Definition: AscObj_TrackState.h:56
AscObj_TrackState::zoomView
void zoomView()
Depending on the controller settings, will attempt to zoom the view to this TSOS, for example in clic...
Definition: AscObj_TrackState.cxx:488
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
AscObj_TrackState::regionIndex
int regionIndex() const
Definition: AscObj_TrackState.cxx:109
AscObj_TrackState::addMaterialEffectsToShapes
void addMaterialEffectsToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:366
AscObj_TrackState::~AscObj_TrackState
virtual ~AscObj_TrackState()
Definition: AscObj_TrackState.h:59
AscObj_TrackState::setDistToNextPar
void setDistToNextPar(const double &)
Definition: AscObj_TrackState.cxx:92
AscObj_TrackState::trackState
const ActsTrk::TrackStateBackend::ConstTrackStateProxy trackState() const
Definition: AscObj_TrackState.h:46
TrackHandleBase
Definition: TrackHandleBase.h:56
AscObj_TrackState::browserTreeItem
virtual QTreeWidgetItem * browserTreeItem() const
Definition: AscObj_TrackState.h:51
TrackContainer.h
AscObj_TrackState::addSurfaceToShapes
void addSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Definition: AscObj_TrackState.cxx:192