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.
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.