19#ifndef BDSINTERPOLATOR3D_H
20#define BDSINTERPOLATOR3D_H
21#include "BDSArray3DCoords.hh"
22#include "BDSDimensionType.hh"
23#include "BDSExtent.hh"
24#include "BDSFieldValue.hh"
25#include "BDSInterpolator.hh"
28#include "G4ThreeVector.hh"
3D array with spatial mapping derived from BDSArray4DCoords.
BDSDimensionType ThirdDimension() const
Accessor for each dimension label. e.g. array 'x' = spatial z.
BDSDimensionType SecondDimension() const
Accessor for each dimension label. e.g. array 'x' = spatial z.
virtual BDSExtent Extent() const
Return the SPATIAL (only) extent of this field without any offset. Ignores time.
virtual G4bool TimeVarying() const
BDSDimensionType FirstDimension() const
Accessor for each dimension label. e.g. array 'x' = spatial z.
Holder for +- extents in 3 dimensions.
Interface for all 3D interpolators.
BDSDimensionType ThirdDimension() const
Accessor for the active dimension this represents (second).
G4ThreeVector GetInterpolatedValue(G4double x, G4double y, G4double z) const
Public interface to a 3D interpolator. Returns Geant4 type as that's what will be needed.
BDSDimensionType SecondDimension() const
Accessor for the active dimension this represents (second).
virtual BDSExtent Extent() const
Extent of field.
BDSArray3DCoords * array
The field data.
BDSDimensionType FirstDimension() const
Accessor for the active dimension this represents (first).
virtual BDSFieldValue GetInterpolatedValueT(G4double x, G4double y, G4double z) const =0
Interface for all interpolators containing basic extent of validity.