20#include "BDSException.hh"
21#include "BDSExtent.hh"
22#include "BDSFieldEInterpolated.hh"
23#include "BDSFieldEInterpolated2Layer.hh"
25#include "G4ThreeVector.hh"
29 mainField(mainFieldIn),
31 subFieldExtent(subFieldIn->Extent())
33 if (!mainField->ExtentNoOffset().Encompasses(subFieldIn->
ExtentNoOffset()))
34 {
throw BDSException(__METHOD_NAME__,
"sub field in field map is bigger than main field.");}
37BDSFieldEInterpolated2Layer::~BDSFieldEInterpolated2Layer()
44 const G4double t)
const
General exception with possible name of object and message.
G4bool Encompasses(const G4ThreeVector &point) const
Return whether the extent encompasses the point. True if point lies inside the extent.
virtual G4ThreeVector GetField(const G4ThreeVector &position, const G4double t=0) const
Return the interpolated field value at a given point.
virtual G4bool TimeVarying() const
Class to provide scaling and a base class pointer for interpolator fields.
virtual G4bool TimeVarying() const
BDSExtent ExtentNoOffset() const
Extent of field without any offset (ie in its own coordinate frame).
virtual G4ThreeVector GetFieldTransformed(const G4ThreeVector &position, const G4double t) const
Get the field value after applying transform for local offset.