CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions
RK4PreciseSolver< T, N > Class Template Reference

#include <RK4PreciseSolver.h>

Inheritance diagram for RK4PreciseSolver< T, N >:
RKSolver< T, N >

Public Types

typedef RKSolver< T, NBase
 
typedef Base::Scalar Scalar
 
typedef Base::Vector Vector
 
- Public Types inherited from RKSolver< T, N >
typedef T Scalar
 
typedef RKSmallVector< T, NVector
 

Public Member Functions

virtual Vector operator() (Scalar startPar, const Vector &startState, Scalar step, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, float eps)
 
std::pair< Vector, TstepWithAccuracy (Scalar startPar, const Vector &startState, const RKDerivative< T, N > &deriv, const RKDistance< T, N > &dist, float step)
 
- Public Member Functions inherited from RKSolver< T, N >
virtual ~RKSolver ()
 

Protected Member Functions

bool verbose () const
 

Detailed Description

template<typename T, int N>
class RK4PreciseSolver< T, N >

Definition at line 9 of file RK4PreciseSolver.h.

Member Typedef Documentation

◆ Base

template<typename T , int N>
typedef RKSolver<T,N> RK4PreciseSolver< T, N >::Base

Definition at line 12 of file RK4PreciseSolver.h.

◆ Scalar

template<typename T , int N>
typedef Base::Scalar RK4PreciseSolver< T, N >::Scalar

Definition at line 13 of file RK4PreciseSolver.h.

◆ Vector

template<typename T , int N>
typedef Base::Vector RK4PreciseSolver< T, N >::Vector

Definition at line 14 of file RK4PreciseSolver.h.

Member Function Documentation

◆ operator()()

template<typename T , int N>
virtual Vector RK4PreciseSolver< T, N >::operator() ( Scalar  startPar,
const Vector startState,
Scalar  step,
const RKDerivative< T, N > &  deriv,
const RKDistance< T, N > &  dist,
float  eps 
)
virtual

Advance starting state (startPar,startState) by step. The accuracy of the result should be better than eps. The accuracy is computed as the distance (using the "dist" argument) between different internal estimates of the resulting state. The "deriv" argument computes the derivatives.

Implements RKSolver< T, N >.

◆ stepWithAccuracy()

template<typename T , int N>
std::pair< Vector, T> RK4PreciseSolver< T, N >::stepWithAccuracy ( Scalar  startPar,
const Vector startState,
const RKDerivative< T, N > &  deriv,
const RKDistance< T, N > &  dist,
float  step 
)

◆ verbose()

template<typename T , int N>
bool RK4PreciseSolver< T, N >::verbose ( ) const
inlineprotected

Definition at line 28 of file RK4PreciseSolver.h.

References relativeConstraints::value.

28  {
29  static bool verb = SimpleConfigurable<bool>(false,"RKSolver:verbose").value();
30  return verb;
31  }