Page History
- pdsdata for C++
- pypdsdata for Python
Description of XTC
Here is the brief description of the XTC file format produced by the LUSI on-line. LUSI XTC format inherited its main features from PSDM:BaBar XTC format.
...
There are several convenience classes for reading and examining the content of the XTC files. XtcFileIterator
is an iterator class for reading the sequence of datagrams from the XTC files. XtcIterator
is an abstract base class for iteration over the content of the single Xtc
object. O2OTranslator
package has a specific implementation of this iterator called O2OXtcIterator
(and friend class O2OXtcScannerI
).
Online data formats
The original data objects are produced by on-line system and are shipped to offline in XTC format. Every object in XTC is a part of the specific "transition" and interpretation of the object contents is done in the context of that particular transition. These types of the transitions are defined now:
Map
andUnmap
– allocation/deallocation of the resourcesConfigure
andUnconfigure
– configuration of the systemBeginRun
andEndRun
– happen at begin and end of runBeginCalibCycle
andEndCalibCycle
– happen at begin and end of calibration cycle, many experiments have only one calibration cycle but there are experiments that use multiple cycles.Pause
andResume
Enable
andDisable
L1Accept
– correspond to a single trigger or shot
The transitions in XTC file correspond to the transition in the Dataflow system and they are nested. Particularly Configure/Unconfigure transitions are nested inside Map/Unmap, BeginRun/EndRun are nested inside Configure/Unconfigure, BeginCalibCycle/EndCalibCycle are nested inside BeginRun/EndRun, and Pause/Resume and L1Accept are nested inside BeginCalibCycle/EndCalibCycle. There could be multiple nested transitions inside a single upper-level transition, this is certainly true for L1Accept transitions, but also can be the case for BeginCalibCycle/EndCalibCycle, BeginRun/EndRun, and Configure/Unconfigure too.