next up previous contents
Next: Initialisation Up: Program Overview Previous: Program Overview   Contents

Introduction: The Processor Model

A design priority for the SNOMAN code was that all routines should be as modular as possible so as to simplify distributed development. This goal is far easier to state than to implement in actual code, readers can judge for themselves to what extent we have succeeded. The key feature of this design is that of a central data structure and a set of independent processors that take their inputs from it and add their outputs to it. In this way processors are decoupled from one another; they only interface to the central data structure. It keeps the control flow i.e. what to do next, well separated from the data flow i.e. how to process the data. The design of the central data structure has to be carefully thought out to ensure that it can adequately record all the information needed to answer any analysis question. However the benefits of this effort are great; changing existing processors and adding new ones becomes far less complex and it is even possible to think of the processors as a set of independent tools that can be selected and assembled in a number of different ways. So then SNOMAN becomes just one example program and others could be built for specfic calibration and analysis tasks.

While reading the following sections one should note that the functional relationships of all SNOMAN routines and banks are laid out in :-

Companion/Software Structure
Companion/Event Data Structure


next up previous contents
Next: Initialisation Up: Program Overview Previous: Program Overview   Contents
sno Guest Acct 2009-09-09