ATLAS Offline Software
IMode3dFinder.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 // IMode3dFinder.h, (c) ATLAS Detector software 2006
8 
9 #ifndef TRKSEEDFINDERUTILS_IMODE3DFINDER_H
10 #define TRKSEEDFINDERUTILS_IMODE3DFINDER_H
11 
12 #include "GaudiKernel/IAlgTool.h"
14 
15 namespace Trk
16 {
17 
28  class IMode3dInfo
31  {
32  public:
33  virtual ~IMode3dInfo() = default;
34 
35  virtual unsigned int Modes1d(std::vector<float> &,
36  std::vector<float> &,
37  std::vector<float> &,
38  std::vector<float> &) const = 0 ;
39 
40  virtual const std::vector<int>& AcceptedCrossingPointsIndices() const = 0;
41 
42  virtual void getCorrelationDistance( double &cXY, double &cZ ) const = 0 ;
43 
44  virtual int perigeesAtSeed( std::vector<const Trk::TrackParameters*>& perigees ,
45  const std::vector<const Trk::TrackParameters*>& perigeeList ) const = 0;
46 
47  virtual void setTrkidx (std::vector< std::pair <int, int> >&& trkidx) = 0;
48  };
49 
50 
51  class IMode3dFinder : virtual public IAlgTool
52  {
53  public:
55 
63  virtual Amg::Vector3D
64  getMode (const double vx,
65  const double vy,
66  const std::vector<Trk::PositionAndWeight> &) const = 0;
67 
68 
79  virtual Amg::Vector3D
80  getMode (const double vx,
81  const double vy,
82  const std::vector<Trk::PositionAndWeight>& points,
83  std::unique_ptr<IMode3dInfo>& info) const = 0;
84 
85 
93  virtual Amg::Vector3D
94  getMode (const double vx,
95  const double vy,
96  const std::vector<Amg::Vector3D>& points) const = 0;
97 
98 
109  virtual Amg::Vector3D
110  getMode (const double vx,
111  const double vy,
112  const std::vector<Amg::Vector3D>& points,
113  std::unique_ptr<IMode3dInfo>& info) const = 0;
114  };
115 }
116 
117 #endif
grepfile.info
info
Definition: grepfile.py:38
Trk::IMode3dInfo::AcceptedCrossingPointsIndices
virtual const std::vector< int > & AcceptedCrossingPointsIndices() const =0
Trk::IMode3dFinder::getMode
virtual Amg::Vector3D getMode(const double vx, const double vy, const std::vector< Amg::Vector3D > &points, std::unique_ptr< IMode3dInfo > &info) const =0
Obtain the 3d-mode (position) from a list of positions (distribution in space)
Trk::IMode3dInfo::Modes1d
virtual unsigned int Modes1d(std::vector< float > &, std::vector< float > &, std::vector< float > &, std::vector< float > &) const =0
Trk::IMode3dInfo::~IMode3dInfo
virtual ~IMode3dInfo()=default
Trk::IMode3dFinder::getMode
virtual Amg::Vector3D getMode(const double vx, const double vy, const std::vector< Trk::PositionAndWeight > &points, std::unique_ptr< IMode3dInfo > &info) const =0
Obtain the 3d-mode (position) from a list of positions (distribution in space)
Trk::IMode3dFinder::getMode
virtual Amg::Vector3D getMode(const double vx, const double vy, const std::vector< Trk::PositionAndWeight > &) const =0
Obtain the 3d-mode (position) from a list of positions (distribution in space)
Trk::IMode3dFinder::DeclareInterfaceID
DeclareInterfaceID(IMode3dFinder, 1, 0)
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
SeedFinderParamDefs.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::IMode3dInfo::perigeesAtSeed
virtual int perigeesAtSeed(std::vector< const Trk::TrackParameters * > &perigees, const std::vector< const Trk::TrackParameters * > &perigeeList) const =0
Trk::IMode3dInfo::getCorrelationDistance
virtual void getCorrelationDistance(double &cXY, double &cZ) const =0
Trk::IMode3dFinder
Definition: IMode3dFinder.h:52
Trk::IMode3dInfo::setTrkidx
virtual void setTrkidx(std::vector< std::pair< int, int > > &&trkidx)=0
Trk::IMode3dFinder::getMode
virtual Amg::Vector3D getMode(const double vx, const double vy, const std::vector< Amg::Vector3D > &points) const =0
Obtain the 3d-mode (position) from a list of positions (distribution in space)