CMS 3D CMS Logo

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 = 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 ( NavigationDirection  direction) const
pure virtual

◆ compatibleLayers() [2/3]

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

References compatibleLayers().

34  {
35  int counter = 0;
36  return compatibleLayers(fts, timeDirection, counter);
37  };
virtual std::vector< const DetLayer * > compatibleLayers(NavigationDirection direction) const =0

◆ compatibleLayers() [3/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  }
Log< level::Warning, false > LogWarning

◆ detLayer()

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

◆ nextLayers() [1/2]

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

◆ nextLayers() [2/2]

virtual std::vector<const DetLayer*> NavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection 
) 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.

References school.

49 { school = sh; }
NavigationSchool const * school

Member Data Documentation

◆ school

NavigationSchool const* NavigableLayer::school = nullptr
protected

Definition at line 52 of file NavigableLayer.h.

Referenced by setSchool().