Python API: sam v8_1_5
sam.declareEvents()

Just having some fun...
This is the python interface to the command 'sam declare events'.
Command Description:

Declare the events within a raw data file.

The command line interface only allows the declaration of ONE
event at a time, and is not particularly useful.

The python API may be called to declare the entire event list:
   from SamStruct.RawEventInfoList import RawEventInfoList

   myEventList = RawEventInfoList()
   for ev in <your event list>:
     myEventList.append(ev.ev_num, ev.lum_block,
                        hex(ev.level1), hex(ev.level2), hex(ev.level3))

   from Sam import sam
   sam.declareEvents(runType='physics data taking',
                     runNumber=12345,
                     fileName='raw_file_name_here',
                     eventList=myEventList)


Python Usage:
	from Sam import sam
	result = sam.declareEvents(...)

Return value: 

Arguments are passed as keyword-value pairs, as in:
	 myfunc(arg1='myarg', arg2='anotherarg', d=1)

Argument Keyword Description:
	(*) indicates that this keyword is required
	>>> indicates that either the API object or the CLI equivalent (<<<) is required
====================================================================================================================================
    KEYWORD                    DATA TYPE            DESCRIPTION
------------------------------------------------------------------------------------------------------------------------------------
    c                          SamBoolean           automatically close all servants after each method call
    corbaCallTimeout           int                  time in seconds for CORBA method calls to return before timing out (default: 0; zero implies no timeout)
    d                          SamBoolean           debug mode
    eventList                  RawEventInfoList     list of events contained within this file
    eventNumber                long                 the event number to be declared
    fileId                     long                 fileId of the file containing the events
    fileName                   string               file name containing the events
    level1                     string               level1 value
    level2                     string               level2 value
    level3                     string               level3 value
    lumBlock                   long                 the lumblock associated with this event number
    retryInterval              int                  retry interval base in seconds; will multiply this base times retryCount (default: 5)
    retryJitter                int                  retry jitter, random jitter added to base retry interval times retryCount (default: 5)
    retryMaxCount              int                  number of times to retry CORBA calls for retriable exceptions (default: 25; zero implies no retries)
    runId                      long                 the DB-assigned ID number of the run containing this runNumber/runType
    runNumber                  long                 the run number associated with this run
    runType                    string               the run type associated with this run
    s                          SamBoolean           retrySilently mode (do not issue messages to stderr on proxy retries)
    t                          SamBoolean           time-it mode (print additional info on timings)
    v                          SamBoolean           verbose mode
====================================================================================================================================

Python API-only Keywords:
	'eventList': replaces (eventNumber, lumBlock, level1, level2, level3)

Must have at least one of:	
	(fileName, fileId) 
	
	(runNumber, runId) 

Incompatible keyword combinations:	
	(runType, runNumber) OR (runId) 

Environment Defaults:
	c = os.environ['SAM_PYAPI_AUTO_CLOSE_SERVANTS']
	corbaCallTimeout = os.environ['SAM_PYAPI_CORBA_CALL_TIMEOUT']
	retryInterval = os.environ['SAM_PYAPI_RETRY_INTERVAL']
	retryJitter = os.environ['SAM_PYAPI_RETRY_JITTER']
	retryMaxCount = os.environ['SAM_PYAPI_RETRY_MAX_COUNT']
	s = os.environ['SAM_PYAPI_RETRY_SILENTLY']



See Also: