ATLAS Offline Software
Loading...
Searching...
No Matches
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
27
28namespace 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
virtual double trackDensity(double z) const =0
Evaluate the density function at the specified coordinate along the beamline.
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.
An abstract base class for implementation of weight functions for seeding.
DeclareInterfaceID(IVertexTrackDensityEstimator, 1, 0)
virtual double globalMaximum(const std::vector< const Track * > &vectorTrk, std::unique_ptr< ITrackDensity > &density) const =0
Find position of global maximum for density function.
virtual double globalMaximum(const std::vector< const TrackParameters * > &perigeeList, std::unique_ptr< ITrackDensity > &density) const =0
Find position of global maximum for density function.
virtual std::pair< double, double > globalMaximumWithWidth(const std::vector< const TrackParameters * > &perigeeList) const =0
virtual double globalMaximum(const std::vector< const Track * > &vectorTrk) const =0
Find position of global maximum for density function.
virtual ~IVertexTrackDensityEstimator()=default
Virtual destructor.
virtual double globalMaximum(const std::vector< const TrackParameters * > &perigeeList) const =0
Find position of global maximum for density function.
Ensure that the ATLAS eigen extensions are properly loaded.
@ z
global position (cartesian)
Definition ParamDefs.h:57