CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/TrackPropagation/NavGeometry/src/NavPlane.cc

Go to the documentation of this file.
00001 #include "TrackPropagation/NavGeometry/interface/NavPlane.h"
00002 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
00003 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00004 #include "DataFormats/GeometrySurface/interface/Bounds.h"
00005 #include "TrackingTools/GeomPropagators/interface/StraightLinePlaneCrossing.h"
00006 
00007 TrajectoryStateOnSurface 
00008 NavPlane::propagate( const Propagator& prop, 
00009                      const TrajectoryStateOnSurface& startingState) const
00010 {
00011     return prop.propagate( startingState, *theSurfaceP); 
00012 }
00013 
00014 std::pair<TrajectoryStateOnSurface,double>
00015 NavPlane::propagateWithPath( const Propagator& prop, 
00016                      const TrajectoryStateOnSurface& startingState) const
00017 {
00018     return prop.propagateWithPath( startingState, *theSurfaceP); 
00019 }
00020 
00021 std::pair<bool,double> 
00022 NavPlane::distanceAlongLine( const NavSurface::GlobalPoint& pos, 
00023                              const NavSurface::GlobalVector& dir) const
00024 {
00025     StraightLinePlaneCrossing pc( pos.basicVector(), dir.basicVector());
00026     return pc.pathLength(*theSurfaceP);
00027 }