Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Begin a terminal session on mec-laser, mec-monitor, or mec-daq (either by sitting down at one of those machines or by tunneling to them via ssh mec-las for example)
  2. Begin a hutch Python session by typing mecpython and waiting for everything to load
  3. Import the MEC laser Python package by entering import meclas
    1. You can also import using IPython magic functions to load all the meclas functions straight into the session's namespace (thus allowing you to avoid typing meclas. over and over again) by entering %run /reg/g/pcds/pyps/apps/hutch-python/mec/mec/macros/meclas.py
  4. Turn on the MEC LPL by typing meclas.LPL.On() and wait for the sequence to finish
    1. It's best to wait for the heads to warm up, which may take 15-30min
    2. You can check the shape of the YFE waveform using meclas.YFE.Trace()
    3. You can check the energy of the YFE by using meclas.EMeters.EGall()
  5. Load or view a new pulse recipe using meclas.LPL.psmenu()
  6. Set the new parameters desired for the new recipe:
    1. set the target output shape with LPL._Psns_set() and LPL._SSs_set()
      1. EXAMPLE: if you want to set a final output goal of a 10ns flat-top pulse, you would set:
             LPL._Psns_set([10.25])
             LPL._SSs_set([[98,100]])
    2. set the target YFE shape with LPL._YSSs_set()
      1. This is the tricky part!! At the moment, you can guess at these with context (e.g. previous recipe hints, visible by viewing the waveform using LPL.psmenu() or that kind of thing); in the future, the hope is to calculate a guess using SCALLOPS
      2. EXAMPLE: based on some nice guesswork or trial and error or inference from previous nice shots or whatever, you might set:
             LPL._YSSs_set([[0.02, 0.114]])
  7. Converge the YFE output to the prescribed goal using LPL.psefc10Hz() (or LPL.psrefrwvfm()). You might want to increase the step-size to AQQ = 0.1 or higher for faster convergence.
  8. Once satisfied, use op.single_shot. This takes a shot without running the DAQ and is a good way to test the laser. Alternatively, prepare for taking a full-energy shot using LPL.pspreshot(). Charge and fire the laser. Acquire the latest shot data using LPL.pspostshot(save_flag=False, display=True).
  9. Choose what to do next based on the quality of your shot:
    1. if the shot was satisfactory, save the shot using LPL.pssavewvfm()
    2. if the shot was not satisfactory, make adjustments to the target YFE shape with LPL._YSSs_set(), re-converge to the shape with LPL.psefc10Hz(), etc. and then repeat until you get something satisfactory or you try more troubleshooting

...