EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::detail::PointwiseMaterialInteraction Struct Reference

Struct to handle pointwise material interaction. More...

#include <acts/blob/sPHENIX/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 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 Surfacesurface
 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.
 

Detailed Description

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

Constructor & Destructor Documentation

template<typename propagator_state_t , typename stepper_t >
Acts::detail::PointwiseMaterialInteraction::PointwiseMaterialInteraction ( const Surface sSurface,
const propagator_state_t &  state,
const stepper_t &  stepper 
)
inline

Contructor.

Template Parameters
propagator_state_tType of the propagator state
stepper_tType of the stepper
Parameters
[in]sSurfaceThe current surface
[in]stateState of the propagation
[in]stepperStepper in use

Definition at line 67 of file PointwiseMaterialInteraction.hpp.

View newest version in sPHENIX GitHub at line 67 of file PointwiseMaterialInteraction.hpp

Member Function Documentation

void Acts::detail::PointwiseMaterialInteraction::covarianceContributions ( bool  multipleScattering,
bool  energyLoss 
)
private

Evaluates the contributions to the covariance matrix.

Parameters
[in]multipleScatteringBoolean to indiciate the application of multiple scattering
[in]energyLossBoolean 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_state_t >
bool Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab ( const propagator_state_t &  state,
MaterialUpdateStage  updateStage = fullUpdate 
)
inline

This function evaluates the material properties to interact with.

Template Parameters
propagator_state_tType of the propagator state
Parameters
[in]stateState of the propagation
[in]updateStageThe stage of the material update
Returns
Boolean statement whether the material is valid

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

+ 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.

Parameters
[in]multipleScatteringBoolean to indiciate the application of multiple scattering
[in]energyLossBoolean 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()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename propagator_state_t , typename stepper_t >
void Acts::detail::PointwiseMaterialInteraction::updateState ( propagator_state_t &  state,
const stepper_t &  stepper 
)
inline

Update the state.

Template Parameters
propagator_state_tType of the propagator state
stepper_tType of the stepper
Parameters
[in]stateState of the propagation
[in]stepperStepper 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()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double Acts::detail::PointwiseMaterialInteraction::updateVariance ( double  variance,
double  change,
NoiseUpdateMode  updateMode = addNoise 
) const
private

Convenience method for better readability.

Parameters
[in]varianceA diagonal entry of the covariance matrix
[in]changeThe change that may be applied to it
[in]updateModeThe noise update mode (in default: add noise)
Returns
The updated variance

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

+ Here is the caller graph for this function:

Member Data Documentation

const Vector3D Acts::detail::PointwiseMaterialInteraction::dir = Vector3D(0., 0., 0)

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

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

const Vector3D Acts::detail::PointwiseMaterialInteraction::pos = Vector3D(0., 0., 0)

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


The documentation for this struct was generated from the following files: