19#include "BDSArray1DCoords.hh"
20#include "BDSExtent.hh"
40 std::set<BDSDimensionType> allDims = {BDSDimensionType::x,
44 allDims.erase(dimensionIn);
45 std::array<BDSDimensionType*, 3> vars = {&yDimension,
48 std::vector<BDSDimensionType> unusedDims(allDims.begin(), allDims.end());
49 for (G4int i = 0; i < 3; i++)
50 {*(vars[i]) = unusedDims[i];}
51 BuildDimensionIndex();
52 timeVarying = dimensionIn == BDSDimensionType::t;
57 G4double& xFrac)
const
60 auto x1 = (G4int)std::floor(xArrayCoords);
61 xFrac = xArrayCoords - x1;
62 for (G4int i = 0; i < 2; i++)
68 G4double& xFrac)
const
71 auto x1 = (G4int)std::floor(xArrayCoords);
72 xFrac = xArrayCoords - x1;
73 for (G4int i = 0; i < 4; i++)
92 G4double limitMax = std::numeric_limits<double>::max();
93 G4double limitMin = std::numeric_limits<double>::lowest();
1D array with spatial mapping derived from BDSArray4DCoords.
BDSArray1DCoords()=delete
virtual void ExtractSection4(G4double x, BDSFieldValue(&localData)[4], G4double &xFrac) const
Extract 4 points lying around coordinate x, where x will be between points 2 and 3.
virtual void ExtractSection2(G4double x, BDSFieldValue(&localData)[2], G4double &xFrac) const
Extract 2 points lying around coordinate x.
virtual BDSFieldValue ExtractNearest(G4double x, G4double y=0, G4double z=0, G4double t=0) const
Extract nearest field value from array. y,z,t ignored but required for overload.
virtual BDSExtent Extent() const
2D array with spatial mapping derived from BDSArray4DCoords.
G4double xMin
Dimension parameter - protected for derived class access.
virtual G4double ArrayCoordsFromX(G4double x) const
Not much point in being both virtual and inline (in our use case) but has to be virtual.
virtual std::ostream & Print(std::ostream &out) const
virtual G4int NearestX(G4double x) const
Not much point in being both virtual and inline (in our use case) but has to be virtual.
G4double xMax
Dimension parameter - protected for derived class access.
virtual const BDSFieldValue & GetConst(G4int x, G4int y=0, G4int z=0, G4int t=0) const
Holder for +- extents in 3 dimensions.