S800/Gretina Cookbook.
 
 Most important:  The Gretina run control and 'toys' cn only be run from either
 ddasdaq2.nscl.msu.edu or ddasdaq3.nscl.msu.edu  These two systems are the only
 NSCLDAQ systems that are on both the NSCL DAQ network and the GRETINA
 internal network.
 
 1. Where things live:
 
 Gretina support software is installed in /usr/opt/gretina in a directory of the
 form m.n-eee where m,n and e are decimal digits:
 
 m - The major version: 2,  begining Sep 2015
 n - A minor version, currently 0
 eee - and 'edit level' which indicates some minor fixups were performed.
       The current value for eee is 004.
 
 In the cookbook recipes below, the directory in which gretina software is
 installed (e.g. /usr/opt/gretina/2.0-004) will be called $GRTOP
       
 2. Setting up environment variables:
 
 A script $GRTOP/bin/gretinaSetup  defines several environment variables.
 Incorporate those into your shell by:
 
 . $GRTOP/bin/gretinaSetup
 
 (e.g. . /usr/opt/gretina/2.0-004/bin/gretinaSetup)
 
 This script will also source the environment setup script for the version of
 NSCLDAQ with with which the gretina software is associated.
 
 All future recipes assume that this script has been sourced.
 
 3. Using the ReadoutGUI:
 
 3.1  The ReadoutCallouts.tcl script.
     
 Here is a miniml ReadoutCallouts.tcl script for Gretina:
 Comments have been added to describe what is happening at each step:
 
 
 #------------------- Begin ReadoutCallouts.tcl ---------------------------
 
 ##
 #  This section of the script adds the GRETINA and NSCLDAQ Tcl libraries to the
 #  Tcl package load path.  Key points:
 #  -  VERSION is the version of the GRETINA software you are using.  This
 #      needs to be changed if the GRETINA software version changes.
 #
 
 set daqroot $::env(DAQROOT)
 lappend auto_path [file join $daqroot TclLibs]
 set  TOP /usr/opt
 set VERSION 2.0-004
 lappend auto_path [file join $TOP gretina $VERSION TclLibs]
 
 
 ##
 #  Sets the window title for the GRETINA run control
 #
 wm title . "S800/Gretina Run control"
 
 ##
 #   Loads the code associated with the GRETINA/s800 merged readout
 #
 
 package require mergedCallouts
 
 ##
 #  Loads a package that adds support to record data from 'upstream' ring buffers
 #  in the S800 system.  This creates a new menu entry in the Readout GUI
 #
 package require multilogger
 
 # Set the hosts for stuff:
 
 
 ##
 #  The S800 software runs in this system.  Specifically:
 #  - The S800 ReadoutGUI runs in this system.
 #  - The S800 dataflow ring buffers are in this system.
 #  
 set s800host spdaq19
 set S800ToGretina::S800Host $s800host
 
 ##
 #  The IMPSYNC button forces GRETINA to perform an imperative sychronization
 #  of the clock.  In the normal GRETINA + S800 runs this is done automatically
 #  when the run begins.  In the 'infinity clock' mode, when DDAS systems are
 #  added, this is done manually.  Set the variable below to 0 to enable
 #  manual imperative synchronization when the run is active.  Otherwise 
 #
 set disableImpSyncButton 1
 
 
 ##
 #  Intializes the GRETINA extensions to the ReadoutGUI.  This also adds the
 #  GRETINA specific bits of the user interface.
 #
 mergedCallouts::Initialize
 
 ##
 #  Begin run actions:
 #
 proc OnBegin runNumber {
 
  ##
  #  With GRETINA, all data recording is perfromed on GRETINA
  #  This ensures that when the run begins, recording is turned off on the
  #  S800 data.
  #
  ::ReadoutGUIPanel::recordOff
 
  ##
  #  Starts GRETINA
  #
  ::mergedCallouts::OnBegin
  ##
  #  Ensures that the .impsync button is ghosted during the run if requested
  #
  if {$::disableImpSyncButton} {
      .impsync configure -state disabled
  }
 
 }
 ##
 #  End run actions (called after the s800 has been asked to stop)
 #
 proc OnEnd runNumber {
  ##
  #  Asks GRETINA to end its run.
  #
  ::mergedCallouts::OnEnd
  ##
  #  If the IMPSYNC button was disabled during the run, re-enables it
  #
  if {$::disableImpSyncButton} {
      .impsync configure -state normal
  }
  ##
  #  Performs the end run file movement normally done when event recording
  #  is active.
  #
  set ::EventLog::needFinalization 1
  ::EventLog::_finalizeRun
 
 }
 #-------------------- End ReadoutCallouts.tcl ---------------------
 
 
 3.2 Using the GUI:
 
 Once your ReadoutCallouts.tcl is installed:
 
 - Ensure the S800 Readout GUI is running in spdaq19.
 - Start the GUI with
 
 $DAQBIN/ReadoutShell
 
 
 - Click the 'Start' Button.  This takes control of the S800 system.
 - Once the S800 has been put in remote control, you can start/stop
   runs as you would normally do.
   
 4.  The Big LED.
 
 This is an application that displays the GRETINA global alarm state as
 either a big Green (no alarm) or big Red (alarm) circle or 'led'
 
 
 To run it:
 
 $GRTOP/bin/bigled [size-in-pixels]
 
 The optional size-in-pixels parameter controls the size of the led.
 If omitted a 'reasonable' default size is used.
 
 5. GRETINA Emergency stop button. 
 
 If the s800 readout or GUI fail, or for some reason the GRETINA GUI becomes
 unresponsive, it may be necessary to stop the GRETINA.
 
 $GRTOP/bin/emstop
 
 Displays the current global GRETINA state and provides a button
 that allows you to request GRETINA to end its run.
 
 

QR Code
QR Code daq:docss800grt (generated for current page)