35#ifndef G4FIELD_UTILS_HH
36#define G4FIELD_UTILS_HH
47 template <
unsigned int N>
64 template <
typename ArrayType>
67 template <
typename ArrayType>
70 template <
typename ArrayType>
73 template <
typename ArrayType>
76 template <
typename ArrayType>
96 template <
typename SourceArray,
typename TargetArray>
99 template <
typename SourceArray,
typename TargetArray,
typename ...TargetArrays>
101 TargetArray& trg, TargetArrays&... trgs);
109 template <
typename T>
114#include "G4FieldUtils.icc"
G4double relativeError(const G4double y[], const G4double yerr[], G4double hstep, G4double errorTolerance)
G4double absoluteError(const G4double y[], const G4double yerr[], G4double hstep)
G4double relativeError2(const G4double y[], const G4double yerr[], G4double hstep, G4double errorTolerance)
G4double inverseCurvatureRadius(G4double particleCharge, G4double momentum, G4double BField)
G4double getValue(const ArrayType &array, Value1D value)
G4ThreeVector makeVector(const ArrayType &array, Value3D value)
G4double[G4FieldTrack::ncompSVEC] State
G4double getValue2(const ArrayType &array, Value1D value)
T clamp(T value, T lo, T hi)
void copy(G4double dst[], const G4double src[], std::size_t size=G4FieldTrack::ncompSVEC)
void setValue(const SourceArray &src, Value1D value, TargetArray &trg)