CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/TrackPropagation/NavGeometry/src/NavCone.cc

Go to the documentation of this file.
00001 #include "TrackPropagation/NavGeometry/interface/NavCone.h"
00002 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
00003 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00004 #include "DataFormats/GeometrySurface/interface/Bounds.h"
00005 
00006 TrajectoryStateOnSurface 
00007 NavCone::propagate( const Propagator& prop, 
00008                     const TrajectoryStateOnSurface& startingState) const
00009 {
00010     return prop.propagate( startingState, *theSurfaceP); 
00011 }
00012 
00013 std::pair<TrajectoryStateOnSurface,double>
00014 NavCone::propagateWithPath( const Propagator& prop, 
00015                     const TrajectoryStateOnSurface& startingState) const
00016 {
00017     return prop.propagateWithPath( startingState, *theSurfaceP); 
00018 }
00019 
00020 class NavConeNotImplementedDistanceAlongLine : public std::exception {
00021 public:
00022     NavConeNotImplementedDistanceAlongLine() throw() {}
00023     virtual ~NavConeNotImplementedDistanceAlongLine() throw() {}
00024 };
00025 
00026 std::pair<bool,double> 
00027 NavCone::distanceAlongLine( const NavSurface::GlobalPoint& pos, 
00028                             const NavSurface::GlobalVector& dir) const
00029 {
00030     throw NavConeNotImplementedDistanceAlongLine();
00031     return std::pair<bool,double>(false,0);
00032 }