CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
NavCone Class Referencefinal

#include <NavCone.h>

Inheritance diagram for NavCone:
NavSurface BasicReferenceCounted

Public Member Functions

virtual void addVolume (const NavVolume *vol, const Bounds *bounds, SurfaceOrientation::Side side)
 NavVolumes are supposed to call this method to "register" with the NavSurface. More...
 
virtual const Boundsbounds (const NavVolume *vol)
 Bounds corresponding to a NavVolume if present. More...
 
virtual std::pair< bool, double > distanceAlongLine (const NavSurface::GlobalPoint &pos, const NavSurface::GlobalVector &dir) const
 
 NavCone (const Cone *cone)
 
virtual const NavVolumenextVolume (const NavSurface::LocalPoint &point, SurfaceOrientation::Side side) const
 
virtual TrajectoryStateOnSurface propagate (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const
 hook for double dispatch to avoid propagation to generic surface. More...
 
virtual NavSurface::TSOSwithPath propagateWithPath (const Propagator &prop, const TrajectoryStateOnSurface &startingState) const
 hook for double dispatch to avoid propagation to generic surface. More...
 
virtual const Surfacesurface () const
 Access to actual surface. More...
 
- Public Member Functions inherited from NavSurface
GlobalPoint toGlobal (const LocalPoint &p) const
 
GlobalVector toGlobal (const LocalVector &p) const
 
LocalPoint toLocal (const GlobalPoint &p) const
 Forwarding of part of surface interface for convenience. More...
 
LocalVector toLocal (const GlobalVector &p) const
 
virtual ~NavSurface ()
 
- Public Member Functions inherited from BasicReferenceCounted
void addReference () const
 
 BasicReferenceCounted ()
 
 BasicReferenceCounted (const BasicReferenceCounted &)
 
 BasicReferenceCounted (BasicReferenceCounted &&)=default
 
BasicReferenceCountedoperator= (BasicReferenceCounted &&)=default
 
BasicReferenceCountedoperator= (const BasicReferenceCounted &)
 
unsigned int references () const
 
void removeReference () const
 
virtual ~BasicReferenceCounted ()
 

Private Attributes

LinearSearchNavSurfaceImpl theImpl
 
ConstReferenceCountingPointer
< Cone
theSurfaceP
 

Additional Inherited Members

- Public Types inherited from NavSurface
typedef Surface::GlobalPoint GlobalPoint
 
typedef Surface::GlobalVector GlobalVector
 
typedef Surface::LocalPoint LocalPoint
 
typedef Surface::LocalVector LocalVector
 
typedef std::pair
< TrajectoryStateOnSurface,
double > 
TSOSwithPath
 

Detailed Description

Definition at line 12 of file NavCone.h.

Constructor & Destructor Documentation

NavCone::NavCone ( const Cone cone)
inline

Definition at line 19 of file NavCone.h.

19 : theSurfaceP(cone) {}
ConstReferenceCountingPointer< Cone > theSurfaceP
Definition: NavCone.h:48

Member Function Documentation

virtual void NavCone::addVolume ( const NavVolume vol,
const Bounds bounds,
SurfaceOrientation::Side  side 
)
inlinevirtual

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

Implements NavSurface.

Definition at line 38 of file NavCone.h.

References LinearSearchNavSurfaceImpl::addVolume(), and theImpl.

39  {
40  theImpl.addVolume( vol, bounds, side);
41  }
LinearSearchNavSurfaceImpl theImpl
Definition: NavCone.h:49
void addVolume(const NavVolume *vol, const Bounds *bounds, SurfaceOrientation::Side side)
virtual const Bounds* NavCone::bounds ( const NavVolume vol)
inlinevirtual

Bounds corresponding to a NavVolume if present.

Implements NavSurface.

Definition at line 36 of file NavCone.h.

References LinearSearchNavSurfaceImpl::bounds(), and theImpl.

36 { return theImpl.bounds(vol);}
LinearSearchNavSurfaceImpl theImpl
Definition: NavCone.h:49
const Bounds * bounds(const NavVolume *vol)
std::pair< bool, double > NavCone::distanceAlongLine ( const NavSurface::GlobalPoint pos,
const NavSurface::GlobalVector dir 
) const
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)

Implements NavSurface.

Definition at line 27 of file NavCone.cc.

29 {
31  return std::pair<bool,double>(false,0);
32 }
virtual const NavVolume* NavCone::nextVolume ( const NavSurface::LocalPoint point,
SurfaceOrientation::Side  side 
) const
inlinevirtual

Implements NavSurface.

Definition at line 25 of file NavCone.h.

References LinearSearchNavSurfaceImpl::nextVolume(), and theImpl.

26  {
27  return theImpl.nextVolume( point,side);
28  }
LinearSearchNavSurfaceImpl theImpl
Definition: NavCone.h:49
const NavVolume * nextVolume(const NavSurface::LocalPoint &point, SurfaceOrientation::Side side) const
TrajectoryStateOnSurface NavCone::propagate ( const Propagator prop,
const TrajectoryStateOnSurface startingState 
) const
virtual

hook for double dispatch to avoid propagation to generic surface.

Implements NavSurface.

Definition at line 7 of file NavCone.cc.

References Propagator::propagate(), and theSurfaceP.

9 {
10  return prop.propagate( startingState, *theSurfaceP);
11 }
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:53
ConstReferenceCountingPointer< Cone > theSurfaceP
Definition: NavCone.h:48
std::pair< TrajectoryStateOnSurface, double > NavCone::propagateWithPath ( const Propagator prop,
const TrajectoryStateOnSurface startingState 
) const
virtual

hook for double dispatch to avoid propagation to generic surface.

Implements NavSurface.

Definition at line 14 of file NavCone.cc.

References Propagator::propagateWithPath(), and theSurfaceP.

16 {
17  return prop.propagateWithPath( startingState, *theSurfaceP);
18 }
virtual std::pair< TrajectoryStateOnSurface, double > propagateWithPath(const FreeTrajectoryState &, const Surface &) const final
Definition: Propagator.cc:15
ConstReferenceCountingPointer< Cone > theSurfaceP
Definition: NavCone.h:48
virtual const Surface& NavCone::surface ( ) const
inlinevirtual

Access to actual surface.

Implements NavSurface.

Definition at line 23 of file NavCone.h.

References theSurfaceP.

23 {return *theSurfaceP;}
ConstReferenceCountingPointer< Cone > theSurfaceP
Definition: NavCone.h:48

Member Data Documentation

LinearSearchNavSurfaceImpl NavCone::theImpl
private

Definition at line 49 of file NavCone.h.

Referenced by addVolume(), bounds(), and nextVolume().

ConstReferenceCountingPointer<Cone> NavCone::theSurfaceP
private

Definition at line 48 of file NavCone.h.

Referenced by propagate(), propagateWithPath(), and surface().