CMS 3D CMS Logo

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

#include <NavigableLayer.h>

Inheritance diagram for NavigableLayer:
MuonNavigableLayer SimpleNavigableLayer MuonBarrelNavigableLayer MuonForwardNavigableLayer GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO >

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 DetLayerdetLayer () 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 *dl)=0
 
virtual ~NavigableLayer ()
 

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 24 of file NavigableLayer.h.

Constructor & Destructor Documentation

virtual NavigableLayer::~NavigableLayer ( )
inlinevirtual

Definition at line 27 of file NavigableLayer.h.

27 {}

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

Definition at line 40 of file NavigableLayer.h.

References compatibleLayers(), and counter.

41  {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 44 of file NavigableLayer.h.

46  {
47  edm::LogWarning("DetLayers") << "compatibleLayers(fts,dir,counter) not implemented. returning empty vector";
48  return std::vector<const DetLayer*>() ;
49  }
virtual DetLayer* 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 dl)
pure virtual