ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::MaterialCollector Struct Reference

A Material Collector struct. More...

#include <acts/blob/master/Core/include/Acts/Material/MaterialCollector.hpp>

Classes

struct  this_result
 

Public Types

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

Public Attributes

bool detailedCollection = false
 

Private Member Functions

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

Detailed Description

A Material Collector struct.

Collector of material and position along propagation.

Definition at line 29 of file MaterialCollector.hpp.

View newest version in sPHENIX GitHub at line 29 of file MaterialCollector.hpp

Member Typedef Documentation

Definition at line 46 of file MaterialCollector.hpp.

View newest version in sPHENIX GitHub at line 46 of file MaterialCollector.hpp

Definition at line 52 of file VolumeMaterialMapperTests.cpp.

View newest version in sPHENIX GitHub at line 52 of file VolumeMaterialMapperTests.cpp

Member Function Documentation

template<typename propagator_state_t >
void Acts::MaterialCollector::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 171 of file MaterialCollector.hpp.

View newest version in sPHENIX GitHub at line 171 of file MaterialCollector.hpp

Referenced by operator()().

+ Here is the caller graph for this function:

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

Definition at line 55 of file VolumeMaterialMapperTests.cpp.

View newest version in sPHENIX GitHub at line 55 of file VolumeMaterialMapperTests.cpp

References Acts::MaterialCollector::this_result::matTrue, and Acts::MaterialCollector::this_result::position.

template<typename propagator_state_t , typename stepper_t >
void Acts::MaterialCollector::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 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 of the propagation
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
resultis the result object to be filled

Definition at line 60 of file MaterialCollector.hpp.

View newest version in sPHENIX GitHub at line 60 of file MaterialCollector.hpp

References Acts::MaterialCollector::this_result::collected, debugLog(), detailedCollection, Acts::MaterialHit::direction, Acts::MaterialHit::material, Acts::MaterialProperties::material(), Acts::MaterialCollector::this_result::materialInL0, Acts::MaterialCollector::this_result::materialInX0, Acts::MaterialHit::pathLength, Acts::MaterialHit::position, Acts::postUpdate, Acts::preUpdate, Acts::MaterialHit::surface, Acts::MaterialProperties::thickness(), Acts::MaterialProperties::thicknessInL0(), and Acts::MaterialProperties::thicknessInX0().

+ Here is the call graph for this function:

template<typename propagator_state_t >
void Acts::MaterialCollector::operator() ( propagator_state_t &  ) const
inline

Pure observer interface

  • this does not apply to the surface collector

Definition at line 156 of file MaterialCollector.hpp.

View newest version in sPHENIX GitHub at line 156 of file MaterialCollector.hpp

Member Data Documentation

bool Acts::MaterialCollector::detailedCollection = false

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

Definition at line 33 of file MaterialCollector.hpp.

View newest version in sPHENIX GitHub at line 33 of file MaterialCollector.hpp

Referenced by operator()().


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