BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
BDSFieldEMRFCavity Class Reference

Pill box cavity electro-magnetic field. More...

#include <BDSFieldEMRFCavity.hh>

Inheritance diagram for BDSFieldEMRFCavity:
Inheritance graph
Collaboration diagram for BDSFieldEMRFCavity:
Collaboration graph

Public Member Functions

 BDSFieldEMRFCavity (BDSMagnetStrength const *strength, G4double brho)
 
 BDSFieldEMRFCavity (G4double eFieldAmplitude, G4double frequency, G4double phaseOffset, G4double cavityRadius)
 
virtual std::pair< G4ThreeVector, G4ThreeVector > GetField (const G4ThreeVector &position, const G4double t) const
 Accessor to get B and E field. More...
 
- Public Member Functions inherited from BDSFieldEM
 BDSFieldEM ()
 
 BDSFieldEM (G4Transform3D transformIn)
 
virtual std::pair< G4ThreeVector, G4ThreeVector > GetField (const G4ThreeVector &position, const G4double t=0) const =0
 
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. More...
 
virtual void SetTransform (const G4Transform3D &transformIn)
 
virtual G4bool DoesFieldChangeEnergy () const
 Required overload by Geant4. More...
 
G4bool FiniteStrength () const
 Accessor. More...
 

Private Member Functions

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

Private Attributes

G4double eFieldMax
 Maximum field in V/m. More...
 
G4double frequency
 Angular frequency. More...
 
G4double phase
 Phase offset of the oscillator. More...
 
G4double cavityRadius
 Radius at maximum extent of cavity. More...
 
const G4double normalisedCavityRadius
 Pre-calculated normalised calculated radius w.r.t. bessel first 0. More...
 
const G4double angularFrequency
 Angular frequency calculated from frequency - cached to avoid repeated calculation. More...
 

Static Private Attributes

static const G4double j0FirstZero = 2.404825557695772768622
 X coordinate of first 0 point for bessel J0. More...
 
static const G4double Z0 = CLHEP::mu0 * CLHEP::c_light
 Impedance of free space. More...
 

Additional Inherited Members

- Protected Attributes inherited from BDSFieldEM
G4bool finiteStrength
 Flag to cache whether finite nor not. More...
 
G4Transform3D transform
 Transform to apply for the field relative to the local coordinates of the geometry. More...
 

Detailed Description

Pill box cavity electro-magnetic field.

Author
Stuart Walker

Definition at line 38 of file BDSFieldEMRFCavity.hh.

Constructor & Destructor Documentation

◆ BDSFieldEMRFCavity() [1/2]

BDSFieldEMRFCavity::BDSFieldEMRFCavity ( BDSMagnetStrength const *  strength,
G4double  brho 
)

Definition at line 37 of file BDSFieldEMRFCavity.cc.

◆ BDSFieldEMRFCavity() [2/2]

BDSFieldEMRFCavity::BDSFieldEMRFCavity ( G4double  eFieldAmplitude,
G4double  frequency,
G4double  phaseOffset,
G4double  cavityRadius 
)

Definition at line 47 of file BDSFieldEMRFCavity.cc.

◆ ~BDSFieldEMRFCavity()

virtual BDSFieldEMRFCavity::~BDSFieldEMRFCavity ( )
inlinevirtual

Definition at line 49 of file BDSFieldEMRFCavity.hh.

Member Function Documentation

◆ GetField()

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

Accessor to get B and E field.

Implements BDSFieldEM.

Definition at line 59 of file BDSFieldEMRFCavity.cc.

References angularFrequency, eFieldMax, j0FirstZero, normalisedCavityRadius, phase, and Z0.

Field Documentation

◆ angularFrequency

const G4double BDSFieldEMRFCavity::angularFrequency
private

Angular frequency calculated from frequency - cached to avoid repeated calculation.

Definition at line 74 of file BDSFieldEMRFCavity.hh.

Referenced by GetField().

◆ cavityRadius

G4double BDSFieldEMRFCavity::cavityRadius
private

Radius at maximum extent of cavity.

Definition at line 62 of file BDSFieldEMRFCavity.hh.

◆ eFieldMax

G4double BDSFieldEMRFCavity::eFieldMax
private

Maximum field in V/m.

Definition at line 59 of file BDSFieldEMRFCavity.hh.

Referenced by GetField().

◆ frequency

G4double BDSFieldEMRFCavity::frequency
private

Angular frequency.

Definition at line 60 of file BDSFieldEMRFCavity.hh.

◆ j0FirstZero

const G4double BDSFieldEMRFCavity::j0FirstZero = 2.404825557695772768622
staticprivate

X coordinate of first 0 point for bessel J0.

Definition at line 65 of file BDSFieldEMRFCavity.hh.

Referenced by GetField().

◆ normalisedCavityRadius

const G4double BDSFieldEMRFCavity::normalisedCavityRadius
private

Pre-calculated normalised calculated radius w.r.t. bessel first 0.

Definition at line 71 of file BDSFieldEMRFCavity.hh.

Referenced by GetField().

◆ phase

G4double BDSFieldEMRFCavity::phase
private

Phase offset of the oscillator.

Definition at line 61 of file BDSFieldEMRFCavity.hh.

Referenced by GetField().

◆ Z0

const G4double BDSFieldEMRFCavity::Z0 = CLHEP::mu0 * CLHEP::c_light
staticprivate

Impedance of free space.

Definition at line 68 of file BDSFieldEMRFCavity.hh.

Referenced by GetField().


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