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 
8 class Plane;
9 
14 public:
16 
24 
29  virtual std::pair<bool, double> pathLength(const Plane&) = 0;
30 
37  virtual PositionType position(double s) const = 0;
38 
44  virtual DirectionType direction(double s) const = 0;
45 
46  virtual ~HelixPlaneCrossing() = default;
47 };
48 
49 #endif
virtual DirectionType direction(double s) const =0
Definition: Plane.h:16
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
virtual PositionType position(double s) const =0