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>
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().
|
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()().
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()().
|
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()().
|
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().
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().