ATLAS Offline Software
Loading...
Searching...
No Matches
TrackSlimmingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TrackSlimmingTool.h, (c) ATLAS Detector software
8
9#ifndef TRKTRACKSLIMMINGTOOL_H
10#define TRKTRACKSLIMMINGTOOL_H
11
15#include "TrkTrack/Track.h"
16#include <memory>
17class AtlasDetectorID;
18class Identifier;
19
20namespace Trk {
22
35 : virtual public ITrackSlimmingTool
36 , public AthAlgTool
37{
38public:
39 TrackSlimmingTool(const std::string&, const std::string&, const IInterface*);
40
43
45 virtual StatusCode initialize() override;
46
48 virtual StatusCode finalize() override;
49
61 void slimTrack(Trk::Track& track) const override final;
74 void slimConstTrack(const Trk::Track& track) const override final;
75
76private:
80
83
87
90
95 void setHints(const Trk::Track& track) const;
96
98 bool& isIDmeas,
99 bool& isMSmeas) const;
100
102 const Trk::TrackStates* oldTrackStates,
103 const Trk::TrackStateOnSurface*& lastValidIDTSOS,
104 const TrackStateOnSurface*& lastValidMSTSOS) const;
105
107 const TrackStateOnSurface*& firstValidIDTSOS,
108 const TrackStateOnSurface*& lastValidIDTSOS,
109 const TrackStateOnSurface*& firstValidMSTSOS,
110 const TrackStateOnSurface*& lastValidMSTSOS) const;
111};
112} // end of namespace
113
114#endif
Define macros for attributes used to control the static checker.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Interface for constructing 'slimmed' Tracks from complete tracks.
TrackSlimmingTool(const std::string &, const std::string &, const IInterface *)
bool keepParameters(const Trk::TrackStateOnSurface *TSoS, const TrackStateOnSurface *&firstValidIDTSOS, const TrackStateOnSurface *&lastValidIDTSOS, const TrackStateOnSurface *&firstValidMSTSOS, const TrackStateOnSurface *&lastValidMSTSOS) const
void slimTrack(Trk::Track &track) const override final
Slim a non const Track.
bool m_keepParameters
If true, the first and last parameters of ID & MS subsystems will be kept on the slimmed track.
void setHints(const Trk::Track &track) const
This method just set persistification Hints.
virtual ~TrackSlimmingTool()
default destructor
const AtlasDetectorID * m_detID
atlas id helper
bool m_keepOutliers
If true, Outliers will be kept on the slimmed track.
void checkForValidMeas(const Trk::TrackStateOnSurface *tsos, bool &isIDmeas, bool &isMSmeas) const
void slimConstTrack(const Trk::Track &track) const override final
Slim a const Track.
bool m_keepCaloDeposit
any CaloDeposit with its adjacent MEOT's will be kept on the slimmed track (combined muon property)
void findLastValidTSoS(const Trk::TrackStates *oldTrackStates, const Trk::TrackStateOnSurface *&lastValidIDTSOS, const TrackStateOnSurface *&lastValidMSTSOS) const
virtual StatusCode initialize() override
standard Athena-Algorithm method
virtual StatusCode finalize() override
standard Athena-Algorithm method
represents the track state (measurement, material, fit parameters and quality) at a surface.
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< const Trk::TrackStateOnSurface > TrackStates