Class IdealEQuad

All Implemented Interfaces:
IElectrostatic, IComponent, IElement

public class IdealEQuad extends ThickElectrostatic
Represents an ideal electrostatic quadrupole for a beam transport/accelerator system.
Author:
Carla Benatti, adapted from Christopher K. Allen's IdealMagQuad.java
  • Field Details

  • Constructor Details

    • IdealEQuad

      public IdealEQuad(String strId, int enmOrient, double dblVol, double dblLen, double dblApt)
      Creates a new instance of IdealEQuad
      Parameters:
      strId - identifier for this IdealEQuad object
      enmOrient - enumeration specifying the quadrupole orientation (ORIENT_HOR or ORIENT_VER)
      dblVol - Applied Voltage (kV)
      dblLen - Length of the quadrupole (m)
      dblApt - Aperture radius (m)
    • IdealEQuad

      public IdealEQuad()
      JavaBean constructor - creates a new uninitialized instance of IdealEQuad BE CAREFUL
  • Method Details

    • getOrientation

      public int getOrientation()
      Return the orientation enumeration code.
      Specified by:
      getOrientation in interface IElectrostatic
      Overrides:
      getOrientation in class ThickElectrostatic
      Returns:
      ORIENT_HOR - quadrupole focuses in x (horizontal) plane ORIENT_VER - quadrupole focuses in y ( vertical ) plane ORIENT_NONE - error
    • getVoltage

      public double getVoltage()
      Get the voltage applied to the electrostatic quad pole tips.
      Returns:
      Voltage (in kV).
    • setOrientation

      public void setOrientation(int enmOrient)
      Set the electrostatic quad orientation.
      Specified by:
      setOrientation in interface IElectrostatic
      Overrides:
      setOrientation in class ThickElectrostatic
      Parameters:
      enmOrient - quad orientation enumeration code
      See Also:
    • setVoltage

      public void setVoltage(double dblVoltage)
      Set the applied Voltage on the electrostatic quad.
      Parameters:
      dblVoltage - Voltage (in kV).
    • getAperture

      public double getAperture()
      Get the Aperture radius of the electrostatic quad.
      Returns:
      Aperture Radius (in m).
    • setAperture

      public void setAperture(double dblAperture)
      Set the Aperture radius of the electrostatic quad.
      Parameters:
      dblAperture - Aperture Radius (in m).
    • elapsedTime

      public double elapsedTime(IProbe probe, double dblLen)
      Returns the time taken for the probe to drift through part of the element.
      Specified by:
      elapsedTime in interface IElement
      Specified by:
      elapsedTime in class ThickElement
      Parameters:
      probe - propagating probe
      dblLen - length of subsection to propagate through meters
      Returns:
      the elapsed time through sectionUnits: seconds
    • energyGain

      public double energyGain(IProbe probe, double dblLen)
      Return the energy gain imparted to a particular probe. For an ideal Equadrupole this value is always zero.
      Specified by:
      energyGain in interface IElement
      Specified by:
      energyGain in class ThickElement
      Parameters:
      probe - dummy argument
      dblLen - dummy argument
      Returns:
      returns a zero value
    • transferMap

      public PhaseMap transferMap(IProbe probe, double length)
      Compute the partial transfer map of an ideal Equadrupole for the particular probe. Computes transfer map for a section of Equadrupole dblLen meters in length. The aperture used in the calculation is the aperture radius in meters.
      Specified by:
      transferMap in interface IElement
      Specified by:
      transferMap in class ThickElement
      Parameters:
      probe - supplies the charge, rest and kinetic energy parameters
      length - compute transfer matrix for section of this length
      Returns:
      transfer map of ideal Equadrupole for particular probe
      See Also:
    • print

      public void print(PrintWriter os)
      Dump current state and content to output stream.
      Overrides:
      print in class Element
      Parameters:
      os - output stream object
    • initializeFrom

      public void initializeFrom(LatticeElement element)
      Conversion method to be provided by the user
      Specified by:
      initializeFrom in interface IComponent
      Overrides:
      initializeFrom in class ThickElectrostatic
      Parameters:
      element - the SMF node to convert