ECCE @ 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/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 Surfacesurface
 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.
 

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 54 of file PointwiseMaterialInteraction.hpp.

View newest version in sPHENIX GitHub at line 54 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 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:

template<typename propagator_state_t >
bool Acts::detail::PointwiseMaterialInteraction::evaluateMaterialProperties ( 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 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.

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

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 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:

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 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:

Member Data Documentation

const Vector3D Acts::detail::PointwiseMaterialInteraction::dir
const double Acts::detail::PointwiseMaterialInteraction::mass
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
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
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().


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