CMS 3D CMS Logo

Public Types | Public Member Functions

NavSurface Class Reference

#include <NavSurface.h>

Inheritance diagram for NavSurface:
BasicReferenceCounted 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
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.
GlobalPoint toGlobal (const LocalPoint &p) const
GlobalVector toGlobal (const LocalVector &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

Definition at line 21 of file NavSurface.h.

Definition at line 22 of file NavSurface.h.

Definition at line 19 of file NavSurface.h.

Definition at line 20 of file NavSurface.h.

Definition at line 23 of file NavSurface.h.


Constructor & Destructor Documentation

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

Definition at line 25 of file NavSurface.h.

{}

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 toGlobal(), and toLocal().

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

Definition at line 59 of file NavSurface.h.

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

{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().

{return surface().toGlobal(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().

{return surface().toLocal(p);}
LocalVector NavSurface::toLocal ( const GlobalVector p) const [inline]

Definition at line 57 of file NavSurface.h.

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

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