Class IdealMagSectorDipole

All Implemented Interfaces:
IElectromagnet, IComponent, IElement

@Deprecated public class IdealMagSectorDipole extends ThickElectromagnet
Deprecated.
This class has been replaced by IdealMagSectorDipole2
Represents a thick magnetic dipole magnet for a beam in a sector configuration. Thus, there are no edge effects as the beam enters the magnet orthogonally. The MAD convention for sector magnets is followed for coordinates, signs, and lengths. The formulation from D. Carey's Optics book, Transport manual, and H. Wiedemann's books are used. TODO - Add "tilt" angle of the dipole, and add charge of the probe to get the right bend radius.
Author:
jdg, Christopher K. Allen
See Also:
  • "D.C. Carey, The Optics of Charged Particle Beams (Harwood, 1987)"
  • "H. Wiedemann, Particle Accelerator Physics I, 2nd Ed. (Springer, 1999)"
  • Field Details

  • Constructor Details

    • IdealMagSectorDipole

      public IdealMagSectorDipole()
      Deprecated.
      Default constructor - creates a new uninitialized instance of IdealMagSectorDipole. This is the constructor called in automatic lattice generation. Thus, all element properties are set following construction.
    • IdealMagSectorDipole

      public IdealMagSectorDipole(String strId)
      Deprecated.
      Default constructor - creates a new uninitialized instance of IdealMagSectorDipole. This is the constructor called in automatic lattice generation. Thus, all element properties are set following construction.
    • IdealMagSectorDipole

      public IdealMagSectorDipole(String strId, double dblLen, int enmOrient, double dblFld, double dblGap, double dblFldInd)
      Deprecated.
      Creates a new instance of IdealMagSectorDipole
      Parameters:
      strId - identifier for this IdealMagSectorDipole object
      dblFld - field gradient strength (in Tesla)
      dblLen - pathLength of the dipole (in m)
      enmOrient - orientation
      dblGap - full pole gap of the dipole (in m)
      dblFldInd - field index
  • Method Details

    • setFieldIndex

      public void setFieldIndex(double dblFldInd)
      Deprecated.
      Set the magnetic field index of the magnet evaluated at the design orbit. The field index is defined as n := -(R0/B0)(dB/dR) where R0 is the radius of the design orbit, B0 is the field at the design orbit (@see IdealMagSectorDipole#getField), and dB/dR is the derivative of the field with respect to the path deflection - evaluated at the design radius R0.
      Parameters:
      dblFldInd - field index of the magnet (unitless)
    • setGapHeight

      public void setGapHeight(double dblGap)
      Deprecated.
      Set the gap size between the dipole magnet poles.
      Parameters:
      dblGap - gap size in meters
    • setPathLength

      public void setPathLength(double pl)
      Deprecated.
    • setBendAngle

      public void setBendAngle(double ba)
      Deprecated.
    • setFieldPathFlag

      public void setFieldPathFlag(double ba)
      Deprecated.
    • getPathLength

      public double getPathLength()
      Deprecated.
    • getBendAngle

      public double getBendAngle()
      Deprecated.
    • getFieldPathFlag

      public double getFieldPathFlag()
      Deprecated.
    • getFieldIndex

      public double getFieldIndex()
      Deprecated.
      Return the magnetic field index of the magnet evaluated at the design orbit. The field index is defined as n := -(R0/B0)(dB/dR) where R0 is the radius of the design orbit, B0 is the field at the design orbit (@see IdealMagSectorDipole#getField), and dB/dR is the derivative of the field with respect to the path deflection - evaluated at the design radius R0.
      Returns:
      field index of the magnet at the design orbit (unitless)
    • getGapHeight

      public double getGapHeight()
      Deprecated.
      Return the gap size between the dipole magnet poles.
      Returns:
      gap size in meters
    • compCurvature

      public double compCurvature(IProbe probe)
      Deprecated.
      Compute the path curvature within the dipole for the given probe. The path curvature is 1/R where R is the bending radius of the dipole (radius of curvature). Note that for zero fields the radius of curvature is infinite while the path curvature is zero.
      Parameters:
      probe - probe object to be deflected
      Returns:
      dipole path curvature for given probe (in 1/meters)
    • elapsedTime

      public double elapsedTime(IProbe probe, double dblLen)
      Deprecated.
      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)
      Deprecated.
      Return the energy gain imparted to a particular probe. For an ideal quadrupole magnet this value is always zero.
      Specified by:
      energyGain in interface IElement
      Specified by:
      energyGain in class ThickElement
      Parameters:
      dblLen - dummy argument
      probe - dummy argument
      Returns:
      returns a zero value
    • transferMap

      public PhaseMap transferMap(IProbe probe, double dL) throws ModelException
      Deprecated.
      Compute the partial transfer map of an ideal sector magnet for the particular probe. Computes transfer map for a section of magnet dblLen meters in length.
      Specified by:
      transferMap in interface IElement
      Specified by:
      transferMap in class ThickElement
      Parameters:
      dL - compute transfer matrix for section of this path length
      probe - uses the rest and kinetic energy parameters from the probe
      Returns:
      transfer map of ideal sector magnet for particular probe
      Throws:
      ModelException - unknown quadrupole orientation
      See Also:
    • transferMapThickDipole

      public PhaseMap transferMapThickDipole(IProbe probe, double dL) throws ModelException
      Deprecated.
      A version from ThickDipole. The results is very similar as this.transferMap Compute the partial transfer map of an ideal quadrupole for the particular probe. Computes transfer map for a section of quadrupole dblLen meters in length.
      Parameters:
      dL - compute transfer matrix for section of this path length
      probe - uses the rest and kinetic energy parameters from the probe
      Returns:
      transfer map of ideal quadrupole for particular probe
      Throws:
      ModelException - unknown quadrupole orientation
    • print

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