BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Two interpolated fields in one. One takes precedence in a subregion. More...
#include <BDSFieldMagInterpolated2Layer.hh>
Public Member Functions | |
BDSFieldMagInterpolated2Layer (BDSFieldMagInterpolated *mainFieldIn, BDSFieldMagInterpolated *subFieldIn) | |
virtual G4ThreeVector | GetField (const G4ThreeVector &position, const G4double t=0) const |
Return the interpolated field value at a given point. | |
virtual G4bool | TimeVarying () 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. | |
Private Attributes | |
BDSFieldMagInterpolated * | mainField |
BDSFieldMagInterpolated * | subField |
BDSExtent | subFieldExtent |
Additional Inherited Members | |
![]() | |
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;. | |
Two interpolated fields in one. One takes precedence in a subregion.
Definition at line 35 of file BDSFieldMagInterpolated2Layer.hh.
BDSFieldMagInterpolated2Layer::BDSFieldMagInterpolated2Layer | ( | BDSFieldMagInterpolated * | mainFieldIn, |
BDSFieldMagInterpolated * | subFieldIn | ||
) |
Definition at line 27 of file BDSFieldMagInterpolated2Layer.cc.
|
virtual |
Definition at line 37 of file BDSFieldMagInterpolated2Layer.cc.
|
virtual |
Return the interpolated field value at a given point.
Implements BDSFieldMag.
Definition at line 43 of file BDSFieldMagInterpolated2Layer.cc.
References BDSExtent::Encompasses(), and BDSFieldMag::GetFieldTransformed().
|
virtual |
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 54 of file BDSFieldMagInterpolated2Layer.cc.
References BDSFieldMagInterpolated::TimeVarying().
|
private |
Definition at line 49 of file BDSFieldMagInterpolated2Layer.hh.
|
private |
Definition at line 50 of file BDSFieldMagInterpolated2Layer.hh.
|
private |
Definition at line 51 of file BDSFieldMagInterpolated2Layer.hh.