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 | Static Private Attributes
BDSFieldGaborLens Class Reference

Gabor lens electromagnetic field. More...

#include <BDSFieldGaborLens.hh>

Inheritance diagram for BDSFieldGaborLens:
Inheritance graph
Collaboration diagram for BDSFieldGaborLens:
Collaboration graph

Public Member Functions

 BDSFieldGaborLens (BDSMagnetStrength const *strength)
 
virtual std::pair< G4ThreeVector, G4ThreeVector > GetField (const G4ThreeVector &position, const G4double t) const
 Accessor to get B and E field.
 
- Public Member Functions inherited from BDSFieldEM
 BDSFieldEM ()
 
 BDSFieldEM (G4Transform3D transformIn)
 
virtual G4bool TimeVarying () const
 
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 Member Functions

 BDSFieldGaborLens ()
 Private constructor to force use of provided one.
 

Private Attributes

G4double plasmaEfield
 plasma e-field strength
 
G4double bfieldMag
 solenoid-equivalent field strength
 
G4double kg
 gabor lens kg strength
 
G4double anodeRadius
 anode radius
 

Static Private Attributes

static const G4double c
 speed of light.
 
static const G4double pmass
 proton mass.
 

Additional Inherited Members

- 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.
 
BDSModulatormodulator
 Optional modulator;.
 

Detailed Description

Gabor lens electromagnetic field.

Author
William Shields

Definition at line 37 of file BDSFieldGaborLens.hh.

Constructor & Destructor Documentation

◆ BDSFieldGaborLens()

BDSFieldGaborLens::BDSFieldGaborLens ( BDSMagnetStrength const *  strength)

Definition at line 35 of file BDSFieldGaborLens.cc.

◆ ~BDSFieldGaborLens()

virtual BDSFieldGaborLens::~BDSFieldGaborLens ( )
inlinevirtual

Definition at line 42 of file BDSFieldGaborLens.hh.

Member Function Documentation

◆ GetField()

std::pair< G4ThreeVector, G4ThreeVector > BDSFieldGaborLens::GetField ( const G4ThreeVector &  position,
const G4double  t 
) const
virtual

Accessor to get B and E field.

Implements BDSFieldEM.

Definition at line 40 of file BDSFieldGaborLens.cc.

References anodeRadius, and plasmaEfield.

Field Documentation

◆ anodeRadius

G4double BDSFieldGaborLens::anodeRadius
private

anode radius

Definition at line 68 of file BDSFieldGaborLens.hh.

Referenced by GetField().

◆ bfieldMag

G4double BDSFieldGaborLens::bfieldMag
private

solenoid-equivalent field strength

Definition at line 62 of file BDSFieldGaborLens.hh.

◆ c

const G4double BDSFieldGaborLens::c
staticprivate

speed of light.

Definition at line 53 of file BDSFieldGaborLens.hh.

◆ kg

G4double BDSFieldGaborLens::kg
private

gabor lens kg strength

Definition at line 65 of file BDSFieldGaborLens.hh.

◆ plasmaEfield

G4double BDSFieldGaborLens::plasmaEfield
private

plasma e-field strength

Definition at line 59 of file BDSFieldGaborLens.hh.

Referenced by GetField().

◆ pmass

const G4double BDSFieldGaborLens::pmass
staticprivate

proton mass.

Definition at line 56 of file BDSFieldGaborLens.hh.


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