Rawdata is typically produced on a VME (Motorola 68K) front-end eventbuilder. Since the byteorder (the sequence of bytes inside a multi-byte integer or floating point value) given by the MC68K differs from byteorder an e.g. ULTRIX, integer rawdata must be ''swapped'', i.e. their byteorder must be reversed. This is an ugly technical problem and for the sake of must not be part of the analysis program.
To achieve this, a simple ''front-end''-program called server
is used. This program can be invoked by YODA at startup, and is passed
as commandline arguments the requested mode of operation (disk, tape,
or host). The server program tries to open the corresponding
datasource, continuously reads from it, ''swaps'' the data into the
proper byteorder and passes the data to YODA via the stdout/pipe
mechanism.
This interface of reading another program's stdout is also suitable for using YODA with a different type of rawdata format. With simple calls to library routines provided by YODA, any data format can be made YODA-readable.
If there is data to be processed which was either produced by a UN*X program in the first place (e.g. a simulation program), or by YODA itself (using YODA as a data filter, see section 7.2), the file can be opened directly.