Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::AutodiffExtensionWrapper< basic_extension_t > Struct Template Reference

Default RKN4 evaluator for autodiff. More...

#include <acts/blob/sPHENIX/Plugins/Autodiff/include/Acts/Plugins/Autodiff/AutodiffExtensionWrapper.hpp>

Classes

struct  FakePropState
 
struct  FakeStepper
 
struct  FakeStepperState
 

Public Types

using AutodiffScalar = autodiff::dual
 
using AutodiffVector3 = Eigen::Matrix< AutodiffScalar, 3, 1 >
 
using AutodiffFreeVector = Eigen::Matrix< AutodiffScalar, eFreeSize, 1 >
 
using AutodiffFreeMatrix = Eigen::Matrix< AutodiffScalar, eFreeSize, eFreeSize >
 

Public Member Functions

 AutodiffExtensionWrapper ()=default
 Default constructor.
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
int bid (const propagator_state_t &ps, const stepper_t &st, const navigator_t &na) const
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool k (const propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, Vector3 &knew, const Vector3 &bField, std::array< double, 4 > &kQoP, const int i=0, const double h=0., const Vector3 &kprev=Vector3::Zero())
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool finalize (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const double h) const
 
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool finalize (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const double h, FreeMatrix &D) const
 

Public Attributes

basic_extension_t< doublem_doubleExtension
 

Private Member Functions

template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool transportMatrix (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const double h, FreeMatrix &D) const
 
template<typename step_data_t , typename fake_state_t , typename navigator_t >
auto RKN4step (const AutodiffFreeVector &in, const step_data_t &sd, fake_state_t state, const navigator_t &navigator, const double h) const
 

Detailed Description

template<template< typename > typename basic_extension_t>
struct Acts::AutodiffExtensionWrapper< basic_extension_t >

Default RKN4 evaluator for autodiff.

Definition at line 23 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 23 of file AutodiffExtensionWrapper.hpp

Member Typedef Documentation

template<template< typename > typename basic_extension_t>
using Acts::AutodiffExtensionWrapper< basic_extension_t >::AutodiffFreeMatrix = Eigen::Matrix<AutodiffScalar, eFreeSize, eFreeSize>

Definition at line 32 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 32 of file AutodiffExtensionWrapper.hpp

template<template< typename > typename basic_extension_t>
using Acts::AutodiffExtensionWrapper< basic_extension_t >::AutodiffFreeVector = Eigen::Matrix<AutodiffScalar, eFreeSize, 1>

Definition at line 30 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 30 of file AutodiffExtensionWrapper.hpp

template<template< typename > typename basic_extension_t>
using Acts::AutodiffExtensionWrapper< basic_extension_t >::AutodiffScalar = autodiff::dual

Definition at line 28 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 28 of file AutodiffExtensionWrapper.hpp

template<template< typename > typename basic_extension_t>
using Acts::AutodiffExtensionWrapper< basic_extension_t >::AutodiffVector3 = Eigen::Matrix<AutodiffScalar, 3, 1>

Definition at line 29 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 29 of file AutodiffExtensionWrapper.hpp

Constructor & Destructor Documentation

template<template< typename > typename basic_extension_t>
Acts::AutodiffExtensionWrapper< basic_extension_t >::AutodiffExtensionWrapper ( )
default

Default constructor.

Member Function Documentation

template<template< typename > typename basic_extension_t>
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
int Acts::AutodiffExtensionWrapper< basic_extension_t >::bid ( const propagator_state_t &  ps,
const stepper_t &  st,
const navigator_t &  na 
) const
inline

Definition at line 45 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 45 of file AutodiffExtensionWrapper.hpp

References Acts::AutodiffExtensionWrapper< basic_extension_t >::m_doubleExtension.

template<template< typename > typename basic_extension_t>
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool Acts::AutodiffExtensionWrapper< basic_extension_t >::finalize ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const double  h 
) const
inline

Definition at line 64 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 64 of file AutodiffExtensionWrapper.hpp

References Acts::AutodiffExtensionWrapper< basic_extension_t >::m_doubleExtension.

template<template< typename > typename basic_extension_t>
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool Acts::AutodiffExtensionWrapper< basic_extension_t >::finalize ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const double  h,
FreeMatrix D 
) const
inline

Definition at line 72 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 72 of file AutodiffExtensionWrapper.hpp

References Acts::AutodiffExtensionWrapper< basic_extension_t >::m_doubleExtension, and Acts::AutodiffExtensionWrapper< basic_extension_t >::transportMatrix().

+ Here is the call graph for this function:

template<template< typename > typename basic_extension_t>
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool Acts::AutodiffExtensionWrapper< basic_extension_t >::k ( const propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
Vector3 knew,
const Vector3 bField,
std::array< double, 4 > &  kQoP,
const int  i = 0,
const double  h = 0.,
const Vector3 kprev = Vector3::Zero() 
)
inline

Definition at line 53 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 53 of file AutodiffExtensionWrapper.hpp

References h, i, and Acts::AutodiffExtensionWrapper< basic_extension_t >::m_doubleExtension.

Referenced by Acts::AutodiffExtensionWrapper< basic_extension_t >::RKN4step().

+ Here is the caller graph for this function:

template<template< typename > typename basic_extension_t>
template<typename step_data_t , typename fake_state_t , typename navigator_t >
auto Acts::AutodiffExtensionWrapper< basic_extension_t >::RKN4step ( const AutodiffFreeVector in,
const step_data_t &  sd,
fake_state_t  state,
const navigator_t &  navigator,
const double  h 
) const
inlineprivate

Definition at line 161 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 161 of file AutodiffExtensionWrapper.hpp

References Acts::eFreeDir0, Acts::eFreePos0, Acts::eFreeQOverP, Acts::eFreeTime, in, Acts::AutodiffExtensionWrapper< basic_extension_t >::k(), out, and propagation_timing::stepper.

Referenced by Acts::AutodiffExtensionWrapper< basic_extension_t >::transportMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<template< typename > typename basic_extension_t>
template<typename propagator_state_t , typename stepper_t , typename navigator_t >
bool Acts::AutodiffExtensionWrapper< basic_extension_t >::transportMatrix ( propagator_state_t &  state,
const stepper_t &  stepper,
const navigator_t &  navigator,
const double  h,
FreeMatrix D 
) const
inlineprivate

Definition at line 127 of file AutodiffExtensionWrapper.hpp.

View newest version in sPHENIX GitHub at line 127 of file AutodiffExtensionWrapper.hpp

References Acts::Test::at, Acts::eFreeDir0, Acts::eFreePos0, Acts::eFreeQOverP, Acts::eFreeTime, in, Acts::AutodiffExtensionWrapper< basic_extension_t >::FakeStepperState::particleHypothesis, and Acts::AutodiffExtensionWrapper< basic_extension_t >::RKN4step().

Referenced by Acts::AutodiffExtensionWrapper< basic_extension_t >::finalize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

template<template< typename > typename basic_extension_t>
basic_extension_t<double> Acts::AutodiffExtensionWrapper< basic_extension_t >::m_doubleExtension

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