Class AbstractCorrector

All Implemented Interfaces:
Cloneable, ISimpleElement, AbstractUpdateableElement, IApplyableElement
Direct Known Subclasses:
HorCorrector, Kicker, VerCorrector

public abstract class AbstractCorrector extends AbstractCalibratedMagnet
AbstractCorrector steers magnet, which gives kick to the beam, specified by the angle.
Author:
igor@scictrl.com
  • Field Details

  • Constructor Details

    • AbstractCorrector

      public AbstractCorrector(String name)
      Constructs AbstractCorrector with specified name and default parameter's values.
      Parameters:
      name - a String the name of abstract corrector
    • AbstractCorrector

      public AbstractCorrector(String name, boolean virtual, double position, double relpos, String relFrom, double length, String ps, String calibrationEntry, double angle)
      Constructs the AbstractCorrector with specified parameters.
      Parameters:
      name - a String object
      virtual - a boolean
      position - a double
      relpos - a double
      relFrom - a String object
      length - a double
      ps - a String object
      calibrationEntry - a String object
      angle - a double
  • Method Details

    • addToAngle

      public void addToAngle(double value)
      This method increment the angle for a value specified by parameter
      Parameters:
      value - a double
    • applyAngle

      public int applyAngle() throws IllegalStateException
      This method sends current to PowerSupply
      Returns:
      int indicate if method succeded
      Throws:
      IllegalStateException - if any.
    • clone

      public Object clone()
      Returns the clone of this element. Returns not initialized clone of this element. All data is copied to the clone. Returns not initialized clone of this element. All data is copied to the clone.

      clone.

      clone.

      Specified by:
      clone in interface ISimpleElement
      Overrides:
      clone in class AbstractTransferElement
      Returns:
      a Object the clone of this element.
      See Also:
    • getAngle

      public double getAngle()
      This method return angle of change beam path.
      Returns:
      a double
    • getMaxAngle

      public double getMaxAngle() throws IllegalStateException, ControlSystemException
      This method return maximal angle of change beam path, that can be caused by this element.
      Returns:
      a double
      Throws:
      IllegalStateException - if any.
      ControlSystemException - if any.
    • getMinAngle

      public double getMinAngle() throws IllegalStateException, ControlSystemException
      This method return minimal angle of change beam path, that can be caused by this element.
      Returns:
      a double
      Throws:
      IllegalStateException - if any.
      ControlSystemException - if any.
    • setAngle

      public void setAngle(double value)
      This method sets angle of change beam path.
      Parameters:
      value - a double
    • setCurrent

      public void setCurrent(double value)
      This method sets current on this element. This method sets current.
      Overrides:
      setCurrent in class AbstractCalibratedMagnet
      Parameters:
      value - a double
    • setWith

      public void setWith(Object[] par) throws IllegalStateException
      Sets parameters values of this element to those in parameter array. As parameter must be used such array as for dynamical construction of new instance of this class. Current values are overriden for each not null object in array.

      setWith.

      setWith.

      setWith.

      setWith.

      setWith.

      Overrides:
      setWith in class AbstractCalibratedMagnet
      Parameters:
      par - an array of Object objects
      Throws:
      IllegalStateException - if element is initialized and inside DataBush.
      See Also:
    • toString

      public String toString()
      Returns the string representation of this element. Returns string describing this element. String is formated in input-file code. Returns a String that represents the value of this object.

      toString.

      toString.

      toString.

      toString.

      Specified by:
      toString in interface ISimpleElement
      Overrides:
      toString in class AbstractCalibratedMagnet
      See Also:
    • update

      public int update() throws IllegalStateException, DataBushPackedException
      Reads value from associated element or Abean and calculates it's new values. Metod reads data from other databush elements or from remote devices represented with Abean. Metod also checks isDataInvalidated() on depending databush elements, if value has changed. Return value is identification code of error. Note! Update is performed only if virtual flag is set to false. Note! All update methods are synchronized, so only one update is called at time. For update od group of elements call update on appropriate element-list or DataBush. This method reads energy from PowerSupply and transform it to magnetic properties of this element.
      Returns:
      a int the return code indicating success
      Throws:
      IllegalStateException - thrown if status of DataBush equals DB_EMPTY
      DataBushPackedException - contains all exception thrown or caught during updating element