17#ifndef TRACKHANDLEBASE_H
18#define TRACKHANDLEBASE_H
27#include "GeoModelKernel/GeoVPhysVol.h"
30#include <QTreeWidgetItem>
70 void update3DObjects(
bool invalidatePropagatedPoints =
false,
float maxR=0.0);
84 virtual std::optional<Amg::Vector3D>
startPoint()
const;
85 virtual std::optional<Amg::Vector3D>
endPoint()
const;
97 virtual double mass()
const;
128 virtual QString
shortInfo()
const {
return QString(
"Not yet implemented"); }
129 virtual QString
type()
const {
return QString(
"Not yet implemented"); }
199 virtual void ensureInitTSOSs(std::vector<AssociatedObjectHandleBase*>*&);
204 void attachNodes( SoNode*simple, SoNode*detailed,
bool unpickable );
206 void detachNodes( SoNode*simple, SoNode*detailed );
AssocObjAttachmentHandle & operator=(const AssocObjAttachmentHandle &)
~AssocObjAttachmentHandle()
void attachNodes(SoNode *simple, SoNode *detailed, bool unpickable)
void trackMaterialChanged()
AssocObjAttachmentHandle(TrackLODHandle *, TrackHandleBase *)
friend class TrackHandleBase
void setPickableStateOfNodes(SoNode *simple, SoNode *detailed, bool unpickable)
Will attach if not currently attached.
void trackVisibilityChanged()
AssocObjAttachmentHandle(const AssocObjAttachmentHandle &)
void detachNodes(SoNode *simple, SoNode *detailed)
Base class for the XxxReadoutElement, with Xxx = Mdt, Rpc, Tgc, Csc.
void registerTouchedMuonChamber(const GeoPVConstLink &) const
If not earlier, touched muon chambers must me registered at latest when this method is invoked.
void rerandomiseRandomMaterial()
virtual void currentMaterialChanged()
virtual QString shortInfo() const
returns mom and hit information about track
void setCustomColouredTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
TrackCommonFlags::TSOSPartsFlags customColouredTSOSParts() const
QList< AssociatedObjectHandleBase * > getVisibleMeasurements() const
virtual const Trk::Track * provide_pathInfoTrkTrack() const
void updateShapes_TSOSWithMaterialEffects()
virtual int pdgCode() const
0 means unknown
const std::set< GeoPVConstLink > & touchedMuonChambers() const
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Called in child classes.
virtual unsigned getNMuonPhiHits() const
The number of phi hits is part of hit counts below (i.e.
virtual double calculateCharge() const
virtual unsigned getNTRTHits() const
virtual unsigned getNMDTHits() const
void updateMuonProjections()
virtual void visibleStateChanged()
override if need to take action in this case.
QTreeWidgetItem * browserTreeItem() const
virtual unsigned getNMMHits() const
friend class TrackCollHandleBase
virtual bool isRun4EDM() const
friend class AssociatedObjectHandleBase
AssocObjAttachmentHandle * getAttachmentHandle(int regionIndex, const double &crossoverval)
friend class AssocObjAttachmentHandle
TrackHandleBase(TrackCollHandleBase *)
void setVisible(bool)
use by the collection handle.
virtual std::optional< Amg::Vector3D > startPoint() const
returns 0 if can't find start point.
virtual void ensureTouchedMuonChambersInitialised() const
TrackHandleBase & operator=(const TrackHandleBase &)
void updateInDetProjections()
virtual Trk::ParticleHypothesis extrapolationParticleHypothesis() const
Default implementation of this next method bases hypothesis on pdgCode() and charge():
virtual unsigned getNSCTHits() const
virtual std::optional< Amg::Vector3D > endPoint() const
returns 0 if can't find start point.
virtual double mass() const
virtual bool containsDetElement(const QString &) const
void updateShapes_TSOSWithErrors()
TrackCommonFlags::TSOSPartsFlags shownTSOSParts() const
virtual unsigned getNTGCHits() const
SoMaterial * currentMaterial() const
virtual unsigned getNCSCHits() const
virtual unsigned getNMuonPrecisionHits() const
void updateShapes_TSOSWithMeasurements()
virtual void updateObjectBrowser()
virtual bool hasSubSystemHitInfo() const
QStringList baseInfo() const
virtual const MuonGM::MuonReadoutElement * getMuonReadoutElement(const Trk::RIO_OnTrack &mb) const
virtual unsigned getNRPCHits() const
virtual QStringList clicked() const =0
Called when user selects the node (stringlist is displayed in messagebox).
virtual Amg::Vector3D momentum() const
void setShownTSOSParts(TrackCommonFlags::TSOSPartsFlags f)
virtual const std::vector< Amg::Vector3D > * provide_pathInfoPoints()
virtual bool isIDTrack() const
virtual const Trk::FitQuality * getFitQuality() const
virtual unsigned getNMuonHits() const
void updateRandomColourTransparencyAndBrightness()
virtual unsigned getNsTGCHits() const
TrackCollHandleBase * collHandle() const
std::vector< Amg::Vector3D > * hackGetPointsPropagated()
FIXME.
SoMaterial * m_currentmaterial
TrackSysCommonData * common() const
virtual void ensureInitTSOSs(std::vector< AssociatedObjectHandleBase * > *&)
Ensure that the TSOSs are initialized.
virtual ~TrackHandleBase()
static int numberOfInstances()
virtual unsigned getNPixelHits() const
const QList< AssociatedObjectHandleBase * > & getAllAscObjHandles() const
override if need to take action in this case.
void update3DObjects(bool invalidatePropagatedPoints=false, float maxR=0.0)
virtual QString type() const
return very short word with type (maybe link with collection type?)
TrackCollHandleBase * m_collhandle
TrackHandleBase(const TrackHandleBase &)
void registerAssocObject(AssociatedObjectHandleBase *)
Trackhandle assumes ownership.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the Athena extensions are properly loaded.
Ensure that the ATLAS eigen extensions are properly loaded.
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.