File indexing completed on 2024-04-06 12:31:33
0001 #ifndef _ClosestApproachOnHelices_H_
0002 #define _ClosestApproachOnHelices_H_
0003
0004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0005 #include <utility>
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 class FreeTrajectoryState;
0018 class TrajectoryStateOnSurface;
0019
0020 class ClosestApproachOnHelices {
0021 public:
0022 ClosestApproachOnHelices() {}
0023
0024 virtual ~ClosestApproachOnHelices() {}
0025
0026 virtual bool calculate(const TrajectoryStateOnSurface& sta, const TrajectoryStateOnSurface& stb) = 0;
0027
0028 virtual bool calculate(const FreeTrajectoryState& sta, const FreeTrajectoryState& stb) = 0;
0029
0030 virtual bool status() const = 0;
0031
0032
0033 virtual std::pair<GlobalPoint, GlobalPoint> points() const = 0;
0034
0035
0036
0037
0038
0039 virtual GlobalPoint crossingPoint() const = 0;
0040
0041
0042 virtual float distance() const = 0;
0043
0044 virtual ClosestApproachOnHelices* clone() const = 0;
0045 };
0046
0047 #endif