CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/TrackingTools/GeomPropagators/interface/HelixPlaneCrossing.h

Go to the documentation of this file.
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