![]() |
ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Struct to handle pointwise material interaction. More...
#include <acts/blob/master/Core/include/Acts/Propagator/detail/PointwiseMaterialInteraction.hpp>
Collaboration diagram for Acts::detail::PointwiseMaterialInteraction:Public Member Functions | |
| template<typename propagator_state_t , typename stepper_t > | |
| PointwiseMaterialInteraction (const Surface *sSurface, const propagator_state_t &state, const stepper_t &stepper) | |
| Contructor. | |
| template<typename propagator_state_t > | |
| bool | evaluateMaterialProperties (const propagator_state_t &state, MaterialUpdateStage updateStage=fullUpdate) |
| This function evaluates the material properties to interact with. | |
| void | evaluatePointwiseMaterialInteraction (bool multipleScattering, bool energyLoss) |
| This function evaluate the material effects. | |
| template<typename propagator_state_t , typename stepper_t > | |
| void | updateState (propagator_state_t &state, const stepper_t &stepper) |
| Update the state. | |
Public Attributes | |
| const Surface * | surface |
| Data from the propagation state. | |
| const Vector3D | pos |
| const double | time |
| const Vector3D | dir |
| const double | momentum |
| const double | q |
| const double | qOverP |
| const double | mass |
| const int | pdg |
| const bool | performCovarianceTransport |
| const NavigationDirection | nav |
| MaterialProperties | slab |
| Data evaluated within this struct. | |
| double | pathCorrection |
| double | variancePhi = 0. |
| double | varianceTheta = 0. |
| double | varianceQoverP = 0. |
| double | Eloss = 0. |
| double | nextP |
Private Member Functions | |
| void | covarianceContributions (bool multipleScattering, bool energyLoss) |
| Evaluates the contributions to the covariance matrix. | |
| double | updateVariance (double variance, double change, NoiseUpdateMode updateMode=addNoise) const |
| Convenience method for better readability. | |
Struct to handle pointwise material interaction.
Definition at line 18 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 18 of file PointwiseMaterialInteraction.hpp
|
inline |
Contructor.
| propagator_state_t | Type of the propagator state |
| stepper_t | Type of the stepper |
| [in] | sSurface | The current surface |
| [in] | state | State of the propagation |
| [in] | stepper | Stepper in use |
Definition at line 54 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 54 of file PointwiseMaterialInteraction.hpp
|
private |
Evaluates the contributions to the covariance matrix.
| [in] | multipleScattering | Boolean to indiciate the application of multiple scattering |
| [in] | energyLoss | Boolean to indiciate the application of energy loss |
Definition at line 26 of file PointwiseMaterialInteraction.cpp.
View newest version in sPHENIX GitHub at line 26 of file PointwiseMaterialInteraction.cpp
References Acts::computeEnergyLossLandauSigmaQOverP(), Acts::computeMultipleScatteringTheta0(), dir, mass, pdg, Acts::VectorHelpers::perp(), q, qOverP, slab, variancePhi, varianceQoverP, and varianceTheta.
Referenced by evaluatePointwiseMaterialInteraction().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
This function evaluates the material properties to interact with.
| propagator_state_t | Type of the propagator state |
| [in] | state | State of the propagation |
| [in] | updateStage | The stage of the material update |
Definition at line 78 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 78 of file PointwiseMaterialInteraction.hpp
References dir, nav, pathCorrection, Acts::Surface::pathCorrection(), pos, Acts::postUpdate, Acts::preUpdate, Acts::MaterialProperties::scaleThickness(), slab, and surface.
Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), and Acts::MaterialInteractor::operator()().
Here is the call graph for this function:
Here is the caller graph for this function:| void Acts::detail::PointwiseMaterialInteraction::evaluatePointwiseMaterialInteraction | ( | bool | multipleScattering, |
| bool | energyLoss | ||
| ) |
This function evaluate the material effects.
| [in] | multipleScattering | Boolean to indiciate the application of multiple scattering |
| [in] | energyLoss | Boolean to indiciate the application of energy loss |
Definition at line 15 of file PointwiseMaterialInteraction.cpp.
View newest version in sPHENIX GitHub at line 15 of file PointwiseMaterialInteraction.cpp
References Acts::computeEnergyLossBethe(), covarianceContributions(), Eloss, mass, pdg, performCovarianceTransport, q, qOverP, and slab.
Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), and Acts::MaterialInteractor::operator()().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Update the state.
| propagator_state_t | Type of the propagator state |
| stepper_t | Type of the stepper |
| [in] | state | State of the propagation |
| [in] | stepper | Stepper in use |
Definition at line 118 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 118 of file PointwiseMaterialInteraction.hpp
References Acts::addNoise, dir, Eloss, Acts::ePHI, Acts::eQOP, Acts::eTHETA, Acts::forward, mass, momentum, nav, nextP, pos, Acts::removeNoise, time, updateVariance(), variancePhi, varianceQoverP, and varianceTheta.
Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), and Acts::MaterialInteractor::operator()().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Convenience method for better readability.
| [in] | variance | A diagonal entry of the covariance matrix |
| [in] | change | The change that may be applied to it |
| [in] | updateMode | The noise update mode (in default: add noise) |
Definition at line 47 of file PointwiseMaterialInteraction.cpp.
View newest version in sPHENIX GitHub at line 47 of file PointwiseMaterialInteraction.cpp
References max.
Referenced by updateState().
Here is the caller graph for this function:| const Vector3D Acts::detail::PointwiseMaterialInteraction::dir |
Definition at line 24 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 24 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluateMaterialProperties(), Acts::MaterialInteractor::recordResult(), and updateState().
| double Acts::detail::PointwiseMaterialInteraction::Eloss = 0. |
Definition at line 42 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 42 of file PointwiseMaterialInteraction.hpp
Referenced by evaluatePointwiseMaterialInteraction(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::operator()(), and updateState().
| const double Acts::detail::PointwiseMaterialInteraction::mass |
Definition at line 29 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 29 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluatePointwiseMaterialInteraction(), Acts::MaterialInteractor::operator()(), and updateState().
| const double Acts::detail::PointwiseMaterialInteraction::momentum |
Definition at line 25 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 25 of file PointwiseMaterialInteraction.hpp
Referenced by Acts::MaterialInteractor::operator()(), Acts::MaterialInteractor::recordResult(), and updateState().
| const NavigationDirection Acts::detail::PointwiseMaterialInteraction::nav |
Definition at line 32 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 32 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialProperties(), and updateState().
| double Acts::detail::PointwiseMaterialInteraction::nextP |
Definition at line 43 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 43 of file PointwiseMaterialInteraction.hpp
Referenced by Acts::MaterialInteractor::recordResult(), and updateState().
| double Acts::detail::PointwiseMaterialInteraction::pathCorrection |
Definition at line 36 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 36 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialProperties(), and Acts::MaterialInteractor::recordResult().
| const int Acts::detail::PointwiseMaterialInteraction::pdg |
Definition at line 30 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 30 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluatePointwiseMaterialInteraction(), and Acts::MaterialInteractor::operator()().
| const bool Acts::detail::PointwiseMaterialInteraction::performCovarianceTransport |
Definition at line 31 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 31 of file PointwiseMaterialInteraction.hpp
Referenced by evaluatePointwiseMaterialInteraction(), and Acts::MaterialInteractor::operator()().
| const Vector3D Acts::detail::PointwiseMaterialInteraction::pos |
Definition at line 22 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 22 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialProperties(), Acts::MaterialInteractor::recordResult(), and updateState().
| const double Acts::detail::PointwiseMaterialInteraction::q |
Definition at line 26 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 26 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), and evaluatePointwiseMaterialInteraction().
| const double Acts::detail::PointwiseMaterialInteraction::qOverP |
Definition at line 27 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 27 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), and evaluatePointwiseMaterialInteraction().
| MaterialProperties Acts::detail::PointwiseMaterialInteraction::slab |
Data evaluated within this struct.
Definition at line 35 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 35 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluateMaterialProperties(), evaluatePointwiseMaterialInteraction(), Acts::MaterialInteractor::operator()(), and Acts::MaterialInteractor::recordResult().
| const Surface* Acts::detail::PointwiseMaterialInteraction::surface |
Data from the propagation state.
Definition at line 20 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 20 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialProperties(), and Acts::MaterialInteractor::recordResult().
| const double Acts::detail::PointwiseMaterialInteraction::time |
Definition at line 23 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 23 of file PointwiseMaterialInteraction.hpp
Referenced by Acts::MaterialInteractor::recordResult(), and updateState().
| double Acts::detail::PointwiseMaterialInteraction::variancePhi = 0. |
Definition at line 38 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 38 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::recordResult(), and updateState().
| double Acts::detail::PointwiseMaterialInteraction::varianceQoverP = 0. |
Definition at line 40 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 40 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::recordResult(), and updateState().
| double Acts::detail::PointwiseMaterialInteraction::varianceTheta = 0. |
Definition at line 39 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 39 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_t, input_converter_t, output_converter_t >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::recordResult(), and updateState().