ATLAS Offline Software
Loading...
Searching...
No Matches
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
27class SoTranslation;
28
30public:
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
54protected:
55 int regionIndex() const;
56 double lodCrossOverValue() const {return 1000; }
57
58private:
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
void addPlaneSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
const ActsTrk::TrackStateBackend::ConstTrackStateProxy m_trackstate
void addCylindricalSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, const Acts::Surface &surface)
virtual void setVisible(bool)
static void ensureInitSeps(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
virtual QTreeWidgetItem * browserTreeItem() const
void zoomView()
Depending on the controller settings, will attempt to zoom the view to this TSOS, for example in clic...
virtual TrackCommonFlags::TSOSPartsFlags parts() const
const Acts::Surface & surface() const
void setDistToNextPar(const double &)
QTreeWidgetItem * m_objBrowseTree
double lodCrossOverValue() const
const ActsTrk::TrackStateBackend::ConstTrackStateProxy trackState() const
virtual void setBrowserTreeItem(QTreeWidgetItem *obt)
void buildShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
void addSurfaceToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
Amg::Vector3D approxCenter() const
bool isShortMeasurement()
Return true if TRT/MDT & shortened mode is on, false otherwise.
void addTrackParamInfoToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed, bool showPars, bool showParsErrors, bool showSurfaces)
void addMaterialEffectsToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
void addMaterialToSurfaceShapes(SoNode *&shape_simple, SoNode *&shape_detailed)
void addMeasurementToShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)
virtual bool initiatesOwnZooms() const
AscObj_TrackState(TrackHandleBase *, unsigned indexOfPointOnTrack, const typename ActsTrk::TrackStateBackend::ConstTrackStateProxy &state)
TrackCommonFlags::TSOSPartsFlags m_parts
Eigen::Matrix< double, 3, 1 > Vector3D