CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes
NavigableLayer Class Referenceabstract

#include <NavigableLayer.h>

Inheritance diagram for NavigableLayer:
MuonNavigableLayer SimpleNavigableLayer MuonBarrelNavigableLayer MuonForwardNavigableLayer SimpleBarrelNavigableLayer SimpleForwardNavigableLayer

Public Member Functions

virtual std::vector< const
DetLayer * > 
compatibleLayers (NavigationDirection direction) const =0
 
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
 
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const
 
virtual DetLayer const * detLayer () const =0
 
virtual std::vector< const
DetLayer * > 
nextLayers (NavigationDirection direction) const =0
 
virtual std::vector< const
DetLayer * > 
nextLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const =0
 
virtual void setDetLayer (DetLayer const *dl)=0
 
void setSchool (NavigationSchool const *sh)
 
virtual ~NavigableLayer ()
 

Protected Attributes

NavigationSchool const * school = 0
 

Detailed Description

The navigation component of the DetLayer. If navigation is not setup the DetLayer has a zero pointer to a NavigableLayer; when navigation is setup each DetLayer is given an instance of NavigableLayer that implements the navigation algorithm. Navigation requests to the DetLayer are forwarded to the navigable layer.

Definition at line 25 of file NavigableLayer.h.

Constructor & Destructor Documentation

virtual NavigableLayer::~NavigableLayer ( )
inlinevirtual

Definition at line 28 of file NavigableLayer.h.

28 {}

Member Function Documentation

virtual std::vector<const DetLayer*> NavigableLayer::compatibleLayers ( NavigationDirection  direction) const
pure virtual
virtual std::vector<const DetLayer*> NavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection 
) const
inlinevirtual

Reimplemented in MuonBarrelNavigableLayer, MuonForwardNavigableLayer, MuonNavigableLayer, SimpleBarrelNavigableLayer, and SimpleForwardNavigableLayer.

Definition at line 41 of file NavigableLayer.h.

References compatibleLayers(), and counter.

42  {int counter =0; return compatibleLayers(fts,timeDirection,counter);};
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection direction) const =0
static std::atomic< unsigned int > counter
virtual std::vector<const DetLayer*> NavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection,
int &  counter 
) const
inlinevirtual

Reimplemented in SimpleNavigableLayer.

Definition at line 45 of file NavigableLayer.h.

47  {
48  edm::LogWarning("DetLayers") << "compatibleLayers(fts,dir,counter) not implemented. returning empty vector";
49  return std::vector<const DetLayer*>() ;
50  }
virtual DetLayer const* NavigableLayer::detLayer ( ) const
pure virtual
virtual std::vector<const DetLayer*> NavigableLayer::nextLayers ( NavigationDirection  direction) const
pure virtual
virtual std::vector<const DetLayer*> NavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection 
) const
pure virtual
virtual void NavigableLayer::setDetLayer ( DetLayer const *  dl)
pure virtual
void NavigableLayer::setSchool ( NavigationSchool const *  sh)
inline

Definition at line 55 of file NavigableLayer.h.

References school.

55 {school = sh;}
NavigationSchool const * school

Member Data Documentation

NavigationSchool const* NavigableLayer::school = 0
protected

Definition at line 59 of file NavigableLayer.h.

Referenced by setSchool().