ATLAS Offline Software
IVertexTrackDensityEstimator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IVertexTrackDensityEstimator.h, (c) ATLAS Detector software 2018
8 
9 #ifndef TRKVERTEXFITTERINTERFACE_IVERTEXTRACKDENSITYESTIMATOR_H
10 #define TRKVERTEXFITTERINTERFACE_IVERTEXTRACKDENSITYESTIMATOR_H
11 
12 #include "GaudiKernel/IAlgTool.h"
14 
28 namespace Trk
29 {
30  class Track;
31 
32  class IVertexTrackDensityEstimator : virtual public IAlgTool
33  {
34  public:
36 
37 
42  {
43  public:
44  virtual ~ITrackDensity() = default;
45 
46 
51  virtual double trackDensity (double z) const = 0;
52 
53 
58  virtual void trackDensity (double z,
59  double& density,
60  double& firstDerivative,
61  double& secondDerivative) const = 0;
62  };
63 
64 
68  virtual ~IVertexTrackDensityEstimator() = default;
69 
70 
75  virtual double
76  globalMaximum (const std::vector<const Track*>& vectorTrk) const = 0;
77 
78 
84  virtual double
85  globalMaximum (const std::vector<const Track*>& vectorTrk,
86  std::unique_ptr<ITrackDensity>& density) const = 0;
87 
88 
93  virtual double
94  globalMaximum (const std::vector<const TrackParameters*>& perigeeList) const = 0;
95 
96  virtual std::pair<double,double>
97  globalMaximumWithWidth (const std::vector<const TrackParameters*>& perigeeList) const = 0;
98 
104  virtual double
105  globalMaximum (const std::vector<const TrackParameters*>& perigeeList,
106  std::unique_ptr<ITrackDensity>& density) const = 0;
107  };
108 
109 
110 
111 
112 } // namespace Trk
113 
114 
115 #endif
Trk::IVertexTrackDensityEstimator::ITrackDensity
Helper to hold density results.
Definition: IVertexTrackDensityEstimator.h:42
Trk::IVertexTrackDensityEstimator::ITrackDensity::~ITrackDensity
virtual ~ITrackDensity()=default
Trk::IVertexTrackDensityEstimator::globalMaximum
virtual double globalMaximum(const std::vector< const Track * > &vectorTrk) const =0
Find position of global maximum for density function.
TrackParameters.h
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:63
Trk::IVertexTrackDensityEstimator::ITrackDensity::trackDensity
virtual double trackDensity(double z) const =0
Evaluate the density function at the specified coordinate along the beamline.
Trk::IVertexTrackDensityEstimator::globalMaximum
virtual double globalMaximum(const std::vector< const Track * > &vectorTrk, std::unique_ptr< ITrackDensity > &density) const =0
Find position of global maximum for density function.
Trk::IVertexTrackDensityEstimator::ITrackDensity::trackDensity
virtual void trackDensity(double z, double &density, double &firstDerivative, double &secondDerivative) const =0
Evaluate the density and its first two derivatives at the specified coordinate.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IVertexTrackDensityEstimator::DeclareInterfaceID
DeclareInterfaceID(IVertexTrackDensityEstimator, 1, 0)
Trk::IVertexTrackDensityEstimator::globalMaximumWithWidth
virtual std::pair< double, double > globalMaximumWithWidth(const std::vector< const TrackParameters * > &perigeeList) const =0
Trk::IVertexTrackDensityEstimator::~IVertexTrackDensityEstimator
virtual ~IVertexTrackDensityEstimator()=default
Virtual destructor.
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::IVertexTrackDensityEstimator::globalMaximum
virtual double globalMaximum(const std::vector< const TrackParameters * > &perigeeList, std::unique_ptr< ITrackDensity > &density) const =0
Find position of global maximum for density function.
Trk::IVertexTrackDensityEstimator
Definition: IVertexTrackDensityEstimator.h:33
Trk::IVertexTrackDensityEstimator::globalMaximum
virtual double globalMaximum(const std::vector< const TrackParameters * > &perigeeList) const =0
Find position of global maximum for density function.