35#ifndef G4FIELD_UTILS_HH
36#define G4FIELD_UTILS_HH
51 template <
unsigned int N>
68 template <
typename ArrayType>
71 template <
typename ArrayType>
74 template <
typename ArrayType>
77 template <
typename ArrayType>
80 template <
typename ArrayType>
100 template <
typename SourceArray,
typename TargetArray>
103 template <
typename SourceArray,
typename TargetArray,
typename ...TargetArrays>
105 TargetArray& trg, TargetArrays&... trgs);
113 template <
typename T>
117#include "G4FieldUtils.icc"
CLHEP::Hep3Vector G4ThreeVector
field_utils is a helper namespace, including simple methods to extract vectors from arrays in convent...
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)