|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
A 3D field from an interpolated array with any interpolation. More...
#include <BDSFieldMagInterpolated3D.hh>


Public Member Functions | |
| BDSFieldMagInterpolated3D (BDSInterpolator3D *interpolatorIn, const G4Transform3D &offset=G4Transform3D::Identity, G4double scalingIn=1.0) | |
| virtual G4ThreeVector | GetField (const G4ThreeVector &position, const G4double t=0) const |
| Return the interpolated field value at a given point. | |
| const BDSInterpolator3D * | Interpolator () const |
Public Member Functions inherited from BDSFieldMagInterpolated | |
| BDSFieldMagInterpolated (const BDSInterpolator *interpolator, const G4Transform3D &offset, G4double scalingIn=1.0) | |
| virtual G4bool | TimeVarying () const |
| G4double | Scaling () const |
| void | SetScaling (G4double scalingIn) |
| BDSExtent | ExtentNoOffset () const |
| Extent of field without any offset (ie in its own coordinate frame). | |
| BDSExtent | Extent () const |
| For now, we will ignore any rotation of the transform. TODO. | |
| G4double | SmallestSpatialStep () const |
Public Member Functions inherited from BDSFieldMag | |
| BDSFieldMag () | |
| BDSFieldMag (G4Transform3D transformIn) | |
| virtual void | GetFieldValue (const G4double point[4], G4double *field) const |
| virtual G4ThreeVector | GetFieldTransformed (const G4ThreeVector &position, const G4double t) const |
| Get the field value after applying transform for local offset. | |
| virtual void | SetTransform (const G4Transform3D &transformIn) |
| void | SetModulator (BDSModulator *modulatorIn) |
| Set the optional modulator. | |
| G4bool | FiniteStrength () const |
| Accessor. | |
Private Attributes | |
| BDSInterpolator3D * | interpolator |
| Interpolator the field is based on. | |
| const G4int | firstDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | firstTime |
| Cache of whether to use time coordinate. | |
| const G4int | secondDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | secondTime |
| Cache of whether to use time coordinate. | |
| const G4int | thirdDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | thirdTime |
| Cache of whether to use time coordinate. | |
Additional Inherited Members | |
Protected Attributes inherited from BDSFieldMagInterpolated | |
| G4bool | timeVarying |
Protected Attributes inherited from BDSFieldMag | |
| G4bool | finiteStrength |
| Flag to cache whether finite nor not. | |
| G4Transform3D | transform |
| Transform to apply for the field relative to the local coordinates of the geometry. | |
| G4bool | transformIsNotIdentity |
| Cache of whether to use transform at all. | |
| BDSModulator * | modulator |
| Optional modulator;. | |
A 3D field from an interpolated array with any interpolation.
Owns interpolator.
This provides a simple interface for magnetic fields to use a 3D interpolator irrespective of which type of interpolator it is.
Definition at line 39 of file BDSFieldMagInterpolated3D.hh.
|
explicit |
Definition at line 25 of file BDSFieldMagInterpolated3D.cc.
|
virtual |
Definition at line 38 of file BDSFieldMagInterpolated3D.cc.
|
virtual |
Return the interpolated field value at a given point.
Implements BDSFieldMag.
Definition at line 43 of file BDSFieldMagInterpolated3D.cc.
References firstDimensionIndex, firstTime, BDSInterpolator3D::GetInterpolatedValue(), interpolator, secondDimensionIndex, secondTime, thirdDimensionIndex, and thirdTime.

|
inline |
Definition at line 53 of file BDSFieldMagInterpolated3D.hh.
|
private |
Integer index to dimension to use.
Definition at line 57 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 58 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().
|
private |
Interpolator the field is based on.
Definition at line 56 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 59 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 60 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 61 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 62 of file BDSFieldMagInterpolated3D.hh.
Referenced by GetField().