CMS 3D CMS Logo

Public Types | Public Member Functions

NavSurface Class Reference

#include <NavSurface.h>

Inheritance diagram for NavSurface:
BasicReferenceCounted GCC11_FINAL< T > GCC11_FINAL< T > GCC11_FINAL< T >

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 16 of file NavSurface.h.


Member Typedef Documentation

Definition at line 24 of file NavSurface.h.

Definition at line 25 of file NavSurface.h.

Definition at line 22 of file NavSurface.h.

Definition at line 23 of file NavSurface.h.

Definition at line 26 of file NavSurface.h.


Constructor & Destructor Documentation

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

Definition at line 28 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 GCC11_FINAL< T >, GCC11_FINAL< T >, and GCC11_FINAL< T >.

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

Bounds corresponding to a NavVolume if present.

Implemented in GCC11_FINAL< T >, GCC11_FINAL< T >, and GCC11_FINAL< T >.

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 GCC11_FINAL< T >, GCC11_FINAL< T >, and GCC11_FINAL< T >.

virtual const NavVolume* NavSurface::nextVolume ( const LocalPoint point,
SurfaceOrientation::Side  side 
) const [pure virtual]
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 GCC11_FINAL< T >, GCC11_FINAL< T >, and GCC11_FINAL< T >.

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 GCC11_FINAL< T >, GCC11_FINAL< T >, and GCC11_FINAL< T >.

virtual const Surface& NavSurface::surface ( ) const [pure virtual]
GlobalVector NavSurface::toGlobal ( const LocalVector p) const [inline]

Definition at line 62 of file NavSurface.h.

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

{return surface().toGlobal(p);}
GlobalPoint NavSurface::toGlobal ( const LocalPoint p) const [inline]

Definition at line 61 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 59 of file NavSurface.h.

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

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

Definition at line 60 of file NavSurface.h.

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

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