Struct MaterialCollector

Nested Relationships

Nested Types

Struct Documentation

struct Acts::MaterialCollector

A Material Collector struct.

Public Types

using result_type = this_result

Public Functions

template<typename propagator_state_t, typename stepper_t>
void operator()(propagator_state_t &state, const stepper_t &stepper, result_type &result) 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

Parameters
  • state: is the mutable propagator state object

  • stepper: The stepper in use

  • result: is the result object to be filled

template<typename propagator_state_t>
void operator()(propagator_state_t&) const

Pure observer interface.

  • this does not apply to the surface collector

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.