BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Attributes
BDSFieldMagInterpolated Class Reference

Class to provide scaling and a base class pointer for interpolator fields. More...

#include <BDSFieldMagInterpolated.hh>

Inheritance diagram for BDSFieldMagInterpolated:
Inheritance graph
Collaboration diagram for BDSFieldMagInterpolated:
Collaboration graph

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
 
- Public Member Functions inherited from BDSFieldMag
 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
 
- 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.
 
BDSModulatormodulator
 Optional modulator;.
 

Private Attributes

G4double scaling
 Field value scaling.
 
BDSExtent extentNoOffset
 Extent without offset.
 
G4double smallestSpatialStep
 

Detailed Description

Class to provide scaling and a base class pointer for interpolator fields.

Author
Laurie Nevay

Definition at line 35 of file BDSFieldMagInterpolated.hh.

Constructor & Destructor Documentation

◆ BDSFieldMagInterpolated()

BDSFieldMagInterpolated::BDSFieldMagInterpolated ( const BDSInterpolator interpolator,
const G4Transform3D &  offset,
G4double  scalingIn = 1.0 
)

Definition at line 25 of file BDSFieldMagInterpolated.cc.

◆ ~BDSFieldMagInterpolated()

virtual BDSFieldMagInterpolated::~BDSFieldMagInterpolated ( )
inlinevirtual

Definition at line 43 of file BDSFieldMagInterpolated.hh.

Member Function Documentation

◆ Extent()

BDSExtent BDSFieldMagInterpolated::Extent ( ) const
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().

Here is the call graph for this function:

◆ ExtentNoOffset()

BDSExtent BDSFieldMagInterpolated::ExtentNoOffset ( ) const
inline

Extent of field without any offset (ie in its own coordinate frame).

Definition at line 51 of file BDSFieldMagInterpolated.hh.

References extentNoOffset.

◆ Scaling()

G4double BDSFieldMagInterpolated::Scaling ( ) const
inline

Definition at line 47 of file BDSFieldMagInterpolated.hh.

◆ SetScaling()

void BDSFieldMagInterpolated::SetScaling ( G4double  scalingIn)
inline

Definition at line 48 of file BDSFieldMagInterpolated.hh.

◆ SmallestSpatialStep()

G4double BDSFieldMagInterpolated::SmallestSpatialStep ( ) const
inline

Definition at line 56 of file BDSFieldMagInterpolated.hh.

◆ TimeVarying()

virtual G4bool BDSFieldMagInterpolated::TimeVarying ( ) const
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().

Here is the caller graph for this function:

Field Documentation

◆ extentNoOffset

BDSExtent BDSFieldMagInterpolated::extentNoOffset
private

Extent without offset.

Definition at line 63 of file BDSFieldMagInterpolated.hh.

Referenced by Extent(), and ExtentNoOffset().

◆ scaling

G4double BDSFieldMagInterpolated::scaling
private

Field value scaling.

Definition at line 62 of file BDSFieldMagInterpolated.hh.

◆ smallestSpatialStep

G4double BDSFieldMagInterpolated::smallestSpatialStep
private

Definition at line 64 of file BDSFieldMagInterpolated.hh.

◆ timeVarying

G4bool BDSFieldMagInterpolated::timeVarying
protected

Definition at line 59 of file BDSFieldMagInterpolated.hh.


The documentation for this class was generated from the following files: