CMS 3D CMS Logo

NavSurface Class Reference

#include <TrackPropagation/NavGeometry/interface/NavSurface.h>

Inheritance diagram for NavSurface:

ReferenceCounted NavCone NavCylinder NavPlane

List of all members.

Public Types

typedef Surface::GlobalPoint GlobalPoint
typedef Surface::GlobalVector GlobalVector
typedef Surface::LocalPoint LocalPoint
typedef Surface::LocalVector LocalVector
typedef std::pair
< TrajectoryStateOnSurface,
double > 
TSOSwithPath

Public Member Functions

virtual void addVolume (const NavVolume *vol, const Bounds *bounds, SurfaceOrientation::Side side)=0
 NavVolumes are supposed to call this method to "register" with the NavSurface.
virtual const Boundsbounds (const NavVolume *vol)=0
 Bounds corresponding to a NavVolume if present.
virtual std::pair< bool, double > distanceAlongLine (const GlobalPoint &pos, const GlobalVector &dir) const =0
 Distance to surface from point pos along line dir.
virtual const NavVolumenextVolume (const LocalPoint &point, SurfaceOrientation::Side side) const =0
virtual TrajectoryStateOnSurface propagate (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const =0
 hook for double dispatch to avoid propagation to generic surface.
virtual TSOSwithPath propagateWithPath (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const =0
 hook for double dispatch to avoid propagation to generic surface.
virtual const Surfacesurface () const =0
 Access to actual surface.
GlobalVector toGlobal (const LocalVector &p) const
GlobalPoint toGlobal (const LocalPoint &p) const
LocalVector toLocal (const GlobalVector &p) const
LocalPoint toLocal (const GlobalPoint &p) const
 Forwarding of part of surface interface for convenience.
virtual ~NavSurface ()


Detailed Description

Definition at line 13 of file NavSurface.h.


Member Typedef Documentation

typedef Surface::GlobalPoint NavSurface::GlobalPoint

Definition at line 21 of file NavSurface.h.

typedef Surface::GlobalVector NavSurface::GlobalVector

Definition at line 22 of file NavSurface.h.

typedef Surface::LocalPoint NavSurface::LocalPoint

Definition at line 19 of file NavSurface.h.

typedef Surface::LocalVector NavSurface::LocalVector

Definition at line 20 of file NavSurface.h.

typedef std::pair<TrajectoryStateOnSurface,double> NavSurface::TSOSwithPath

Definition at line 23 of file NavSurface.h.


Constructor & Destructor Documentation

virtual NavSurface::~NavSurface (  )  [inline, virtual]

Definition at line 25 of file NavSurface.h.

00025 {}


Member Function Documentation

virtual void NavSurface::addVolume ( const NavVolume vol,
const Bounds bounds,
SurfaceOrientation::Side  side 
) [pure virtual]

NavVolumes are supposed to call this method to "register" with the NavSurface.

Implemented in NavCone, NavCylinder, and NavPlane.

Referenced by NavVolume6Faces::computeBounds().

virtual const Bounds* NavSurface::bounds ( const NavVolume vol  )  [pure virtual]

Bounds corresponding to a NavVolume if present.

Implemented in NavCone, NavCylinder, and NavPlane.

Referenced by NavVolume6Faces::computeBounds().

virtual std::pair<bool,double> NavSurface::distanceAlongLine ( const GlobalPoint pos,
const GlobalVector dir 
) const [pure virtual]

Distance to surface from point pos along line dir.

If the half-line does not cross the surface the returned value is (false,undefined), otherwise the returned value is (true,distance)

Implemented in NavCone, NavCylinder, and NavPlane.

virtual const NavVolume* NavSurface::nextVolume ( const LocalPoint point,
SurfaceOrientation::Side  side 
) const [pure virtual]

Implemented in NavCone, NavCylinder, and NavPlane.

virtual TrajectoryStateOnSurface NavSurface::propagate ( const Propagator prop,
const TrajectoryStateOnSurface startingState 
) const [pure virtual]

hook for double dispatch to avoid propagation to generic surface.

Implemented in NavCone, NavCylinder, and NavPlane.

virtual TSOSwithPath NavSurface::propagateWithPath ( const Propagator prop,
const TrajectoryStateOnSurface startingState 
) const [pure virtual]

hook for double dispatch to avoid propagation to generic surface.

Implemented in NavCone, NavCylinder, and NavPlane.

virtual const Surface& NavSurface::surface (  )  const [pure virtual]

Access to actual surface.

Implemented in NavCone, NavCylinder, and NavPlane.

Referenced by NavVolume6Faces::computeBounds(), toGlobal(), and toLocal().

GlobalVector NavSurface::toGlobal ( const LocalVector p  )  const [inline]

Definition at line 59 of file NavSurface.h.

References surface(), and Surface::toGlobal().

00059 {return surface().toGlobal(p);}

GlobalPoint NavSurface::toGlobal ( const LocalPoint p  )  const [inline]

Definition at line 58 of file NavSurface.h.

References surface(), and Surface::toGlobal().

00058 {return surface().toGlobal(p);}

LocalVector NavSurface::toLocal ( const GlobalVector p  )  const [inline]

Definition at line 57 of file NavSurface.h.

References surface(), and GloballyPositioned< T >::toLocal().

00057 {return surface().toLocal(p);}

LocalPoint NavSurface::toLocal ( const GlobalPoint p  )  const [inline]

Forwarding of part of surface interface for convenience.

Definition at line 56 of file NavSurface.h.

References surface(), and GloballyPositioned< T >::toLocal().

Referenced by NavCylinder::distanceAlongLine().

00056 {return surface().toLocal(p);}


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:28:58 2009 for CMSSW by  doxygen 1.5.4