CMS 3D CMS Logo

HelixPlaneCrossing.h
Go to the documentation of this file.
1 #ifndef HelixPlaneCrossing_H
2 #define HelixPlaneCrossing_H
3 
5 
6 #include <utility>
7 
9 
10 class Plane;
11 
16 public:
18 
26 
31  virtual std::pair<bool, double> pathLength(const Plane&) = 0;
32 
39  virtual PositionType position(double s) const = 0;
40 
46  virtual DirectionType direction(double s) const = 0;
47 
48  virtual ~HelixPlaneCrossing() = default;
49 };
50 
51 #endif
virtual PositionType position(double s) const =0
Definition: Plane.h:16
virtual DirectionType direction(double s) const =0
Basic3DVector< float > PositionType
the helix is passed to the constructor and does not appear in the interface
Basic3DVector< float > DirectionType
virtual std::pair< bool, double > pathLength(const Plane &)=0
virtual ~HelixPlaneCrossing()=default