Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Navigator Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/Propagator/Navigator.hpp>

Classes

struct  Config
 
struct  State
 

Public Types

enum  Stage : int
 The navigation stage. More...
 
using Surfaces = std::vector< const Surface * >
 
using NavigationSurfaces = boost::container::small_vector< SurfaceIntersection, 10 >
 
using NavigationLayers = boost::container::small_vector< LayerIntersection, 10 >
 
using NavigationBoundaries = boost::container::small_vector< BoundaryIntersection, 4 >
 
using ExternalSurfaces = std::multimap< uint64_t, GeometryIdentifier >
 

Public Member Functions

 Navigator (Config cfg, std::shared_ptr< const Logger > _logger=getDefaultLogger("Navigator", Logging::Level::INFO))
 

Public Attributes

 m_logger
 
std::shared_ptr< const Loggerm_logger
 

Detailed Description

Navigator class

This is an Actor to be added to the ActorList in order to navigate through the static tracking geometry setup.

The current navigation stage is cached in the state struct and updated when necessary. If any surface in the extrapolation flow is hit, it is set to the propagation satate, such that other actors can deal with it. This navigation actor thus always needs to run first! It does two things: it figures out the order of volumes, layers and surfaces.

The current target surface is the surface pointed to by of the index for the surfaces, layers or volume boundaries. If a surface is found, the state.navigation.currentSurface pointer is set. This enables subsequent actors to react. Secondly, this actor uses the ordered indices to figure out which surface, layer or volume boundary is supposed to be hit next. It then sets the maximum step size to the path length found out by straight line intersection. If the state is not on surface, it also re-computes the step size, to make sure we end up at the desired surface.

Definition at line 91 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 91 of file Navigator.hpp

Member Typedef Documentation

using Acts::Navigator::ExternalSurfaces = std::multimap<uint64_t, GeometryIdentifier>

Definition at line 104 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 104 of file Navigator.hpp

using Acts::Navigator::NavigationBoundaries = boost::container::small_vector<BoundaryIntersection, 4>

Definition at line 102 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 102 of file Navigator.hpp

using Acts::Navigator::NavigationLayers = boost::container::small_vector<LayerIntersection, 10>

Definition at line 99 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 99 of file Navigator.hpp

using Acts::Navigator::NavigationSurfaces = boost::container::small_vector<SurfaceIntersection, 10>

Definition at line 96 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 96 of file Navigator.hpp

using Acts::Navigator::Surfaces = std::vector<const Surface*>

Definition at line 93 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 93 of file Navigator.hpp

Member Enumeration Documentation

The navigation stage.

Definition at line 107 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 107 of file Navigator.hpp

Constructor & Destructor Documentation

Acts::Navigator::Navigator ( Config  cfg,
std::shared_ptr< const Logger _logger = getDefaultLogger("Navigator", Logging::Level::INFO) 
)
inlineexplicit

Constructor with configuration object

Parameters
cfgThe navigator configuration
_loggera logger instance

Definition at line 201 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 201 of file Navigator.hpp

Member Data Documentation

Acts::Navigator::m_logger

Definition at line 204 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 204 of file Navigator.hpp

std::shared_ptr<const Logger> Acts::Navigator::m_logger

Definition at line 1342 of file Navigator.hpp.

View newest version in sPHENIX GitHub at line 1342 of file Navigator.hpp


The documentation for this class was generated from the following file: