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

#include <acts/blob/sPHENIX/Core/include/Acts/Propagator/MaterialInteractor.hpp>

Classes

struct  Result
 

Public Types

using result_type = 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
 Interaction with detector material for the ActionList of the Propagator.
 
template<typename propagator_state_t >
void operator() (propagator_state_t &) const
 Material interaction has no pure observer.
 

Public Attributes

bool multipleScattering = true
 Whether to consider multiple scattering.
 
bool energyLoss = true
 Whether to consider energy loss.
 
bool recordInteractions = false
 Whether to record all material interactions.
 

Private Member Functions

void recordResult (const detail::PointwiseMaterialInteraction &d, result_type &result) const
 This function records the material effect.
 
void recordResult (const detail::VolumeMaterialInteraction &d, result_type &result) const
 This function records the material effect.
 
template<typename propagator_state_t , typename stepper_t >
void UpdateResult (propagator_state_t &state, const stepper_t &stepper, result_type &result) const
 This function update the previous material step.
 

Detailed Description

Material interactor propagator action.

Apply material interactions at a surface and update the track state.

Definition at line 55 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 55 of file MaterialInteractor.hpp

Member Typedef Documentation

Definition at line 74 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 74 of file MaterialInteractor.hpp

Member Function Documentation

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

Interaction with detector material for the ActionList of the Propagator.

It checks if the state has a current surface, in which case the action is performed: the covariance is transported to the position, multiple scattering and energy loss is applied according to the configuration.

Template Parameters
propagator_state_tis the type of Propagagor state
stepper_tType of the stepper of the propagation
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
resultis the mutable result state object

Definition at line 91 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 91 of file MaterialInteractor.hpp

References ACTS_VERBOSE, d, Acts::detail::PointwiseMaterialInteraction::Eloss, energyLoss, Acts::detail::VolumeMaterialInteraction::evaluateMaterialSlab(), Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab(), Acts::detail::PointwiseMaterialInteraction::evaluatePointwiseMaterialInteraction(), Acts::detail::PointwiseMaterialInteraction::mass, Acts::MaterialInteractor::Result::materialInteractions, Acts::detail::PointwiseMaterialInteraction::momentum, multipleScattering, Acts::detail::PointwiseMaterialInteraction::pdg, Acts::detail::PointwiseMaterialInteraction::performCovarianceTransport, recordInteractions, recordResult(), Acts::detail::PointwiseMaterialInteraction::slab, surface(), Acts::Surface::surfaceMaterial(), UpdateResult(), Acts::detail::PointwiseMaterialInteraction::updateState(), Acts::Test::volume, and Acts::TrackingVolume::volumeMaterial().

+ Here is the call graph for this function:

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

Material interaction has no pure observer.

Definition at line 163 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 163 of file MaterialInteractor.hpp

void Acts::MaterialInteractor::recordResult ( const detail::PointwiseMaterialInteraction d,
result_type result 
) const
inlineprivate

This function records the material effect.

Parameters
[in]dData cache container
[in,out]resultResult storage

Definition at line 170 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 170 of file MaterialInteractor.hpp

References Acts::MaterialInteraction::deltaP, Acts::detail::PointwiseMaterialInteraction::dir, Acts::MaterialInteraction::direction, Acts::MaterialInteractor::Result::materialInL0, Acts::MaterialInteractor::Result::materialInteractions, Acts::MaterialInteractor::Result::materialInX0, Acts::MaterialInteraction::materialSlab, Acts::detail::PointwiseMaterialInteraction::momentum, Acts::detail::PointwiseMaterialInteraction::nextP, Acts::detail::PointwiseMaterialInteraction::pathCorrection, Acts::MaterialInteraction::pathCorrection, Acts::detail::PointwiseMaterialInteraction::pos, Acts::MaterialInteraction::position, recordInteractions, Acts::MaterialInteraction::sigmaPhi2, Acts::MaterialInteraction::sigmaQoP2, Acts::MaterialInteraction::sigmaTheta2, Acts::detail::PointwiseMaterialInteraction::slab, Acts::detail::PointwiseMaterialInteraction::surface, Acts::MaterialInteraction::surface, Acts::MaterialSlab::thicknessInL0(), Acts::MaterialSlab::thicknessInX0(), Acts::detail::PointwiseMaterialInteraction::time, Acts::MaterialInteraction::time, Acts::detail::PointwiseMaterialInteraction::variancePhi, Acts::detail::PointwiseMaterialInteraction::varianceQoverP, Acts::detail::PointwiseMaterialInteraction::varianceTheta, and Acts::MaterialInteraction::volume.

Referenced by operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_state_t , typename stepper_t >
void Acts::MaterialInteractor::UpdateResult ( propagator_state_t &  state,
const stepper_t &  stepper,
result_type result 
) const
inlineprivate

This function update the previous material step.

Parameters
[in]dData cache container
[in,out]resultResult storage

Definition at line 215 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 215 of file MaterialInteractor.hpp

References Acts::MaterialInteractor::Result::materialInL0, Acts::MaterialInteractor::Result::materialInteractions, Acts::MaterialInteractor::Result::materialInX0, and momentum.

Referenced by operator()().

+ Here is the caller graph for this function:

Member Data Documentation

bool Acts::MaterialInteractor::energyLoss = true

Whether to consider energy loss.

Definition at line 59 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 59 of file MaterialInteractor.hpp

Referenced by operator()().

bool Acts::MaterialInteractor::multipleScattering = true

Whether to consider multiple scattering.

Definition at line 57 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 57 of file MaterialInteractor.hpp

Referenced by operator()().

bool Acts::MaterialInteractor::recordInteractions = false

Whether to record all material interactions.

Definition at line 61 of file MaterialInteractor.hpp.

View newest version in sPHENIX GitHub at line 61 of file MaterialInteractor.hpp

Referenced by operator()(), and recordResult().


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