Analysis Software
Documentation for sPHENIX simulation 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>

Public Types

using result_type = RecordedMaterial
 

Public Member Functions

template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void operator() (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, const Logger &logger) const
 Interaction with detector material for the ActionList of the Propagator.
 

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 26 of file MaterialInteractor.hpp.

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

Member Typedef Documentation

Definition at line 34 of file MaterialInteractor.hpp.

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

Member Function Documentation

template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::MaterialInteractor::operator() ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result,
const Logger logger 
) 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 Propagator state
stepper_tType of the stepper of the propagation
navigator_tType of the navigator of the propagation
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
navigatorThe navigator in use
resultis the mutable result state object
loggera logger instance

Definition at line 55 of file MaterialInteractor.hpp.

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

References Acts::detail::PointwiseMaterialInteraction::absPdg, Acts::ACTS_VERBOSE(), Acts::addNoise, Acts::detail::PointwiseMaterialInteraction::Eloss, energyLoss, Acts::detail::VolumeMaterialInteraction::evaluateMaterialSlab(), Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab(), Acts::detail::PointwiseMaterialInteraction::evaluatePointwiseMaterialInteraction(), Acts::Direction::Forward, Acts::detail::PointwiseMaterialInteraction::mass, Acts::RecordedMaterial::materialInteractions, CKF_timing_vs_mu::mode, Acts::detail::PointwiseMaterialInteraction::momentum, multipleScattering, Acts::detail::PointwiseMaterialInteraction::performCovarianceTransport, recordInteractions, recordResult(), Acts::removeNoise, Acts::detail::PointwiseMaterialInteraction::slab, writeMapConfig::surface, Acts::Surface::surfaceMaterial(), updateResult(), Acts::detail::PointwiseMaterialInteraction::updateState(), and Acts::TrackingVolume::volumeMaterial().

+ Here is the call graph for this function:

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 134 of file MaterialInteractor.hpp.

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

References Acts::MaterialInteraction::deltaP, Acts::detail::PointwiseMaterialInteraction::dir, Acts::MaterialInteraction::direction, Acts::RecordedMaterial::materialInL0, Acts::RecordedMaterial::materialInteractions, Acts::RecordedMaterial::materialInX0, Acts::MaterialInteraction::materialSlab, Acts::detail::PointwiseMaterialInteraction::momentum, testing::internal::move(), 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:

void Acts::MaterialInteractor::recordResult ( const detail::VolumeMaterialInteraction d,
result_type result 
) const
inlineprivate
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,out]stateThe state object
[in]stepperThe stepper instance
[in,out]resultResult storage

Definition at line 180 of file MaterialInteractor.hpp.

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

References Acts::RecordedMaterial::materialInL0, Acts::RecordedMaterial::materialInteractions, Acts::RecordedMaterial::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 30 of file MaterialInteractor.hpp.

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

Referenced by operator()().

bool Acts::MaterialInteractor::multipleScattering = true

Whether to consider multiple scattering.

Definition at line 28 of file MaterialInteractor.hpp.

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

Referenced by operator()().

bool Acts::MaterialInteractor::recordInteractions = false

Whether to record all material interactions.

Definition at line 32 of file MaterialInteractor.hpp.

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

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


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