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

A sinusoidal electric (only) field that doesn't vary with position. Uses cosine. More...

#include <BDSFieldESinusoid.hh>

Inheritance diagram for BDSFieldESinusoid:
Inheritance graph
Collaboration diagram for BDSFieldESinusoid:
Collaboration graph

Public Member Functions

 BDSFieldESinusoid (BDSMagnetStrength const *strength, G4double brho)
 Construct with a BDSMagnetStrength instance for convenience. More...
 
 BDSFieldESinusoid (G4double eFieldAmplitude, G4double frequencyIn, G4double phaseOffsetIn)
 Construct from E amplitude, frequency (G4Units) and phase. More...
 
virtual G4ThreeVector GetField (const G4ThreeVector &position, const G4double t) const
 Accessor for field value. More...
 
- Public Member Functions inherited from BDSFieldE
 BDSFieldE ()
 
 BDSFieldE (G4Transform3D transformIn)
 
virtual G4ThreeVector GetField (const G4ThreeVector &position, const G4double t=0) const =0
 
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. More...
 
virtual void SetTransform (const G4Transform3D &transformIn)
 
G4bool FiniteStrength () const
 Accessor. More...
 

Protected Attributes

G4double eField
 Amplitude of electric field in V/m. More...
 
- Protected Attributes inherited from BDSFieldE
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...
 

Private Member Functions

 BDSFieldESinusoid ()=delete
 Private default constructor to force use of supplied one.
 

Private Attributes

G4double angularFrequency
 Angular frequency of field. More...
 
G4double phase
 Phase in radians. More...
 

Detailed Description

A sinusoidal electric (only) field that doesn't vary with position. Uses cosine.

The default phase is 0 so cosine is used to give acceleration by default.

Author
Laurie Nevay

Definition at line 38 of file BDSFieldESinusoid.hh.

Constructor & Destructor Documentation

◆ BDSFieldESinusoid() [1/2]

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

Construct with a BDSMagnetStrength instance for convenience.

Definition at line 30 of file BDSFieldESinusoid.cc.

References eField.

◆ BDSFieldESinusoid() [2/2]

BDSFieldESinusoid::BDSFieldESinusoid ( G4double  eFieldAmplitude,
G4double  frequencyIn,
G4double  phaseOffsetIn 
)

Construct from E amplitude, frequency (G4Units) and phase.

Definition at line 40 of file BDSFieldESinusoid.cc.

References eField, BDSFieldE::finiteStrength, and BDS::IsFinite().

Here is the call graph for this function:

◆ ~BDSFieldESinusoid()

virtual BDSFieldESinusoid::~BDSFieldESinusoid ( )
inlinevirtual

Definition at line 50 of file BDSFieldESinusoid.hh.

Member Function Documentation

◆ GetField()

G4ThreeVector BDSFieldESinusoid::GetField ( const G4ThreeVector &  position,
const G4double  t 
) const
virtual

Accessor for field value.

Implements BDSFieldE.

Definition at line 50 of file BDSFieldESinusoid.cc.

References angularFrequency, eField, and phase.

Field Documentation

◆ angularFrequency

G4double BDSFieldESinusoid::angularFrequency
private

Angular frequency of field.

Definition at line 65 of file BDSFieldESinusoid.hh.

Referenced by GetField().

◆ eField

G4double BDSFieldESinusoid::eField
protected

Amplitude of electric field in V/m.

Definition at line 58 of file BDSFieldESinusoid.hh.

Referenced by BDSFieldESinusoid(), and GetField().

◆ phase

G4double BDSFieldESinusoid::phase
private

Phase in radians.

Definition at line 68 of file BDSFieldESinusoid.hh.

Referenced by GetField().


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