Package xal.smf.impl

Class SCLCavity

All Implemented Interfaces:
Comparable, ElementType, DataListener

public class SCLCavity extends RfCavity
SCLCavity class is used to represent an SCL RF cavity.
  • Field Details

  • Constructor Details

    • SCLCavity

      public SCLCavity(String strId, ChannelFactory channelFactory, int intReserve)
      Primary Constructor
    • SCLCavity

      public SCLCavity(String strId, ChannelFactory channelFactory)
      Constructor
    • SCLCavity

      public SCLCavity(String strID, int arrayReserve)
      Primary Constructor
    • SCLCavity

      public SCLCavity(String strID)
      Constructor
  • Method Details

    • getType

      public String getType()
      Get this node's type.
      Overrides:
      getType in class RfCavity
      Returns:
      the type ID of this node.
    • getStructureTTF

      public double getStructureTTF()
      Returns:
      constant TTF used in the accelerator LLRF
    • getQLoaded

      public double getQLoaded()
      Returns:
      Q external
    • getFieldWithCavityOff

      @Deprecated public double getFieldWithCavityOff(double current, double energy, double resErr, double plsWdth)
      Deprecated.
      This is one of only two methods that uses stuff from outside, and that stuff is the sclcavity sub-package which is completely hard coded for the SNS SCL. We must get rid of sclcavity.
      Parameters:
      current - beam current (mA)
      energy - beam kinetic energy (MeV)
      resErr - cavity resonance error (Hz)
      plsWdth - beam pulse width (micro-sec, single number, assume beam is square wave)
      Returns:
      cavity field induced by beam loading when the cavity is off
    • getFieldWithCavityOff

      @Deprecated public double getFieldWithCavityOff(double current, double energy, double resErr, double[] plsArry, double sampleRate)
      Deprecated.
      This is one of only two methods that uses stuff from outside, and that stuff is the sclcavity sub-package which is completely hard coded for the SNS SCL. We must get rid of sclcavity.
      Parameters:
      current - beam current (mA)
      energy - beam kinetic energy (MeV)
      resErr - cavity resonance error (Hz)
      plsArry - beam pulse array
      sampleRate - BCM sample rate (micro-sec, single number)
      Returns:
      cavity field induced by beam loading when the cavity is off
    • toCavAmpAvgFromCA

      public double toCavAmpAvgFromCA(double rawValue)
      Convert the raw channel access value to get the cavity amplitude in MV/m.
      Overrides:
      toCavAmpAvgFromCA in class RfCavity
      Parameters:
      rawValue - the raw channel value
      Returns:
      the cavity amplitude in MV/m
    • toCAFromCavAmpAvg

      public double toCAFromCavAmpAvg(double value)
      Convert the cavity amplitude to channel access.
      Overrides:
      toCAFromCavAmpAvg in class RfCavity
      Parameters:
      value - the cavity amplitude
      Returns:
      the channel access value
    • getAvgTTF

      @Deprecated public double getAvgTTF(double beta)
      Deprecated.
      Read the comments about being a hard coded kluge job.
      get the average TTF for the cavity as a function of beta this should use parameters form the database, the hardwired fit coefficients should go in the database - this is temp.