BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Linear interpolation over 1d array including magnitude interpolation. More...
#include <BDSInterpolator1DLinearMag.hh>
Public Member Functions | |
BDSInterpolator1DLinearMag (BDSArray1DCoords *arrayIn) | |
![]() | |
BDSInterpolator1D (BDSArray1DCoords *arrayIn) | |
G4ThreeVector | GetInterpolatedValue (G4double x) const |
Public interface to a 1D interpolator. Returns Geant4 type as that's what will be needed. | |
const BDSArray1DCoords * | Array () const |
Accessor for the underlying array data. | |
BDSDimensionType | FirstDimension () const |
Accessor for the active dimension this represents. | |
virtual BDSExtent | Extent () const |
Extent of field. | |
virtual G4bool | TimeVarying () const |
![]() | |
BDSInterpolator (BDSArray4DCoords *arrayIn=nullptr) | |
virtual BDSExtent | Extent () const =0 |
Interface each derived class must provide. | |
virtual G4bool | TimeVarying () const =0 |
G4double | SmallestSpatialStep () const |
Protected Member Functions | |
virtual BDSFieldValue | GetInterpolatedValueT (G4double x) const |
virtual BDSFieldValue | GetInterpolatedValueT (G4double x) const =0 |
Private Member Functions | |
BDSInterpolator1DLinearMag ()=delete | |
Private default constructor to force use of provided one. | |
Additional Inherited Members | |
![]() | |
BDSArray1DCoords * | array |
The field data. | |
![]() | |
G4double | smallestSpatialStep |
Linear interpolation over 1d array including magnitude interpolation.
Does not own array - so multiple interpolators could be used on same data.
Definition at line 37 of file BDSInterpolator1DLinearMag.hh.
|
explicit |
Definition at line 28 of file BDSInterpolator1DLinearMag.cc.
|
virtual |
Definition at line 32 of file BDSInterpolator1DLinearMag.cc.
|
protectedvirtual |
Each derived class should implement this function. Note T suffix (was templated) to distinguish it from GetInterpolatedValue which returns Geant4 types and is the main interface to should have the clean name.
Implements BDSInterpolator1D.
Definition at line 35 of file BDSInterpolator1DLinearMag.cc.
References BDSInterpolator1D::array, BDSArray1DCoords::ExtractSection2(), and BDS::Linear1DMag().