ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SurfaceArrayNavigationPolicy Class Reference

A navigation policy that internally uses the Gen1 SurfaceArray class. More...

#include <Acts/Navigation/SurfaceArrayNavigationPolicy.hpp>

Inheritance diagram for Acts::SurfaceArrayNavigationPolicy:
[legend]
Collaboration diagram for Acts::SurfaceArrayNavigationPolicy:
[legend]

Classes

struct  Config
 Config struct to configure the surface array navigation. More...

Public Types

enum class  LayerType { Cylinder , Disc , Plane }
 Enum for configuring which type of surface array to produce. More...

Public Member Functions

 SurfaceArrayNavigationPolicy (const GeometryContext &gctx, const TrackingVolume &volume, const Logger &logger, Config config)
 Main constructor, which internally creates the surface array acceleration structure.
void connect (NavigationDelegate &delegate) const override
 Connect this policy with a navigation delegate.
void initializeCandidates (const GeometryContext &gctx, const NavigationArguments &args, AppendOnlyNavigationStream &stream, const Logger &logger) const
 Update the navigation state from the surface array.
const SurfaceArraysurfaceArray () const
 Const reference access to the layer array.
Public Member Functions inherited from Acts::INavigationPolicy
virtual ~INavigationPolicy ()=default
 Virtual destructor so policies can be held through this base class.
virtual void visit (const std::function< void(const INavigationPolicy &)> &visitor) const
 Convenience function to walk over all navigation policies.

Additional Inherited Members

Static Public Member Functions inherited from Acts::INavigationPolicy
static void noopInitializeCandidates (const GeometryContext &, const NavigationArguments &, const AppendOnlyNavigationStream &, const Logger &)
 Noop update function that is suitable as a default for default navigation delegates.
Protected Member Functions inherited from Acts::INavigationPolicy
template<NavigationPolicyConcept T>
void connectDefault (NavigationDelegate &delegate) const
 Internal helper function for derived classes that conform to the concept and have a conventional updateState method.

Detailed Description

A navigation policy that internally uses the Gen1 SurfaceArray class.

Member Enumeration Documentation

◆ LayerType

Enum for configuring which type of surface array to produce.

This affects the projection that is used for creating the binning structure.

Enumerator
Cylinder 
Disc 
Plane 

Constructor & Destructor Documentation

◆ SurfaceArrayNavigationPolicy()

Acts::SurfaceArrayNavigationPolicy::SurfaceArrayNavigationPolicy ( const GeometryContext & gctx,
const TrackingVolume & volume,
const Logger & logger,
Config config )
explicit

Main constructor, which internally creates the surface array acceleration structure.

Note
Expects that all relevant surfaces are registered with volume. Only selects sensitive surfaces for the surface array.
Parameters
gctxThe geometry context
volumeThe layer volume to construct the surface array from
loggerA logging instance
configThe configuration for the surface array

Member Function Documentation

◆ connect()

void Acts::SurfaceArrayNavigationPolicy::connect ( NavigationDelegate & delegate) const
overridevirtual

Connect this policy with a navigation delegate.

Parameters
delegateThe navigation delegate to connect to

Implements Acts::INavigationPolicy.

◆ initializeCandidates()

void Acts::SurfaceArrayNavigationPolicy::initializeCandidates ( const GeometryContext & gctx,
const NavigationArguments & args,
AppendOnlyNavigationStream & stream,
const Logger & logger ) const

Update the navigation state from the surface array.

Parameters
gctxThe geometry context
argsThe navigation arguments
streamThe navigation stream to update
loggerThe logger

◆ surfaceArray()

const SurfaceArray & Acts::SurfaceArrayNavigationPolicy::surfaceArray ( ) const

Const reference access to the layer array.

Returns
The surface array