Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t > Struct Template Reference

The actor carrying out the GSF algorithm. More...

#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/detail/GsfActor.hpp>

+ Collaboration diagram for Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >:

Classes

struct  Config
 
struct  TemporaryStates
 

Public Types

using ComponentCache = Acts::GsfComponent
 
using result_type = GsfResult< traj_t >
 Broadcast the result_type.
 

Public Member Functions

 GsfActor ()=default
 Enforce default construction.
 
const Loggerlogger () const
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void operator() (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, const Logger &) const
 GSF actor operation.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void convoluteComponents (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const TemporaryStates &tmpStates, std::vector< ComponentCache > &componentCache, std::size_t &nInvalidBetheHeitler) const
 
template<typename propagator_state_t , typename navigator_t >
void applyBetheHeitler (const propagator_state_t &state, const navigator_t &navigator, const BoundTrackParameters &old_bound, const double old_weight, std::vector< ComponentCache > &componentCaches, std::size_t &nInvalidBetheHeitler) const
 
void removeLowWeightComponents (std::vector< ComponentCache > &cmps) const
 
template<typename propagator_state_t , typename stepper_t >
void updateStepper (propagator_state_t &state, const stepper_t &stepper, const TemporaryStates &tmpStates) const
 Function that updates the stepper from the MultiTrajectory.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void updateStepper (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const std::vector< ComponentCache > &componentCache) const
 Function that updates the stepper from the ComponentCache.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result< void > kalmanUpdate (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, TemporaryStates &tmpStates, const SourceLink &source_link) const
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result< void > noMeasurementUpdate (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, TemporaryStates &tmpStates, bool doCovTransport) const
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void applyMultipleScattering (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const MaterialUpdateStage &updateStage=MaterialUpdateStage::FullUpdate) const
 Apply the multiple scattering to the state.
 
void addCombinedState (result_type &result, const TemporaryStates &tmpStates, const Surface &surface) const
 
void setOptions (const Acts::GsfOptions< traj_t > &options)
 

Public Attributes

struct
Acts::detail::GsfActor::Config 
m_cfg
 

Detailed Description

template<typename bethe_heitler_approx_t, typename traj_t>
struct Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >

The actor carrying out the GSF algorithm.

Definition at line 69 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 69 of file GsfActor.hpp

Member Typedef Documentation

template<typename bethe_heitler_approx_t , typename traj_t >
using Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::ComponentCache = Acts::GsfComponent

Definition at line 73 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 73 of file GsfActor.hpp

template<typename bethe_heitler_approx_t , typename traj_t >
using Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::result_type = GsfResult<traj_t>

Broadcast the result_type.

Definition at line 76 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 76 of file GsfActor.hpp

Constructor & Destructor Documentation

template<typename bethe_heitler_approx_t , typename traj_t >
Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::GsfActor ( )
default

Enforce default construction.

Member Function Documentation

template<typename bethe_heitler_approx_t , typename traj_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::addCombinedState ( result_type result,
const TemporaryStates tmpStates,
const Surface surface 
) const
inline
template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename navigator_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyBetheHeitler ( const propagator_state_t &  state,
const navigator_t &  navigator,
const BoundTrackParameters old_bound,
const double  old_weight,
std::vector< ComponentCache > &  componentCaches,
std::size_t &  nInvalidBetheHeitler 
) const
inline
template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyMultipleScattering ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const MaterialUpdateStage updateStage = MaterialUpdateStage::FullUpdate 
) const
inline
template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::convoluteComponents ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const TemporaryStates tmpStates,
std::vector< ComponentCache > &  componentCache,
std::size_t &  nInvalidBetheHeitler 
) const
inline

Definition at line 325 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 325 of file GsfActor.hpp

References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyBetheHeitler(), root_event_diff_np::cmp(), ambiguity_solver_full_chain::idx, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights, and Acts::zip().

Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result<void> Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::kalmanUpdate ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result,
TemporaryStates tmpStates,
const SourceLink source_link 
) const
inline
template<typename bethe_heitler_approx_t , typename traj_t >
const Logger& Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::logger ( ) const
inline

Definition at line 126 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 126 of file GsfActor.hpp

References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::logger, and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg.

Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::kalmanUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::noMeasurementUpdate(), and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().

+ Here is the caller graph for this function:

template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
Result<void> Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::noMeasurementUpdate ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result,
TemporaryStates tmpStates,
bool  doCovTransport 
) const
inline
template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator() ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
result_type result,
const Logger  
) const
inline

GSF actor operation.

Template Parameters
propagator_state_tis the type of Propagator state
stepper_tType of the stepper
navigator_tType of the navigator
Parameters
stateis the mutable propagator state object
stepperThe stepper in use
resultis the mutable result state object

Definition at line 145 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 145 of file GsfActor.hpp

References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::abortOnError, Acts::ACTS_VERBOSE(), ACTS_WARNING, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyMultipleScattering(), assert, root_event_diff_np::cmp(), Acts::detail::GsfResult< traj_t >::componentCache, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::convoluteComponents(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::disableAllMaterialHandling, acts::error, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::extensions, Acts::detail::GsfResult< traj_t >::fittedStates, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::inputMeasurements, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::kalmanUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::logger(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::maxComponents, Acts::detail::GsfResult< traj_t >::measurementStates, Acts::UnitConstants::min, Acts::detail::GsfResult< traj_t >::nInvalidBetheHeitler, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::noMeasurementUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::numberMeasurements, Acts::detail::GsfResult< traj_t >::processedStates, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::removeLowWeightComponents(), Acts::detail::GsfResult< traj_t >::result, writeMapConfig::surface, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::updateStepper(), Acts::detail::GsfResult< traj_t >::visitedSurfaces, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff, and Acts::detail::weightsAreNormalized().

+ Here is the call graph for this function:

template<typename bethe_heitler_approx_t , typename traj_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::removeLowWeightComponents ( std::vector< ComponentCache > &  cmps) const
inline

Remove components with low weights and renormalize from the component cache TODO This function does not expect normalized components, but this could be redundant work...

Definition at line 431 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 431 of file GsfActor.hpp

References KFPMath::a, KFPMath::b, root_event_diff_np::cmp(), distance(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::normalizeWeights(), proj(), and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff.

Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename bethe_heitler_approx_t , typename traj_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::setOptions ( const Acts::GsfOptions< traj_t > &  options)
inline

Set the relevant options that can be set from the Options struct all in one place

Definition at line 763 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 763 of file GsfActor.hpp

References Acts::GsfOptions< traj_t >::abortOnError, Acts::GsfOptions< traj_t >::calibrationContext, Acts::GsfOptions< traj_t >::disableAllMaterialHandling, Acts::GsfOptions< traj_t >::extensions, m_cfg(), Acts::GsfOptions< traj_t >::maxComponents, Acts::GsfOptions< traj_t >::stateReductionMethod, and Acts::GsfOptions< traj_t >::weightCutoff.

+ Here is the call graph for this function:

template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::updateStepper ( propagator_state_t &  state,
const stepper_t &  stepper,
const TemporaryStates tmpStates 
) const
inline

Function that updates the stepper from the MultiTrajectory.

Definition at line 454 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 454 of file GsfActor.hpp

References root_event_diff_np::cmp(), Acts::MultiTrajectoryHelpers::freeFiltered(), ambiguity_solver_full_chain::idx, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::normalizeWeights(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights, and Acts::zip().

Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename bethe_heitler_approx_t , typename traj_t >
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
void Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::updateStepper ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const std::vector< ComponentCache > &  componentCache 
) const
inline

Function that updates the stepper from the ComponentCache.

Definition at line 485 of file GsfActor.hpp.

View newest version in sPHENIX GitHub at line 485 of file GsfActor.hpp

References ACTS_ERROR, root_event_diff_np::cmp(), Acts::Test::cov, testing::internal::move(), pars, and writeMapConfig::surface.

+ Here is the call graph for this function:

Member Data Documentation


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