Page History
Include Page | ||||
---|---|---|---|---|
|
Recommended Next Topics
- pdsdata - pdsdata for C++ Library to XTC
- pypdsdata for Python- Python Library to XTC
Include Page PSDM:Related_Topics_Div_Close PSDM:Related_Topics_Div_Close
Include Page | ||||
---|---|---|---|---|
|
Table of Contents |
---|
Include Page | ||||
---|---|---|---|---|
|
Description of XTC
The original data objects are produced by on-line system and are shipped to offline in XTC format. LCLS 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.
Data types corresponding to various components of XTC are defined in pdsdata
package which is provided by on-line group. This package is a part of all standard PSDM releases. All references to class names refer to the C++ classes defined in this package.
...
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
).
Transitions in XTC data
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.