Interface IRfCavityCell

All Known Implementing Classes:
IdealRfGap, IdealRfGapUpgraded, SpectrumMapRfGap, ThickRfFieldMap, ThinRfFieldMap

public interface IRfCavityCell

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 Type
    Method
    Description
    int
    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:
    • 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()