public override PatternBuilder32 GetDigitalPattern() { PatternBuilder32 p = new PatternBuilder32(); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); // This is how you load "preset" patterns. p.Pulse(0, 0, 1, "AnalogPatternTrigger"); //NEVER CHANGE THIS!!!! IT TRIGGERS THE ANALOG PATTERN! p.Pulse(10000, 0, 100000, "TranslationStageTrigger"); p.AddEdge("CameraTrigger", 0, true); p.DownPulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["Frame0TriggerDuration"], "CameraTrigger"); p.DownPulse((int)Parameters["Frame1Trigger"], 0, (int)Parameters["Frame1TriggerDuration"], "CameraTrigger"); p.DownPulse(150000, 0, 50, "CameraTrigger"); p.DownPulse(155000, 0, 50, "CameraTrigger"); // loads the mag trap by switching off the MOT beams p.AddEdge("aom0enable", (int)Parameters["MOTLoadTime"], false); p.AddEdge("aom1enable", (int)Parameters["MOTLoadTime"], false); //p.AddEdge("aom2enable", (int)Parameters["Frame0Trigger"], false); //switches off Zeeman beam p.AddEdge("aom2enable", (int)Parameters["MOTLoadTime"], false); p.AddEdge("aom3enable", (int)Parameters["MOTLoadTime"], false); p.Pulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["ExposureTime"], "aom3enable"); p.Pulse((int)Parameters["Frame1Trigger"], 0, (int)Parameters["ExposureTime"], "aom3enable"); return p; }
public override PatternBuilder32 GetDigitalPattern() { PatternBuilder32 p = new PatternBuilder32(); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); // This is how you load "preset" patterns. p.Pulse(0, 0, 1, "AnalogPatternTrigger"); //NEVER CHANGE THIS!!!! IT TRIGGERS THE ANALOG PATTERN! p.Pulse(40000, 0, 100000, "TranslationStageTrigger"); p.AddEdge("CameraTrigger", 0, true); p.DownPulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["Frame0TriggerDuration"], "CameraTrigger"); p.DownPulse((int)Parameters["Frame1Trigger"], 0, (int)Parameters["Frame1TriggerDuration"], "CameraTrigger"); p.DownPulse((int)Parameters["Frame2Trigger"], 0, (int)Parameters["Frame2TriggerDuration"], "CameraTrigger"); p.DownPulse(190000, 0, 50, "CameraTrigger"); p.DownPulse(195000, 0, 50, "CameraTrigger"); // switches off the Zeeman and absorption beams to avoid reloading the MOT whilst imaging, and to allow fluorescence images to be obtained p.DownPulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["CameraExposure"], "aom2enable"); p.DownPulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["CameraExposure"], "aom3enable"); // loads the mag trap, Zeeman light is not switched back on again to avoid MOT reloading p.DownPulse((int)Parameters["MOTLoadDuration"], 0, (int)Parameters["MagTrapDuration"], "aom0enable"); p.DownPulse((int)Parameters["MOTLoadDuration"], 0, (int)Parameters["MagTrapDuration"], "aom1enable"); p.AddEdge("aom2enable", (int)Parameters["MOTLoadDuration"], false); p.AddEdge("aom3enable", (int)Parameters["MOTLoadDuration"], false); return p; }
public override AnalogPatternBuilder GetAnalogPattern() { AnalogPatternBuilder p = new AnalogPatternBuilder((int)Parameters["PatternLength"]); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); p.AddAnalogPulse("coil0current", (int)Parameters["MOTLoadDuration"], (int)Parameters["ReleaseTime"], 0, (double)Parameters["MOTCoilsCurrent"]); p.AddAnalogValue("coil0current", 115000, 0); p.SwitchAllOffAtEndOfPattern(); return p; }
public override PatternBuilder32 GetDigitalPattern() { PatternBuilder32 p = new PatternBuilder32(); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); // This is how you load "preset" patterns. p.Pulse(0, 0, 1, "AnalogPatternTrigger"); //NEVER CHANGE THIS!!!! IT TRIGGERS THE ANALOG PATTERN! p.AddEdge("CameraTrigger", 0, true); p.DownPulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["Frame0TriggerDuration"], "CameraTrigger"); p.DownPulse((int)Parameters["Frame1Trigger"], 0, (int)Parameters["Frame1TriggerDuration"], "CameraTrigger"); p.DownPulse(150000, 0, 50, "CameraTrigger"); p.DownPulse(160000, 0, 50, "CameraTrigger"); return p; }
public override AnalogPatternBuilder GetAnalogPattern() { AnalogPatternBuilder p = new AnalogPatternBuilder((int)Parameters["PatternLength"]); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); //p.AddChannel("aom2frequency"); //p.AddChannel("aom3frequency"); p.AddAnalogValue("coil0current", 0, 0); //p.AddAnalogValue("aom2frequency", 0, 190.875); //p.AddAnalogValue("aom3frequency", 0, 210.875); p.AddAnalogValue("coil0current", 120000, 0); p.SwitchAllOffAtEndOfPattern(); return p; }
public override AnalogPatternBuilder GetAnalogPattern() { AnalogPatternBuilder p = new AnalogPatternBuilder((int)Parameters["PatternLength"]); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); p.AddChannel("aom2frequency"); p.AddChannel("aom3frequency"); p.AddAnalogValue("coil0current", 0, 0); p.AddAnalogValue("aom2frequency", 0, (double)Parameters["aom2Detuning"]); p.AddAnalogValue("aom3frequency", 0, (double)Parameters["aom3Detuning"]); //p.AddAnalogValue("coil0current", (int)Parameters["MagRampTime"], (double)Parameters["MagTrapCurrent"]); p.AddAnalogValue("coil0current", 130000, 0); p.SwitchAllOffAtEndOfPattern(); return p; }
public override AnalogPatternBuilder GetAnalogPattern() { AnalogPatternBuilder p = new AnalogPatternBuilder((int)Parameters["PatternLength"]); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); p.AddChannel("aom2frequency"); p.AddChannel("aom3frequency"); p.AddAnalogValue("coil0current", 0, 0); p.AddAnalogValue("aom2frequency", (int)Parameters["MOTStartTime"], 180.875); p.AddAnalogValue("aom3frequency", (int)Parameters["MOTStartTime"], 220.875); p.AddAnalogValue("aom2frequency", (int)Parameters["Frame0Trigger"], 200.875); p.AddAnalogValue("aom3frequency", (int)Parameters["Frame0Trigger"], 200.875); p.AddAnalogValue("coil0current", 100100, 0); p.SwitchAllOffAtEndOfPattern(); return p; }
public override PatternBuilder32 GetDigitalPattern() { PatternBuilder32 p = new PatternBuilder32(); MOTMasterScriptSnippet lm = new SHLoadMOT(p, Parameters); // This is how you load "preset" patterns. p.Pulse(0, 0, 1, "AnalogPatternTrigger"); //NEVER CHANGE THIS!!!! IT TRIGGERS THE ANALOG PATTERN! p.AddEdge("CameraTrigger", 0, true); p.DownPulse((int)Parameters["Frame0Trigger"], 0, (int)Parameters["Frame0TriggerDuration"], "CameraTrigger"); p.DownPulse((int)Parameters["Frame1Trigger"], 0, (int)Parameters["Frame1TriggerDuration"], "CameraTrigger"); p.DownPulse(150000, 0, 50, "CameraTrigger"); p.DownPulse(160000, 0, 50, "CameraTrigger"); //switches off Zeeman and Absoroption beams during imaging, so that MOT is not reloaded and fluorescence images can be taken p.AddEdge("aom2enable", (int)Parameters["Frame0Trigger"], false); p.AddEdge("aom3enable", (int)Parameters["Frame0Trigger"], false); return p; }