next up previous contents
Next: Adding a New SU Up: Software Units (SUs) Previous: Software Units (SUs)   Contents

Introduction

SNOMAN software is divided in logical entities called Software Units (SUs) each performing some well defined task. There are 3 types of SU:-

Shell
This is the outer framework of SNOMAN. Its function is to call all processors and initialise any support systems they require.

Processors
These perform some operation on the event data structure e.g. Monte Carlo event generation. The user can independently switch on/off each processor although not all combinations are valid e.g. cannot fit event if have not input and/or generated one.

Support Systems
These provide some general service to one or more processors e.g. Geometry.

The above list reflects the calling hierarchy; each SU can only call SUs of the same type or types lower in the list. Thus the shell can call any SU but support systems can only call other support systems.

Initialisation proceeds as follows in INMAIN. First mandatory SUs are initialised. This must at least include ZEBRA and Management of Titles so that the program can read the user titles files to see what he/she wants to do!. Once the list of selected processors has been extracted from these files the shell initialises them plus any support systems they require. Care is taken to initialise an SU only after any SU on which it depends has been initialised.

The main processing loop is contained in QNEXT and EVMAIN where the processors are called as required.

During termination TMAIN calls SU termination routines in the reverse order to that in which they were initialised.


next up previous contents
Next: Adding a New SU Up: Software Units (SUs) Previous: Software Units (SUs)   Contents
sno Guest Acct 2009-09-09