ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/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. | |
template<typename propagator_state_t > | |
void | debugLog (propagator_state_t &state, const std::function< std::string()> &logAction) const |
Material interactor propagator action.
Apply material interactions at a surface and update the track state.
Definition at line 56 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 56 of file MaterialInteractor.hpp
Definition at line 75 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 75 of file MaterialInteractor.hpp
|
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.
propagator_state_t | Type of the propagator state |
state | the propagator state for the debug flag, prefix and length |
logAction | is a callable function that returns a streamable object |
Definition at line 252 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 252 of file MaterialInteractor.hpp
Referenced by operator()().
|
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 92 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 92 of file MaterialInteractor.hpp
References Acts::units::_GeV, Acts::units::_MeV, d, debugLog(), Acts::detail::PointwiseMaterialInteraction::Eloss, energyLoss, Acts::detail::PointwiseMaterialInteraction::evaluateMaterialProperties(), Acts::detail::VolumeMaterialInteraction::evaluateMaterialProperties(), 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 168 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 168 of file MaterialInteractor.hpp
|
inlineprivate |
This function records the material effect.
[in] | d | Data cache container |
[in,out] | result | Result storage |
Definition at line 175 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 175 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::materialProperties, 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::MaterialProperties::thicknessInL0(), Acts::MaterialProperties::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 201 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 201 of file MaterialInteractor.hpp
References Acts::detail::VolumeMaterialInteraction::dir, Acts::MaterialInteraction::direction, Acts::MaterialInteractor::Result::materialInteractions, Acts::MaterialInteraction::materialProperties, Acts::detail::VolumeMaterialInteraction::pathCorrection, Acts::MaterialInteraction::pathCorrection, Acts::detail::VolumeMaterialInteraction::pos, Acts::MaterialInteraction::position, Acts::MaterialInteraction::sigmaPhi2, Acts::MaterialInteraction::sigmaQoP2, Acts::MaterialInteraction::sigmaTheta2, Acts::detail::VolumeMaterialInteraction::slab, Acts::MaterialInteraction::surface, Acts::detail::VolumeMaterialInteraction::time, Acts::MaterialInteraction::time, Acts::detail::VolumeMaterialInteraction::variancePhi, Acts::detail::VolumeMaterialInteraction::varianceQoverP, Acts::detail::VolumeMaterialInteraction::varianceTheta, 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 223 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 223 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 60 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 60 of file MaterialInteractor.hpp
Referenced by operator()().
bool Acts::MaterialInteractor::multipleScattering = true |
Whether to consider multiple scattering.
Definition at line 58 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 58 of file MaterialInteractor.hpp
Referenced by operator()().
bool Acts::MaterialInteractor::recordInteractions = false |
Whether to record all material interactions.
Definition at line 62 of file MaterialInteractor.hpp.
View newest version in sPHENIX GitHub at line 62 of file MaterialInteractor.hpp
Referenced by operator()(), and recordResult().