ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::SurfaceCollector< Selector > Struct Template Reference

#include <acts/blob/master/Core/include/Acts/Propagator/SurfaceCollector.hpp>

Classes

struct  this_result
 

Public Types

using result_type = this_result
 

Public Member Functions

template<typename propagator_state_t , typename stepper_t >
void operator() (propagator_state_t &state, const stepper_t &stepper, result_type &result) const
 
template<typename propagator_state_t , typename stepper_t >
void operator() (propagator_state_t &, const stepper_t &) const
 

Public Attributes

Selector selector
 The selector used for this surface.
 

Private Member Functions

template<typename propagator_state_t >
void debugLog (propagator_state_t &state, const std::function< std::string()> &logAction) const
 

Detailed Description

template<typename Selector = SurfaceSelector>
struct Acts::SurfaceCollector< Selector >

A Surface Collector struct templated with a Selector type

Whenever a surface is passed in the propagation that satisfies the selector, it is recorded for further usage in the flow.

Definition at line 64 of file SurfaceCollector.hpp.

View newest version in sPHENIX GitHub at line 64 of file SurfaceCollector.hpp

Member Typedef Documentation

template<typename Selector = SurfaceSelector>
using Acts::SurfaceCollector< Selector >::result_type = this_result

Definition at line 75 of file SurfaceCollector.hpp.

View newest version in sPHENIX GitHub at line 75 of file SurfaceCollector.hpp

Member Function Documentation

template<typename Selector = SurfaceSelector>
template<typename propagator_state_t >
void Acts::SurfaceCollector< Selector >::debugLog ( propagator_state_t &  state,
const std::function< std::string()> &  logAction 
) const
inlineprivate

The private propagation debug logging

It needs to be fed by a lambda function that returns a string, that guarantees that the lambda is only called in the state.debug == true case in order not to spend time when not needed.

Template Parameters
propagator_state_tType of the propagator state
Parameters
statethe propagator state for the debug flag, prefix and length
logActionis a callable function that returns a streamable object

Definition at line 130 of file SurfaceCollector.hpp.

View newest version in sPHENIX GitHub at line 130 of file SurfaceCollector.hpp

Referenced by Acts::SurfaceCollector< Selector >::operator()().

+ Here is the caller graph for this function:

template<typename Selector = SurfaceSelector>
template<typename propagator_state_t , typename stepper_t >
void Acts::SurfaceCollector< Selector >::operator() ( propagator_state_t &  state,
const stepper_t &  stepper,
result_type result 
) const
inline

Collector action for the ActionList of the Propagator It checks if the propagator state has a current surface, in which case the action is performed:

  • it records the surface given the configuration
Template Parameters
propagator_state_tis the type of Propagator state
stepper_tType of the stepper used for the propagation
Parameters
[in,out]stateis the mutable stepper state object
[in]stepperThe stepper in use
[in,out]resultis the mutable result object

Definition at line 89 of file SurfaceCollector.hpp.

View newest version in sPHENIX GitHub at line 89 of file SurfaceCollector.hpp

References Acts::SurfaceCollector< Selector >::this_result::collected, Acts::SurfaceCollector< Selector >::debugLog(), Acts::SurfaceHit::direction, Acts::SurfaceHit::position, Acts::SurfaceCollector< Selector >::selector, and Acts::SurfaceHit::surface.

+ Here is the call graph for this function:

template<typename Selector = SurfaceSelector>
template<typename propagator_state_t , typename stepper_t >
void Acts::SurfaceCollector< Selector >::operator() ( propagator_state_t &  ,
const stepper_t &   
) const
inline

Pure observer interface

  • this does not apply to the surface collector

Definition at line 114 of file SurfaceCollector.hpp.

View newest version in sPHENIX GitHub at line 114 of file SurfaceCollector.hpp

Member Data Documentation

template<typename Selector = SurfaceSelector>
Selector Acts::SurfaceCollector< Selector >::selector

The selector used for this surface.

Definition at line 66 of file SurfaceCollector.hpp.

View newest version in sPHENIX GitHub at line 66 of file SurfaceCollector.hpp

Referenced by Acts::SurfaceCollector< Selector >::operator()().


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