Interface IRfCavityCell
- All Known Implementing Classes:
IdealRfGap
,IdealRfGapUpgraded
,SpectrumMapRfGap
,ThickRfFieldMap
,ThinRfFieldMap
Class exposing this interface will express parameters for describing a cell within an RF cavity.
Currently is it intended to be used in tandem with the IRfGap
interface to get a complete description. It might be more natural to inherit
from the IRfGap
interface since most cavity cells are used for
their gap actions (but not all). I don't know if we would ever use a cavity
cell modeling element for a cell that does not accelerator (i.e., a
side-coupled cell), but the current architecture supports it.
This design also allows us to assign RF cavity cell properties to the RF gap object (e.g., IdealRfGap). This isn't exactly sound practice since the gap is not a cell, however, it's a quick, klugy way into the current architecture.
It is quite possible that the architecture will be refactored here if we find a better way. This is essential an alpha design.
- Since:
- Jan 8, 2015
- Author:
- Christopher K. Allen
-
Method Summary
Modifier and TypeMethodDescriptionint
Returns the index of this cell within the parent RF cavity.double
Returns the structure mode number q for the cavity in which this gap belongs.double
boolean
Returns whether or not the cell is the first or last in a string of cells within an RF cavity.boolean
Indicates whether or not this cell is the first cell of an RF cavity.void
setCavityCellIndex
(int indCell) Set the index n of this cell within the enclosing RF cavity.void
setCavityModeConstant
(double dblCavModeConst) Sets the structure mode number q for the cavity in which this cell belongs.void
setLongitudinalPhaseReference
(double longitudinalPhaseReference)
-
Method Details
-
setCavityCellIndex
void setCavityCellIndex(int indCell) Set the index n of this cell within the enclosing RF cavity. The index origin begins at 0, specifically, the first cell in the cavity will have a cell index of O. Since cell phase φ seen by the probe is
φ = nqπ + φ0
where q is the cavity structure constant and φ0 is the klystron driving phase, the first cell always has the phase of the klystron.When considered with an RF gap, it can be convenient to consider the phase rather as a spatial component of the field and combine it with the field amplitude. We simply get a signum function effect where the new field E>n at cell n is given by
En = E0 cos(nqπ)
where E0 is the usual gap field strength.See the discussion below on cavity mode constants.
- Parameters:
indCell
- index of the cavity cell within the cavity, starting at 0- Since:
- Jan 8, 2015 by Christopher K. Allen
-
setCavityModeConstant
void setCavityModeConstant(double dblCavModeConst) Sets the structure mode number q for the cavity in which this cell belongs. Here the structure mode number is defined in terms of the fractional phase advance between cells, with respect to π. To make this explicit
q = 0 ⇛ 0 mode
q = 1/2 ⇒ π/2 mode
q = 1 ⇛ π mode
Thus, a cavity mode constant of q = 1/2 indicates a π/2 phase advance between adjacent cells and a corresponding cell amplitude function An of
An = cos(nqπ)
where n is the index of the cell within the coupled cavity.- Parameters:
dblCavModeConst
- the cavity mode structure constant for the cavity containing this cell- Since:
- Jan 8, 2015 by Christopher K. Allen
- See Also:
-
- RF Linear Accelerators, Thomas P. Wangler (Wiley, 2008).
-
getCavityCellIndex
int getCavityCellIndex()Returns the index of this cell within the parent RF cavity. The index origin starts at zero.- Returns:
- the cell number within the parent cavity, starting at zero
- Since:
- Jan 8, 2015 by Christopher K. Allen
- See Also:
-
getCavityModeConstant
double getCavityModeConstant()Returns the structure mode number q for the cavity in which this gap belongs. This is the fractional phase advance between cells, with respect to π. It can also be interpreted as describing the spatial advance of the axial electric field from cell to cell.
- Returns:
- the cavity mode constant for the cell containing this gap
- Since:
- Jan 8, 2015 by Christopher K. Allen
- See Also:
-
- RF Linear Accelerators, Thomas P. Wangler (Wiley, 2008).
setCavityModeConstant(double)
-
isEndCell
boolean isEndCell()Returns whether or not the cell is the first or last in a string of cells within an RF cavity. This is particularly important in structures operating outside 0 mode where the cell phasing may change.- Returns:
true
if this cell is at either end in a bank of cells,false
otherwise- Since:
- Jan 23, 2015 by Christopher K. Allen
-
isFirstCell
boolean isFirstCell()Indicates whether or not this cell is the first cell of an RF cavity.- Returns:
true
if this is the initial cell in an RF cavity,false
otherwise- Since:
- Jan 23, 2015 by Christopher K. Allen
-
setLongitudinalPhaseReference
void setLongitudinalPhaseReference(double longitudinalPhaseReference) -
getLongitudinalPhaseReference
double getLongitudinalPhaseReference()
-