The main idea behind treating event data is to be data driven. The first thing to do on every event is to look which banks are present. The main routines fill the bank pointers in the AnalRecord if a bank of that name is found, otherwise they are NULL pointers.
Another important value is the readout mode ( AnalRecord.RunParams.SiMode): different data modes require different monitoring.
The ``generic case'' will be having the SIFE bank and Hits&Cluster data. One can then work out information about the data length and the ``branch'' (CST, BST, or even VLQ) and then loop over the data blocks in the bank. For information about the data formats see [Kau97].