Class IdealMagFringeQuadFace

All Implemented Interfaces:
IElectromagnet, IComponent, IElement

public class IdealMagFringeQuadFace extends ThinElectromagnet
Represents the action of a rotated dipole face as a thin lens effect. Note that there is always an associated dipole magnet for any IdealMagDipoleFace. The two objects should provide the same values for the IElectromagnet interface. Note that a dipole face rotation has the same effect both on beam entering the dipole or exiting the dipole. The model for the pole face effect is taken from D.C. Carey's book.
Author:
Christopher K. Allen
See Also:
  • "D.C. Carey, The Optics of Charged Particle Beams (Harwood, 1987)"
  • Field Details

  • Constructor Details

    • IdealMagFringeQuadFace

      public IdealMagFringeQuadFace()
      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.
    • IdealMagFringeQuadFace

      public IdealMagFringeQuadFace(String strId)
      Constructor providing the instance identifier for the element.
      Parameters:
      strId - string identifier for element
  • Method Details

    • setEntrFlag

      public void setEntrFlag(boolean entr)
    • getBRhoScaling

      public double getBRhoScaling()
    • setBRhoScaling

      public void setBRhoScaling(double d)
    • setNominalKineEnergy

      public void setNominalKineEnergy(double ba)
    • getNominalKineEnergy

      public double getNominalKineEnergy()
    • getK1

      public double getK1()
      K1 (T/m)
      Returns:
      K1
    • setK1

      public void setK1(double dbl)
      K1 (T/m)
    • setFringeIntegral1

      public void setFringeIntegral1(double dblFringeInt)
      Set the first-order moment integral of the dipole fringe field as described by H. Matsuda. The integral determines the amount of defocusing caused by the fringe field. Denoting the integral f1 has the definition f1 := sign(a)sqrt(a) a = -24 [I1sad-I0sad^2/2] where I(n)sad := Integral{[z - z0] k(z)/k0}dz where k0 is normal k0*Len. The integral taken from -infinity to z = infinity.
      Parameters:
      dblFringeInt - field moment f1 (dimensionless)
    • setFringeIntegral2

      public void setFringeIntegral2(double dblFringeInt)
      Set the first-order moment integral of the dipole fringe field as described by H. Matsuda. The integral determines the amount of defocusing caused by the fringe field. Denoting the integral f1 has the definition f2 := [I2sad-I0sad^2/3] where I(n)sad := Integral{[z - z0] k(z)/k0}dz where k0 is normal k0*Len. The integral taken from -infinity to z = infinity.
      Parameters:
      dblFringeInt - field moment f1 (dimensionless)
    • setFieldPathFlag

      public void setFieldPathFlag(double ba)
      sako to set field path flag
      Parameters:
      ba -
    • getFringeIntegral1

      public double getFringeIntegral1()
      Set the second-order moment integral of the dipole fringe field as described by H. Matsuda. The integral determines the amount of defocusing caused by the fringe field.
      Returns:
      second-order integral of fringe field (dimensionless)
      See Also:
      • IdealMagFringeQuadFace#setFringeIntegral(double)
    • getFringeIntegral2

      public double getFringeIntegral2()
    • getEntr

      public boolean getEntr()
    • getFieldPathFlag

      public double getFieldPathFlag()
      Return the field path flag.
      Returns:
      field path flag = 1 (use design field) or 0 (use bField parameter)
    • elapsedTime

      public double elapsedTime(IProbe probe)
      Returns the time taken for the probe to propagate through element.
      Specified by:
      elapsedTime in class ThinElement
      Parameters:
      probe - propagating probe
      Returns:
      value of zero
    • energyGain

      public double energyGain(IProbe probe)
      Return the energy gain for this Element.
      Specified by:
      energyGain in class ThinElement
      Parameters:
      probe - propagating probe
      Returns:
      value of zero
    • transferMap

      protected PhaseMap transferMap(IProbe probe) throws ModelException
      Compute and return the transfer map for this dipole magnet pole face element.
      Specified by:
      transferMap in class ThinElement
      Parameters:
      probe -
      Returns:
      Throws:
      ModelException
      See Also: