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


Public Member Functions | |
| BDSFieldEMInterpolated3D (BDSInterpolator3D *eInterpolatorIn, BDSInterpolator3D *bInterpolatorIn, const G4Transform3D &offset=G4Transform3D::Identity, G4double eScalingIn=1.0, G4double bScalingIn=1.0) | |
| virtual std::pair< G4ThreeVector, G4ThreeVector > | GetField (const G4ThreeVector &position, const G4double t=0) const |
| Return the interpolated field value at a given point. | |
| const BDSInterpolator3D * | EInterpolator () const |
| const BDSInterpolator3D * | BInterpolator () const |
Public Member Functions inherited from BDSFieldEMInterpolated | |
| BDSFieldEMInterpolated (const BDSInterpolator *eInterpolator, const BDSInterpolator *bInterpolator, const G4Transform3D &offset, G4double eScalingIn=1.0, G4double bScalingIn=1.0) | |
| virtual G4bool | TimeVarying () const |
| G4double | SmallestSpatialStep () const |
| G4double | EScaling () const |
| Accessor. | |
| G4double | BScaling () const |
| Accessor. | |
| void | SetEScaling (G4double eScalingIn) |
| Setter. | |
| void | SetBScaling (G4double bScalingIn) |
| Setter. | |
Public Member Functions inherited from BDSFieldEM | |
| BDSFieldEM () | |
| BDSFieldEM (G4Transform3D transformIn) | |
| virtual void | GetFieldValue (const G4double point[4], G4double *field) const |
| virtual std::pair< G4ThreeVector, 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) |
| virtual G4bool | DoesFieldChangeEnergy () const |
| Required overload by Geant4. | |
| void | SetModulator (BDSModulator *modulatorIn) |
| Set the optional modulator. | |
| G4bool | FiniteStrength () const |
| Accessor. | |
Private Attributes | |
| BDSInterpolator3D * | eInterpolator |
| E Interplator the field is based on. | |
| BDSInterpolator3D * | bInterpolator |
| B Interpolator the field is based on. | |
| const G4int | eFirstDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | eFirstTime |
| Cache of whether to use time coordinate. | |
| const G4int | eSecondDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | eSecondTime |
| Cache of whether to use time coordinate. | |
| const G4int | eThirdDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | eThirdTime |
| Cache of whether to use time coordinate. | |
| const G4int | bFirstDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | bFirstTime |
| Cache of whether to use time coordinate. | |
| const G4int | bSecondDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | bSecondTime |
| Cache of whether to use time coordinate. | |
| const G4int | bThirdDimensionIndex |
| Integer index to dimension to use. | |
| const G4bool | bThirdTime |
| Cache of whether to use time coordinate. | |
Additional Inherited Members | |
Protected Attributes inherited from BDSFieldEMInterpolated | |
| G4bool | timeVarying |
Protected Attributes inherited from BDSFieldEM | |
| 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 interpolators.
This provides a simple interface for em fields to use a 3D interpolator irrespective of which type of interpolator it is.
Definition at line 43 of file BDSFieldEMInterpolated3D.hh.
| BDSFieldEMInterpolated3D::BDSFieldEMInterpolated3D | ( | BDSInterpolator3D * | eInterpolatorIn, |
| BDSInterpolator3D * | bInterpolatorIn, | ||
| const G4Transform3D & | offset = G4Transform3D::Identity, |
||
| G4double | eScalingIn = 1.0, |
||
| G4double | bScalingIn = 1.0 |
||
| ) |
Definition at line 27 of file BDSFieldEMInterpolated3D.cc.
|
virtual |
Definition at line 49 of file BDSFieldEMInterpolated3D.cc.
|
inline |
Definition at line 60 of file BDSFieldEMInterpolated3D.hh.
|
inline |
Definition at line 59 of file BDSFieldEMInterpolated3D.hh.
|
virtual |
Return the interpolated field value at a given point.
Implements BDSFieldEM.
Definition at line 55 of file BDSFieldEMInterpolated3D.cc.
References bFirstDimensionIndex, bFirstTime, bInterpolator, BDSFieldEMInterpolated::BScaling(), bSecondDimensionIndex, bSecondTime, bThirdDimensionIndex, bThirdTime, eFirstDimensionIndex, eFirstTime, eInterpolator, BDSFieldEMInterpolated::EScaling(), eSecondDimensionIndex, eSecondTime, eThirdDimensionIndex, eThirdTime, and BDSInterpolator3D::GetInterpolatedValue().

|
private |
Integer index to dimension to use.
Definition at line 71 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 72 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
B Interpolator the field is based on.
Definition at line 64 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 73 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 74 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 75 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 76 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 65 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 66 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
E Interplator the field is based on.
Definition at line 63 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 67 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 68 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Integer index to dimension to use.
Definition at line 69 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().
|
private |
Cache of whether to use time coordinate.
Definition at line 70 of file BDSFieldEMInterpolated3D.hh.
Referenced by GetField().