C# Class TransferCavityLock.Controller

A class for locking the laser using a transfer cavity.
Inheritance: System.MarshalByRefObject
Show file Open project: ColdMatter/EDMSuite Class Usage Examples

Public Properties

Property Type Description
Decrements int
Increments int
State ControllerState
lState LaserState
rampStopLock object
setPointIncrementSize double
tweakLock object

Public Methods

Method Description
DisengageLock ( ) : void
EngageLock ( ) : void
InitializeLifetimeService ( ) : Object
InitializeUI ( ) : void
StabilizeCavity ( ) : void
Start ( ) : void
StartRamp ( ) : void
StopRamp ( ) : void
UnlockCavity ( ) : void

Private Methods

Method Description
CalculateLaserSetPoint ( double masterFitCoefficients, double slaveFitCoefficients ) : double

Measures the laser set point (the distance between the he-ne and TiS peaks in cavity voltage units) The lock (see calculateDeviationFromSetPoint) will adjust the voltage fed to the TiS to keep this number constant.

WindowGainChanged ( double g ) : void
WindowVoltageToLaserChanged ( double voltage ) : void
calculateDeviationFromSetPoint ( double laserSetPoint, double masterFitCoefficients, double slaveFitCoefficients ) : double
calculateNewScanCentre ( ScanParameters scanParameters, double fitCoefficients ) : double

This adjusts the scan range of the next scan, so that the HeNe peak stays in the middle of the scan. It modifies the scan parameters that are passed to it.

calculateNewVoltageToLaser ( double vtolaser, double measuredVoltageChange ) : double
createInitialScanParameters ( ) : ScanParameters
displayData ( ScanParameters sp, CavityScanData data ) : void
displayMasterFit ( ScanParameters sp, double fitCoefficients ) : void
displaySlaveFit ( ScanParameters sp, double fitCoefficients ) : void
finalizeRamping ( ) : void
initializeControllerValues ( ) : void
initializeHardware ( ) : void
rampLoop ( ) : void

The main loop. Scans the cavity, looks at photodiodes, corrects the cavity scan range for the next scan and locks the laser. It does a first scan of the data before starting. It then enters a loop where the next scan is prepared. The preparation varies depending on the ControllerState. Once all the preparation is done, the next scan is started. And so on.

readParametersFromUI ( ) : void

Gets some parameters from the UI and stores them on the controller.

releaseLaser ( ) : void
saveFitData ( System file, double param ) : void
scan ( ScanParameters sp ) : CavityScanData

A function to scan across the voltage range set by the limits high and low. Reads from the two photodiodes and spits out an array. The basic unit of the program.

setToLaserEngaged ( ) : void
setUIInitialValues ( ) : void
tweakSetPoint ( double oldSetPoint ) : double

Method Details

DisengageLock() public method

public DisengageLock ( ) : void
return void

EngageLock() public method

public EngageLock ( ) : void
return void

InitializeLifetimeService() public method

public InitializeLifetimeService ( ) : Object
return Object

InitializeUI() public method

public InitializeUI ( ) : void
return void

StabilizeCavity() public method

public StabilizeCavity ( ) : void
return void

Start() public method

public Start ( ) : void
return void

StartRamp() public method

public StartRamp ( ) : void
return void

StopRamp() public method

public StopRamp ( ) : void
return void

UnlockCavity() public method

public UnlockCavity ( ) : void
return void

Property Details

Decrements public property

public int Decrements
return int

Increments public property

public int Increments
return int

State public property

public ControllerState State
return ControllerState

lState public property

public LaserState lState
return LaserState

rampStopLock public property

public object rampStopLock
return object

setPointIncrementSize public property

public double setPointIncrementSize
return double

tweakLock public property

public object tweakLock
return object