EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#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. | |
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
Definition at line 74 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 74 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 Propagagor state |
stepper_t | Type of the stepper of the propagation |
state | is the mutable propagator state object |
stepper | The stepper in use |
result | is 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().
|
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
|
inlineprivate |
This function records the material effect.
[in] | d | Data cache container |
[in,out] | result | Result 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()().
|
inlineprivate |
This function records the material effect.
[in] | d | Data cache container |
[in,out] | result | Result storage |
Definition at line 196 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 196 of file MaterialInteractor.hpp
References Acts::detail::VolumeMaterialInteraction::dir, Acts::MaterialInteraction::direction, Acts::MaterialInteractor::Result::materialInteractions, Acts::MaterialInteraction::materialSlab, 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] | d | Data cache container |
[in,out] | result | Result 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()().
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().