CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
NavigableLayer Class Referenceabstract

#include <NavigableLayer.h>

Inheritance diagram for NavigableLayer:
MTDNavigableLayer MuonNavigableLayer SimpleNavigableLayer BTLNavigableLayer ETLNavigableLayer MuonBarrelNavigableLayer MuonForwardNavigableLayer SimpleBarrelNavigableLayer SimpleForwardNavigableLayer

Public Member Functions

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

Protected Attributes

NavigationSchool const * school = nullptr
 

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

Constructor & Destructor Documentation

◆ ~NavigableLayer()

virtual NavigableLayer::~NavigableLayer ( )
inlinevirtual

Definition at line 24 of file NavigableLayer.h.

24 {}

Member Function Documentation

◆ compatibleLayers() [1/3]

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

◆ compatibleLayers() [2/3]

virtual std::vector<const DetLayer*> NavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection,
int &  counter 
) const
inlinevirtual

Reimplemented in SimpleNavigableLayer.

Definition at line 39 of file NavigableLayer.h.

41  {
42  edm::LogWarning("DetLayers") << "compatibleLayers(fts,dir,counter) not implemented. returning empty vector";
43  return std::vector<const DetLayer*>();
44  }

◆ compatibleLayers() [3/3]

virtual std::vector<const DetLayer*> NavigableLayer::compatibleLayers ( NavigationDirection  direction) const
pure virtual

◆ detLayer()

virtual DetLayer const* NavigableLayer::detLayer ( ) const
pure virtual

◆ nextLayers() [1/2]

virtual std::vector<const DetLayer*> NavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection 
) const
pure virtual

◆ nextLayers() [2/2]

virtual std::vector<const DetLayer*> NavigableLayer::nextLayers ( NavigationDirection  direction) const
pure virtual

◆ setDetLayer()

virtual void NavigableLayer::setDetLayer ( DetLayer const *  dl)
pure virtual

◆ setSchool()

void NavigableLayer::setSchool ( NavigationSchool const *  sh)
inline

Definition at line 49 of file NavigableLayer.h.

49 { school = sh; }

References school.

Member Data Documentation

◆ school

NavigationSchool const* NavigableLayer::school = nullptr
protected

Definition at line 52 of file NavigableLayer.h.

Referenced by setSchool().

counter
Definition: counter.py:1
edm::LogWarning
Definition: MessageLogger.h:141
NavigableLayer::school
NavigationSchool const * school
Definition: NavigableLayer.h:52
NavigableLayer::compatibleLayers
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection direction) const =0