19#ifndef BDSFIELDEMRFCAVITY_H
20#define BDSFIELDEMRFCAVITY_H
22#include "BDSFieldEM.hh"
25#include "G4ThreeVector.hh"
48 G4double synchronousTIn);
53 virtual std::pair<G4ThreeVector, G4ThreeVector>
GetField(
const G4ThreeVector& position,
54 const G4double t)
const;
68 G4double synchronousT;
71 static const G4double
Z0;
Holder for all Geometrical information required to create an RF cavity.
Pill box cavity electromagnetic field.
virtual G4bool TimeVarying() const
virtual std::pair< G4ThreeVector, G4ThreeVector > GetField(const G4ThreeVector &position, const G4double t) const
Accessor to get B and E field.
const G4double angularFrequency
Angular frequency calculated from frequency - cached to avoid repeated calculation.
G4double phase
Phase offset of the oscillator.
static const G4double j0FirstZero
X coordinate of first 0 point for bessel J0.
static const G4double Z0
Impedance of free space.
G4double eFieldMax
Maximum field in V/m.
G4double cavityRadius
Radius at maximum extent of cavity.
const G4double normalisedCavityRadius
Pre-calculated normalised calculated radius w.r.t. bessel first 0.
static G4double TransitTimeFactor(G4double frequency, G4double phase, G4double zLength, G4double beta)
General function put here as it represents the equations in this class.
Interface for BDSIM electro-magnetic fields that may or may not be local.
Efficient storage of magnet strengths.