next up previous contents
Next: SNOMAN Data Up: How XED Works Previous: Program Flow - C++   Contents

Raw Data

XSnoed has it's own suite of routines to handle file access, but most of these are ignored in XSnoman. SNOMAN keeps all the responsibility for handling data.

XSnoed, however, is NOT a program built to use or understand ZEBRA data structures. It can decode a few specific banks, but is NOT built around the SNOMAN data-structure in any way. At it's heart, XSnoed uses only ZDAB data structures, which consist of 11 words of header followed by a list of bit-packed PMT data, 3 words per PMT.

The easiest way to pass this information to XSnoed, then, is simply to hand over the ZDAB bank as it resides in memory. In fact, XED makes a copy of the ZDAB bank. It then rearranges a few bytes of data, depending on the platform (as controlled by the SWAP_BYTES preprocessor symbol), since XSnoed demands platform-native endian values, and SNOMAN uses whatever comes straight off the tape.

The contents of the SNOMAN ZDAB bank are essentially the contents of a PmtEventRecord, the struct that SNO C code uses to read and write ZDAB files.

This procedure means that XED must have the ZDAB bank available. If one is generating monte-carlo events, they must call the PCK processor to ensure that the ZDAB exists before passing control to XED.


next up previous contents
Next: SNOMAN Data Up: How XED Works Previous: Program Flow - C++   Contents
sno Guest Acct 2009-09-09