19#ifndef BDSFIELDEMRFCAVITY_H
20#define BDSFIELDEMRFCAVITY_H
22#include "BDSFieldEM.hh"
25#include "G4ThreeVector.hh"
52 virtual std::pair<G4ThreeVector, G4ThreeVector>
GetField(
const G4ThreeVector& position,
53 const G4double t)
const;
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.
BDSFieldEMRFCavity()
Private constructor to force use of provided one.
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.
Interface for BDSIM electro-magnetic fields that may or may not be local.
Efficient storage of magnet strengths.