Is there an issue? Escalation Path

  • Issue concerns X-ray beam delivery: see here
  • Issue concerns ECS: see here

Initial Spatial overlap between LPL, VISAR and X-rays

  • This procedure assumes that
    • the beamline is aligned up to yag3
    • the slits are aligned to the beam
    • the yag at TCC has been prealigned with the help of Questar 2 as well (for maximum accuracy) and the pin (the pin is used to measure the LPL spot size and set the plan of interaction)
  • Go to the yag at TCC

    op.yag()
  • Remove the hutch Be CRL
  • Close slits 4 to 50 mic

    op.slit4.move(0.05)
  • Set a cross on Questar 1 screen and write down the X and Y positions in the preset spreadsheet of the experiment
  • Close the pulse picker and reinsert the Be CRL

    op.pp.close()
  • Move to the pinhole

    op.pinhole()
  • Tweak the position of the pinhole until it is centered on the cross

    x.hex_y.tweak(0.02)
    x.tgx.tweak(0.02)
  • Save the new pinhole position

    op.pinhole_s()
  • Move back to the yag

    op.yag()
  • Send the VISAR laser with event code 43 and enable the trigger
  • Confirm that the focus of the VISAR provides a sharp and round image on any VISAR cameras (Visar gige 1 and 2)
  • Tweak the focus of the visar position accordingly (50 mic steps is good enough)

    op.visar_z.tweak(0.05)
  • Turn off the VISAR trigger
  • Prepare the system to check the front alignment of the drive lasers

    op.check_front_alignment()
  • Check spatial overlap of the drive beams ABEF and GHIJ successively by centering the scattered signal on the cross of Questar 1 screen

    op.TTL_shutter.Toggle("openABEF")
    op.TTL_shutter.Toggle("closeGHIJ")
    x.lpl_west_x.tweak(0.05)
    x.lpl_west_y.tweak(0.05)
    op.TTL_shutter.Toggle("closeABEF")
    op.TTL_shutter.Toggle("openGHIJ")
    x.lpl_east_x.tweak(0.05)
    x.lpl_east_y.tweak(0.05)
  • Record each positions of the VISAR and drive lenses in the experiment spreadsheet

Initial Temporal overlap between LPL and X-rays

  • go to Ti sample

    op.ti()
  • remove the Be CRL
  • open slit4 to 400 mic

    op.slit4.move(0.4)
  • set full X-ray transmission

    op.SiT(1)
  • open the pulse picker

    op.pp.open()
  • Open the TCC scope

    op.scope_timing_remote()
  • Set the EVR of the scope to 10Hz

    op.lpl_check_timing("10Hz")
  • Set channel 2 to 2 or 5 mV/div
  • Confirm that the X-ray pulse is seen around 60 ns.
  • Average over 100 sweep and save the trace on M2 (from C2)
  • Set the sweep averaging back to 1
  • Close the pulse picker

    op.pp.close()
  • Insert the filter in front of Questar 1

    op.fw(num=1, position=3)
  • Set the laser pulse shape to the timing shape

    op.LPL.psmenu()
    LXX
    op.LPL.psefc10Hz()
  • Send the 10Hz LPL (enable the trigger of the ns slicer) on target at full energy

    op.HWPon('all', set_T=1.0)
  • Set the channel 2 to 10 mV/div
  • Confirm you see a trace on C2
  • Average over 100 sweep and save the trace on M3 (from C2)
  • Set the sweep averaging back to 1
  • Take a screenshot and post it to the elog
  • Set the channel 2 to 1V/div
  • Set the scope to single shot trigger

    op.lpl_check_timing("single")
  • Further fine timing can be done by using a LiF coated window
    • Move to the appropriate target
    • Confirm Be CRL are inserted in the beamline
    • Set the timing of the drive to 0

      op.nstiming.mv(0e-9)
    • Confirm that the streak window have zero offset in the window size requested

    • Take a single refence only shot to observe the change in reflectivity at the arrival time of the X-rays

      op.ref_only(
      	xray_trans=1,
      	xray_num=1,
      	shutters=False,
      	dark=0,
      	daq_end=True,
      	calibrant="",
      	rate=1,
      	visar=True,
      	save=True,
      	slow_cam=False
      )
    • To double check, confirm timing at another step

      op.nstiming.mv(10e-9)
      op.ref_only(
      	xray_trans=1,
      	xray_num=1,
      	shutters=False,
      	dark=0,
      	daq_end=True,
      	calibrant="",
      	rate=1,
      	visar=True,
      	save=True,
      	slow_cam=False
      )
    • Fine tune the timing is the X-ray trace is not where it is expected using the nstiming.mv function accordingly.

Check Spatial overlap between LPL, VISAR and X-rays on target

  • Start by moving to the desired target (refer to the python manual here for details on the arguments)

    op.move_to_target(config="colinear", frame_cfg=[1, "F1", 1, "F2", 1, "F3"], frame=2, target="A2")
  • Continue by checking the alignment of the drive lasers

    • Set the system in a mode where the laser energy is minimum, the filter is removed from questar 1 and the trigger is enabled

      op.check_front_alignment()
    • Confirm you see a scattering signal close to the X-ray cross (342, 561)
    • Move the hexapod X axis to center the beams on the cross and produce a round scattering signal (steps of 50 mic is good)

      x.hex_x.tweak(0.05)
  • Continue by checking the alignment of the VISAR system
    • Adjust the VISAR Z axis to make sure the image is round and sharp (could be set to the value by using the right equation as well). Steps of 50 mic is good.

      x.visar_z.tweak(0.05)
    • Alternatively, move the Z value by exactly the thickness of the ablator + material of interest and add the change in position due to the visar window. To calculate the change use the following command

      op.visar_window_compensation(material="LiF", thickness=400e-6)

Take reference images with VISAR and/or X-rays

  • For 5 references with VISAR and X-rays (at 20% max)

    op.ref_only(
    	xray_trans=0.2,
    	xray_num=5,
    	shutters=False,
    	dark=0,
    	daq_end=True,
    	calibrant="",
    	rate=1,
    	visar=True,
    	save=True,
    	slow_cam=False
    )

Take a driven shot with the LPL

  • For a driven shot at full energy (lpl_ener=1.0), with X-rays arriving 5 ns later (timing=5.0e-9) at full intensity (xray_trans=1) use the following command

    op.optical_shot(
    	shutter_close=[1, 2, 3, 4, 5, 6],
    	lpl_ener=1.0,
    	timing=5.0e-9
    	xray_trans=1,
    	xray_threshold=0.2,
    	save=True,
    	daq_end=True,
    	auto_trig=True,
    	auto_charge=True,
    	visar=True,
    	debug=False,
    	ps_opt=True
    )


  • No labels

5 Comments

  1. We could consider grouping details and using the cloak feature so that this can initially display as a simpler checklist but have an option to expand details. - I've given an example of this for the first two code blocks.

    1. Philip Heimann suggestions valued as someone with fresh eyes.

    2. The cloak feature is definitely something we wanted to use wehn runnign debuging so that you can look at how to fix things without overloading the current procedure. It could definitely be used to make things look less cumbursome.

  2. I've put in all of the cloaks. We can go back to a previous version if we don't like it. Unfortunately there's no way to "show all" or "hide all" with cloak.

    1. Visible can be the default and then an exclusive cloak can be used to hide them all at once. Reload to show all again. This is the best I can do.