EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Struct to handle pointwise material interaction. More...
#include <acts/blob/sPHENIX/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 | evaluateMaterialSlab (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 = Vector3D(0., 0., 0) |
The particle position at the interaction. | |
const double | time = 0.0 |
The particle time at the interaction. | |
const Vector3D | dir = Vector3D(0., 0., 0) |
The particle direction at the interaction. | |
const double | momentum |
The particle momentum at the interaction. | |
const double | q |
The particle charge. | |
const double | qOverP |
The particle q/p at the interaction. | |
const double | mass |
The particle mass. | |
const int | pdg |
The particle pdg. | |
const bool | performCovarianceTransport |
The covariance transport decision at the interaction. | |
const NavigationDirection | nav |
The navigation direction. | |
MaterialSlab | slab |
The effective, passed material properties including the path correction. | |
double | pathCorrection |
The path correction factor due to non-zero incidence on the surface. | |
double | variancePhi = 0. |
Expected phi variance due to the interactions. | |
double | varianceTheta = 0. |
Expected theta variance due to the interactions. | |
double | varianceQoverP = 0. |
Expected q/p variance due to the interactions. | |
double | Eloss = 0. |
The energy change due to the interaction. | |
double | nextP |
The momentum after the interaction. | |
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 67 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 67 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 27 of file PointwiseMaterialInteraction.cpp.
View newest version in sPHENIX GitHub at line 27 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 91 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 91 of file PointwiseMaterialInteraction.hpp
References dir, nav, pathCorrection, Acts::Surface::pathCorrection(), pos, Acts::postUpdate, Acts::preUpdate, Acts::MaterialSlab::scaleThickness(), slab, and surface.
Referenced by Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_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 >::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 16 of file PointwiseMaterialInteraction.cpp.
View newest version in sPHENIX GitHub at line 16 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 >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_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 129 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 129 of file PointwiseMaterialInteraction.hpp
References Acts::addNoise, dir, Acts::eBoundPhi, Acts::eBoundQOverP, Acts::eBoundTheta, Eloss, 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 >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::CombinatorialKalmanFilter< propagator_t, updater_t, smoother_t, source_link_selector_t, branch_stopper_t, calibrator_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 48 of file PointwiseMaterialInteraction.cpp.
View newest version in sPHENIX GitHub at line 48 of file PointwiseMaterialInteraction.cpp
References max.
Referenced by updateState().
The particle direction at the interaction.
Definition at line 27 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 27 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluateMaterialSlab(), Acts::MaterialInteractor::recordResult(), and updateState().
double Acts::detail::PointwiseMaterialInteraction::Eloss = 0. |
The energy change due to the interaction.
Definition at line 54 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 54 of file PointwiseMaterialInteraction.hpp
Referenced by evaluatePointwiseMaterialInteraction(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_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 >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::operator()(), and updateState().
const double Acts::detail::PointwiseMaterialInteraction::mass |
The particle mass.
Definition at line 35 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 35 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluatePointwiseMaterialInteraction(), Acts::MaterialInteractor::operator()(), and updateState().
const double Acts::detail::PointwiseMaterialInteraction::momentum |
The particle momentum at the interaction.
Definition at line 29 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 29 of file PointwiseMaterialInteraction.hpp
Referenced by Acts::MaterialInteractor::operator()(), Acts::MaterialInteractor::recordResult(), and updateState().
const NavigationDirection Acts::detail::PointwiseMaterialInteraction::nav |
The navigation direction.
Definition at line 41 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 41 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialSlab(), and updateState().
double Acts::detail::PointwiseMaterialInteraction::nextP |
The momentum after the interaction.
Definition at line 56 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 56 of file PointwiseMaterialInteraction.hpp
Referenced by Acts::MaterialInteractor::recordResult(), and updateState().
double Acts::detail::PointwiseMaterialInteraction::pathCorrection |
The path correction factor due to non-zero incidence on the surface.
Definition at line 46 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 46 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialSlab(), and Acts::MaterialInteractor::recordResult().
const int Acts::detail::PointwiseMaterialInteraction::pdg |
The particle pdg.
Definition at line 37 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 37 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluatePointwiseMaterialInteraction(), and Acts::MaterialInteractor::operator()().
const bool Acts::detail::PointwiseMaterialInteraction::performCovarianceTransport |
The covariance transport decision at the interaction.
Definition at line 39 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 39 of file PointwiseMaterialInteraction.hpp
Referenced by evaluatePointwiseMaterialInteraction(), and Acts::MaterialInteractor::operator()().
The particle position at the interaction.
Definition at line 23 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 23 of file PointwiseMaterialInteraction.hpp
Referenced by evaluateMaterialSlab(), Acts::MaterialInteractor::recordResult(), and updateState().
const double Acts::detail::PointwiseMaterialInteraction::q |
The particle charge.
Definition at line 31 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 31 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), and evaluatePointwiseMaterialInteraction().
const double Acts::detail::PointwiseMaterialInteraction::qOverP |
The particle q/p at the interaction.
Definition at line 33 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 33 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), and evaluatePointwiseMaterialInteraction().
MaterialSlab Acts::detail::PointwiseMaterialInteraction::slab |
The effective, passed material properties including the path correction.
Definition at line 44 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 44 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), evaluateMaterialSlab(), 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 evaluateMaterialSlab(), and Acts::MaterialInteractor::recordResult().
const double Acts::detail::PointwiseMaterialInteraction::time = 0.0 |
The particle time at the interaction.
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::recordResult(), and updateState().
double Acts::detail::PointwiseMaterialInteraction::variancePhi = 0. |
Expected phi variance due to the interactions.
Definition at line 48 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 48 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_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 >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::recordResult(), and updateState().
double Acts::detail::PointwiseMaterialInteraction::varianceQoverP = 0. |
Expected q/p variance due to the interactions.
Definition at line 52 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 52 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_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 >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::recordResult(), and updateState().
double Acts::detail::PointwiseMaterialInteraction::varianceTheta = 0. |
Expected theta variance due to the interactions.
Definition at line 50 of file PointwiseMaterialInteraction.hpp.
View newest version in sPHENIX GitHub at line 50 of file PointwiseMaterialInteraction.hpp
Referenced by covarianceContributions(), Acts::KalmanFitter< propagator_t, updater_t, smoother_t, outlier_finder_t, calibrator_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 >::Actor< source_link_t, parameters_t >::materialInteractor(), Acts::MaterialInteractor::recordResult(), and updateState().