public class IdealRfGap extends ThinElement implements IRfGap
Represents the action of an ideal RF gap. Gap is modeled as a thin element whose accelerating action is given by the Panofsky formula.
The gap provides acceleration to the propagation probe as well as longitudinal focusing and radial defocusing. These mechanisms are implemented according to that provided by an ideal gap where the effects can be described analytically.
Modifier and Type | Field and Description |
---|---|
static double |
coeffX
Don't know what this is? CKA
|
static double |
coeffY
Don't know what this is? CKA
|
static java.lang.String |
s_strParamETL
Parameters for XAL MODEL LATTICE dtd
|
static java.lang.String |
s_strParamFreq
Description of the Field
|
static java.lang.String |
s_strParamPhase
Description of the Field
|
static java.lang.String |
s_strType
the string type identifier for all IdealRfGap objects
|
LightSpeed, Permeability, Permittivity, UnitCharge
Constructor and Description |
---|
IdealRfGap()
JavaBean constructor - creates a new uninitialized instance of IdealRfGap
BE CAREFUL
|
IdealRfGap(java.lang.String strId,
double dblETL,
double dblPhase,
double dblFreq)
Creates a new instance of IdealRfGap
|
Modifier and Type | Method and Description |
---|---|
double |
betaMidGap(IProbe probe)
Compute and return the mid-gap normalized velocity for the
given probe.
|
double |
compLongFocusing(IProbe probe)
Get the longitudinal focusing constant for a particular probe.
|
double |
compTransFocusing(IProbe probe)
Get the transverse focusing constant for a particular probe.
|
double |
elapsedTime(IProbe probe)
Returns the time taken for the probe to propagate through element.
|
double |
energyGain(IProbe probe)
Compute the energy gain of the RF gap for a probe including the effects of
calculating the phase advance.
|
double |
getCellLength()
return the cell length (m)
|
double |
getE0()
Get the on accelerating field (V/m)
|
double |
getETL()
Return the ETL product of the gap, where E is the longitudinal electric
field, T is the transit time factor, and L is the gap length.
|
double |
getFrequency()
Get the operating frequency of the RF gap.
|
double |
getPhase()
Return the RF phase delay of the gap with respect to the synchronous
particle.
|
void |
initializeFrom(LatticeElement element)
Conversion method to be provided by the user
|
boolean |
isFirstGap()
return wheteher this gap is the initial gap of a cavity
|
void |
print(java.io.PrintWriter os)
Dump current state and content to output stream.
|
void |
setE0(double E)
Set the on accelerating field @ param E - the on axis field (V/m)
|
void |
setETL(double dblETL)
Set the ETL product of the RF gap where E is the longitudinal electric
field of the gap, T is the transit time factor of the gap, L is the length
of the gap.
|
void |
setFrequency(double dblFreq)
Set the operating frequency of the RF gap.
|
void |
setPhase(double dblPhase)
Set the phase delay of the RF in gap with respect to the synchronous
particle.
|
double |
simpleEnergyGain(IProbe probe)
Compute the energy gain of the RF gap for a probe assuming a fixed default
phase at the gap center.
|
protected PhaseMap |
transferMap(IProbe probe)
Compute the transfer map for an ideal RF gap.
|
double |
wavelengthRF()
Compute the wavelength of the RF.
|
elapsedTime, energyGain, getLength, transferMap
addCloseElements, applyAlignError, backPropagate, backPropagate, compDriftingTime, compProbeLocation, getAlignX, getAlignY, getAlignZ, getCloseElements, getHardwareNodeId, getId, getPosition, getType, getUID, propagate, propagate, setAlign, setAlignX, setAlignY, setAlignZ, setHardwareNodeId, setId, setPosition, toString
public static final java.lang.String s_strType
public static final java.lang.String s_strParamETL
public static final java.lang.String s_strParamPhase
public static final java.lang.String s_strParamFreq
public static double coeffX
public static double coeffY
public IdealRfGap(java.lang.String strId, double dblETL, double dblPhase, double dblFreq)
strId
- instance identifier of elementdblETL
- field/transit time/length factor for gap (in volts )dblPhase
- operating phase of gap (in radians )dblFreq
- operating RF frequency of gap (in Hertz )public IdealRfGap()
public double getETL()
public double getPhase()
public double getFrequency()
getFrequency
in interface IRfGap
public boolean isFirstGap()
public void setETL(double dblETL)
The maximum energy gain from the gap is given by qETL where q is the charge (in coulombs) of the species particle.
public void setPhase(double dblPhase)
public void setFrequency(double dblFreq)
setFrequency
in interface IRfGap
dblFreq
- frequency of RF gap (in public void setE0(double E)
public double getE0()
public double getCellLength()
public double wavelengthRF()
public double betaMidGap(IProbe probe)
probe
- probe containing energy informationenergyGain(IProbe)
public double elapsedTime(IProbe probe)
elapsedTime
in class ThinElement
probe
- propagating probepublic double energyGain(IProbe probe)
energyGain
in class ThinElement
probe
- uses the particle species chargeprotected PhaseMap transferMap(IProbe probe) throws ModelException
transferMap
in class ThinElement
probe
- compute transfer map using parameters from this probeModelException
- this should not occurpublic double simpleEnergyGain(IProbe probe)
probe
- uses the particle species chargepublic double compTransFocusing(IProbe probe)
The value represents the thin lens focusing constant for an ideal RF gap (this is the inverse of the focal length). To compute the focusing action for the lens we must include beam energy, which is changing through the gap. We use the value of beta for which the beam has received half the total energy gain.
probe
- beam energy and particle charge are taken from the probepublic double compLongFocusing(IProbe probe)
The value represents the thin lens focusing constant for an ideal RF gap (this is the inverse of the focal length). To compute the focusing action for the lens we must include beam energy, which is changing through the gap. We use the value of beta for which the beam has received half the total energy gain.
probe
- beam energy and particle charge are taken from the probepublic void print(java.io.PrintWriter os)
public void initializeFrom(LatticeElement element)
initializeFrom
in interface IComponent
initializeFrom
in class Element
latticeElement
- the SMF node to convert