ISISController
Class SetCentralWavelengthAction

java.lang.Object
  extended by FourMS.SequenceSubaction
      extended by ISISController.SetCentralWavelengthAction
All Implemented Interfaces:
SubActionCompletionListenerOperations, SubActionOperations, java.lang.Runnable

public class SetCentralWavelengthAction
extends SequenceSubaction
implements java.lang.Runnable, SubActionOperations

This class implements a software controller level sequence subaction which will result in the position of either the red or blue grating being set according to a central wavelength which is specified by the user. There are a number of factors involved in the calculation of this position which includes the number of lines per mm of the grating which is currently deployed in the grating mechanism and a grating offset which can be specified by the user.

The action is expected to take two arguments which are outlined below;

Parameter Semantics
Arm Which arm of ISIS the user wishes the central wavelength to be calculated for
Wavelength The desired central wavelength specified in angstroms

The object is a persistent CORBA object which will be registered with the name service and can then subsequently be used by CORBA client. It implements the standard SubAction IDL interface and it itself is a CORBA object which is registered with the Name service and subsequently can be invoked by remote CORBA clients.

The subaction will be registered in the name service as ISISController/SequenceSubaction/SetCentralWavelengthAction should it need to be accessed and used by a CORBA client

Version:
$Id: SetCentralWavelengthAction.java,v 1.4 2005/05/19 14:18:37 cb Exp $
Author:
Craige Bevil


Field Summary
private  SubAction BlueGratingMoveAction
          This is a reference to the subaction which can be used to move the blue grating.
private  SubAction GratingMoveAction
          This is a CORBA reference to the grating which is to be moved
private  iParameterNoticeBoard.ParameterNoticeBoardSupplier ParameterNoticeBoard
          This is reference to the remote proxy CORBA object which will be used to access the parameter name service so that we may access status information relating to the ISIS system.
private  SubAction RedGratingMoveAction
          This is a reference to the subaction which can be used to move the red grating.
 
Fields inherited from class FourMS.SequenceSubaction
ActionCompletionListener, ActionCompletionListenerImpl, ActionState, ExpectedNoOfArgs, InstrumentName, NumberOfSubactionsInSequenceOutstanding, Orb, Poa, RootNamingServiceContext, SecondsBeforeTimeout, SequenceSubActionInitiatorCB, SequenceSubactionName, SubactionArgumentList, SubactionThread, SyslogMessageHandler, TimeOut
 
Constructor Summary
SetCentralWavelengthAction(java.lang.String SequenceSubactionName, java.lang.String InstrumentName, org.omg.PortableServer.POA Poa, org.omg.CORBA.ORB Orb, MessageHandler SyslogMessageHandler, org.omg.CosNaming.NamingContextExt RootNamingServiceContext)
          The constructor
 
Method Summary
 void run()
          This is the run method which represents the thread within which the action will run.
 
Methods inherited from class FourMS.SequenceSubaction
cancelAction, informSubactionInitiator, informSubactionInitiator, registerSubactionInNameService, returnResult, startAction, subActionEnded, waitForActionToComplete
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface FourMSControllerInterfaces.SubActionOperations
cancelAction, startAction
 

Field Detail

ParameterNoticeBoard

private iParameterNoticeBoard.ParameterNoticeBoardSupplier ParameterNoticeBoard
This is reference to the remote proxy CORBA object which will be used to access the parameter name service so that we may access status information relating to the ISIS system.


GratingMoveAction

private SubAction GratingMoveAction
This is a CORBA reference to the grating which is to be moved


RedGratingMoveAction

private SubAction RedGratingMoveAction
This is a reference to the subaction which can be used to move the red grating.


BlueGratingMoveAction

private SubAction BlueGratingMoveAction
This is a reference to the subaction which can be used to move the blue grating.

Constructor Detail

SetCentralWavelengthAction

public SetCentralWavelengthAction(java.lang.String SequenceSubactionName,
                                  java.lang.String InstrumentName,
                                  org.omg.PortableServer.POA Poa,
                                  org.omg.CORBA.ORB Orb,
                                  MessageHandler SyslogMessageHandler,
                                  org.omg.CosNaming.NamingContextExt RootNamingServiceContext)
The constructor

Parameters:
SequenceSubactionName - This is the name of the subaction sequence for reporting purposes, this should correspond to the name that is given to the object in the name service
InstrumentName - This is the name of the instrument to which this subaction is associated
Poa - This is a reference to the POA to be used by this object
Orb - This is a reference to the ORB
SyslogMessageHandler - A syslog message handler which will be used for error reporting
RootNamingServiceContext - This is a reference to the root context of the naming service so that we can
Method Detail

run

public void run()
This is the run method which represents the thread within which the action will run. When the subaction is intiated, a thread is started and this is the method which is called and when the thread is started.

The purpose of the method is to calculate the central wavelength for the specified grating and subsequently set the grating to that position.

Specified by:
run in interface java.lang.Runnable