BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Class to provide scaling and a base class pointer for interpolator fields. More...
#include <BDSFieldMagInterpolated.hh>
Public Member Functions | |
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 |
![]() | |
BDSFieldMag () | |
BDSFieldMag (G4Transform3D transformIn) | |
virtual G4ThreeVector | GetField (const G4ThreeVector &position, const G4double t=0) const =0 |
virtual G4bool | TimeVarying () const |
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. | |
Protected Attributes | |
G4bool | timeVarying |
![]() | |
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;. | |
Private Attributes | |
G4double | scaling |
Field value scaling. | |
BDSExtent | extentNoOffset |
Extent without offset. | |
G4double | smallestSpatialStep |
Class to provide scaling and a base class pointer for interpolator fields.
Definition at line 35 of file BDSFieldMagInterpolated.hh.
BDSFieldMagInterpolated::BDSFieldMagInterpolated | ( | const BDSInterpolator * | interpolator, |
const G4Transform3D & | offset, | ||
G4double | scalingIn = 1.0 |
||
) |
Definition at line 25 of file BDSFieldMagInterpolated.cc.
|
inlinevirtual |
Definition at line 43 of file BDSFieldMagInterpolated.hh.
|
inline |
For now, we will ignore any rotation of the transform. TODO.
With offset.
Definition at line 54 of file BDSFieldMagInterpolated.hh.
References extentNoOffset, BDSFieldMag::transform, and BDSExtent::Translate().
|
inline |
Extent of field without any offset (ie in its own coordinate frame).
Definition at line 51 of file BDSFieldMagInterpolated.hh.
References extentNoOffset.
|
inline |
Definition at line 47 of file BDSFieldMagInterpolated.hh.
|
inline |
Definition at line 48 of file BDSFieldMagInterpolated.hh.
|
inline |
Definition at line 56 of file BDSFieldMagInterpolated.hh.
|
inlinevirtual |
Each derived class should override this if needs be. Used to warn about time modulation with a time-varying field.
Reimplemented from BDSFieldMag.
Definition at line 45 of file BDSFieldMagInterpolated.hh.
Referenced by BDSFieldMagInterpolated2Layer::TimeVarying().
|
private |
Extent without offset.
Definition at line 63 of file BDSFieldMagInterpolated.hh.
Referenced by Extent(), and ExtentNoOffset().
|
private |
Field value scaling.
Definition at line 62 of file BDSFieldMagInterpolated.hh.
|
private |
Definition at line 64 of file BDSFieldMagInterpolated.hh.
|
protected |
Definition at line 59 of file BDSFieldMagInterpolated.hh.