next up previous contents
Next: How to tell DASH Up: How to write a Previous: How to write a

What to put in each entrypoint

INIT The init entrypoint is called once, just after the program begins executing. This entrypoint is intended as a grand-initialization for your module. Because this entrypoint is called for every linked module, you should consider carefully if you need to do any initialization here at all. This is because the user may choose not to include your module in the analysis path; so if you try to open some file that is not there, then you will cause an error that may obstruct the user. I suggest you test for such initialization elsewhere, such as the event entrypoint, with IF (.NOT. INIT) THEN....

BEGINRUN The beginrun entrypoint is called whenever a beginrun record is read. If there are no beginrun records in the data, DASH will call beginrun whenever the run number changes.

EVENT The event entrypoint is where most of your analysis will probably occur. It is called whenever an event record is read.

ENDRUN The endrun entrypoint is called whenever an endrun record is read. In the case where there are no endrun records, there are two subtleties to discuss. DASH will call endrun whenever the run number changes, but before the beginrun entrypoint, so you can accumulate statistics or something similar. However, the current event in memory will be the first event of the new run. Therefore, if you want to record the time of the last event, you should do it in the event entrypoint and use the stored value in the endrun entrypoint. There is also the issue of what to do with the last event of the last file (no new run number will happen to trigger endrun). See the command DASH/SET/EOF_ENDRUN for details.

BOOK The book entrypoint is called when you issue the DASH command BOOK. See the command reference 8 for more details and some useful features to help you organize your histograms. See also the DASH HIST commands for helpful utilities.

TALK The talk entrypoint is used to communicate with your module from the command line interface. It is called when you issue the DASH command TALK <module> <command>. You should write the code in the talk module so that it interprets <command> using KUIP: see the example modules to see how.

FINISH The finish entrypoint is called for all linked modules when the program ends. The comments under INIT apply here too.

OPEN This entrypoint is only present in read-modules and write-modules. It is called when the INPUT or OUTPUT command is given. See a well commented read/write module for more detail.

CLOSE This entrypoint is only present for read-modules and write-modules. It is called when appropriate, for example when the read-module hits an end-of-file.


next up previous contents
Next: How to tell DASH Up: How to write a Previous: How to write a

ETK