Versions Compared

Key

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

...

May need to ask Martin Ellguth to compile for 13.1.0 (our latest conda compiler) but we'll see if the previous v12 still works for us.  If we had the udp-packet format then in principle we would not need the SC libraries (euXFEL reused the libraries)

Other things the SC library does:

  • provides parameters for calibration (sent over "dedicated ethernet" connection): these are applied on a per-event basis (maybe done on the fpga?).
  • stuff to avoid: projections (we will do it ourselves)
  • an API to receive the raw data
  • capacity of link doesn't support the full timestamping: the SC software adds the full timestamp

Configuration of detector:

  • via .ini file that is passed to SC software and sent over dedicated-ethernet link, which then configures the FPGA.
    • users don't touch .ini file, usually.  sometimes if things look weird then have to tweak (1) triggering "window" (when an electron is accepted) (2) timing "offset": a.k.a. start time (3) compensation for different cable lengths in the detector 
  • the timing system configuration is done via the service port (e.g. readout-group).  service port uses DHCP.

SC FPGA code is proprietary (rightmost in above diagram).  Leftmost FPGA is mostly open source (standard Xilinx): communication through service port is not open to the world.

80MB/s implies can all be done with 1 node.

Simulator can be configured over a USB port: e.g. maximum number of electrons per event (usually 0.1, but can turn it up).  With real data typically have 1 or 2 electrons per shot.

Start with the GUI first, then switch to API as a second step.