Analysis Software
Documentation for sPHENIX simulation software
|
#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. | |
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
Definition at line 34 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 34 of file MaterialInteractor.hpp
|
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.
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 mutable result state object |
logger | a 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().
|
inlineprivate |
This function records the material effect.
[in] | d | Data cache container |
[in,out] | result | Result 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()().
|
inlineprivate |
This function records the material effect.
[in] | d | Data cache container |
[in,out] | result | Result storage |
Definition at line 160 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 160 of file MaterialInteractor.hpp
References Acts::detail::VolumeMaterialInteraction::dir, Acts::MaterialInteraction::direction, Acts::RecordedMaterial::materialInteractions, Acts::MaterialInteraction::materialSlab, testing::internal::move(), Acts::detail::VolumeMaterialInteraction::pathCorrection, Acts::MaterialInteraction::pathCorrection, Acts::detail::VolumeMaterialInteraction::pos, Acts::MaterialInteraction::position, Acts::detail::VolumeMaterialInteraction::slab, Acts::MaterialInteraction::surface, Acts::detail::VolumeMaterialInteraction::time, Acts::MaterialInteraction::time, Acts::detail::VolumeMaterialInteraction::volume, and Acts::MaterialInteraction::volume.
|
inlineprivate |
This function update the previous material step.
[in,out] | state | The state object |
[in] | stepper | The stepper instance |
[in,out] | result | Result 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()().
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().