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

A dipole field with Enge-type fringes. This follows the model and parameterisation described in: https://journals.aps.org/prab/abstract/10.1103/PhysRevSTAB.18.064001 This class represents a dipole field with Enge fringes. To expand description. The field is calculated in cartesian coordinates. A complete description to be added in the manual. More...

#include <BDSFieldMagDipoleEnge.hh>

Inheritance diagram for BDSFieldMagDipoleEnge:
Inheritance graph
Collaboration diagram for BDSFieldMagDipoleEnge:
Collaboration graph

Public Member Functions

 BDSFieldMagDipoleEnge (G4double strength, G4double apertureRadius, G4double coilLength, G4double engeCoefficient)
 More reasonable constructor for the internal parameterisation. 'strength' represents B0.
 
virtual G4ThreeVector GetField (const G4ThreeVector &position, const G4double t=0) const
 Calculate the field value.
 
G4double GetB0 () const
 Accessor.
 
- Public Member Functions inherited from BDSFieldMag
 BDSFieldMag ()
 
 BDSFieldMag (G4Transform3D transformIn)
 
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 Member Functions

G4ThreeVector QueryField (G4double y, G4double z) const
 

Private Attributes

G4double D
 
G4double halfLength
 
G4double B0
 
G4double engeCoeff
 

Additional Inherited Members

- 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;.
 

Detailed Description

A dipole field with Enge-type fringes. This follows the model and parameterisation described in: https://journals.aps.org/prab/abstract/10.1103/PhysRevSTAB.18.064001 This class represents a dipole field with Enge fringes. To expand description. The field is calculated in cartesian coordinates. A complete description to be added in the manual.

Author
Paul Bogdan Jurj

Definition at line 39 of file BDSFieldMagDipoleEnge.hh.

Constructor & Destructor Documentation

◆ BDSFieldMagDipoleEnge()

BDSFieldMagDipoleEnge::BDSFieldMagDipoleEnge ( G4double  strength,
G4double  apertureRadius,
G4double  coilLength,
G4double  engeCoefficient 
)

More reasonable constructor for the internal parameterisation. 'strength' represents B0.

This constructor uses the "field" and "length" parameters from the BDSMagnetStrength instance and forwards to the next constructor. BDSFieldMagDipoleEnge(BDSMagnetStrength const* strength, G4double apertureIn ,G4double engeIn = 1.0, G4double toleranceIn = 0.0);

Definition at line 33 of file BDSFieldMagDipoleEnge.cc.

◆ ~BDSFieldMagDipoleEnge()

virtual BDSFieldMagDipoleEnge::~BDSFieldMagDipoleEnge ( )
inlinevirtual

Definition at line 55 of file BDSFieldMagDipoleEnge.hh.

Member Function Documentation

◆ GetB0()

G4double BDSFieldMagDipoleEnge::GetB0 ( ) const
inline

Accessor.

Definition at line 61 of file BDSFieldMagDipoleEnge.hh.

◆ GetField()

G4ThreeVector BDSFieldMagDipoleEnge::GetField ( const G4ThreeVector &  position,
const G4double  t = 0 
) const
virtual

Calculate the field value.

Implements BDSFieldMag.

Definition at line 43 of file BDSFieldMagDipoleEnge.cc.

◆ QueryField()

G4ThreeVector BDSFieldMagDipoleEnge::QueryField ( G4double  y,
G4double  z 
) const
private

Definition at line 81 of file BDSFieldMagDipoleEnge.cc.

Field Documentation

◆ B0

G4double BDSFieldMagDipoleEnge::B0
private

Definition at line 68 of file BDSFieldMagDipoleEnge.hh.

◆ D

G4double BDSFieldMagDipoleEnge::D
private

Definition at line 66 of file BDSFieldMagDipoleEnge.hh.

◆ engeCoeff

G4double BDSFieldMagDipoleEnge::engeCoeff
private

Definition at line 69 of file BDSFieldMagDipoleEnge.hh.

◆ halfLength

G4double BDSFieldMagDipoleEnge::halfLength
private

Definition at line 67 of file BDSFieldMagDipoleEnge.hh.


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