00001 #ifndef HelixPlaneCrossing_H 00002 #define HelixPlaneCrossing_H 00003 00004 #include "DataFormats/GeometryVector/interface/Basic3DVector.h" 00005 00006 #include <utility> 00007 00008 #include "FWCore/Utilities/interface/GCC11Compatibility.h" 00009 00010 class Plane; 00011 00015 class HelixPlaneCrossing { 00016 public: 00018 00024 typedef Basic3DVector<float> PositionType; 00025 typedef Basic3DVector<float> DirectionType; 00026 00031 virtual std::pair<bool,double> pathLength( const Plane&) = 0; 00032 00039 virtual PositionType position( double s) const = 0; 00040 00046 virtual DirectionType direction( double s) const = 0; 00047 00048 }; 00049 00050 #endif