BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Protected 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)
 Construct with a BDSMagnetStrength instance for convenience.
 
 BDSFieldESinusoid (G4double eFieldAmplitude, const G4ThreeVector &unitDirectionIn, G4double frequencyIn, G4double phaseOffsetIn, G4double synchronousTIn)
 Construct from E amplitude, unit direction vector, frequency (G4Units) and phase.
 
virtual G4bool TimeVarying () const
 
virtual G4ThreeVector GetField (const G4ThreeVector &position, const G4double t) const
 Accessor for field value.
 
- Public Member Functions inherited from BDSFieldE
 BDSFieldE ()
 
 BDSFieldE (G4Transform3D transformIn)
 
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

G4double eField
 
const G4ThreeVector unitDirection
 Peak amplitude of electric field.
 
G4double angularFrequency
 Angular frequency of field.
 
G4double phase
 Phase.
 
G4double synchronousT
 Global T offset for 0 phase.
 
- Protected Attributes inherited from BDSFieldE
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 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)
explicit

Construct with a BDSMagnetStrength instance for convenience.

Definition at line 30 of file BDSFieldESinusoid.cc.

◆ BDSFieldESinusoid() [2/2]

BDSFieldESinusoid::BDSFieldESinusoid ( G4double  eFieldAmplitude,
const G4ThreeVector &  unitDirectionIn,
G4double  frequencyIn,
G4double  phaseOffsetIn,
G4double  synchronousTIn 
)

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

Definition at line 38 of file BDSFieldESinusoid.cc.

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

Here is the call graph for this function:

◆ ~BDSFieldESinusoid()

virtual BDSFieldESinusoid::~BDSFieldESinusoid ( )
inlinevirtual

Definition at line 52 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 52 of file BDSFieldESinusoid.cc.

References angularFrequency, phase, synchronousT, and unitDirection.

◆ TimeVarying()

virtual G4bool BDSFieldESinusoid::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 BDSFieldE.

Definition at line 54 of file BDSFieldESinusoid.hh.

Field Documentation

◆ angularFrequency

G4double BDSFieldESinusoid::angularFrequency
protected

Angular frequency of field.

Definition at line 63 of file BDSFieldESinusoid.hh.

Referenced by GetField().

◆ eField

G4double BDSFieldESinusoid::eField
protected

Definition at line 61 of file BDSFieldESinusoid.hh.

◆ phase

G4double BDSFieldESinusoid::phase
protected

Phase.

Definition at line 64 of file BDSFieldESinusoid.hh.

Referenced by GetField().

◆ synchronousT

G4double BDSFieldESinusoid::synchronousT
protected

Global T offset for 0 phase.

Definition at line 65 of file BDSFieldESinusoid.hh.

Referenced by GetField().

◆ unitDirection

const G4ThreeVector BDSFieldESinusoid::unitDirection
protected

Peak amplitude of electric field.

Unit vector for direction of field.

Definition at line 62 of file BDSFieldESinusoid.hh.

Referenced by GetField().


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