Struct Acts::MaterialCollector

struct MaterialCollector

A Material Collector struct.

Public Types

using result_type = this_result

Public Functions

template<typename propagator_state_t, typename stepper_t, typename navigator_t>
inline void operator()(propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, const Logger &logger) const

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

  • it records the surface given the configuration

Template Parameters
  • propagator_state_t – is the type of Propagator state

  • stepper_t – Type of the stepper of the propagation

  • navigator_t – Type of the navigator of the propagation

  • state – is the mutable propagator state object

  • stepper – The stepper in use

  • navigator – The navigator in use

  • result – is the result object to be filled

  • logger – a logger instance

Public Members

bool detailedCollection = false

In the detailed collection mode the material per surface is collected, otherwise only the total pathlength in X0 or L0 are recorded.

struct this_result

Simple result struct to be returned.

Result of the material collection process It collects the overall X0 and L0 path lengths, and optionally a detailed per-material breakdown

Public Members

std::vector<MaterialHit> collected
double materialInL0 = 0.
double materialInX0 = 0.