next up previous contents
Next: MSW Generator Up: Event Generation Previous: Photon Bomb   Contents

User Control

The User controls the generator primarily through 4 MCxx banks banks:-

MCMA
The MAster bank. The bank number is 1. The MCMA controls a number aspects of the Monte Carlo, but the only word concerning event generation is MCTYPE. The MCTYPE (Monte Carlo run type) word gives the bank number of the selected MCPI bank. If the MCTYPE is set to 0, processing of the MCPI is disabled and the user routine MCG_USER (q.v.) is called instead.

MCPI
Is the Particle Information bank, although strictly speaking, what is specified are interactions rather than particles. One or more can be defined and for each the user can sample a number of random distributions of:-

The code is distributed with one MCPI. The User can either control the contents of the default MCPI with SET BANK or symbolic commands or can create his/her own MCPI and alter the MCTYPE word of the MCMA bank to point to it. For a list of all the distribution codes and parameters see:-
Companion/Id Codes/*_types
If the interaction code describes a decay scheme, then the bank number of the MCDS bank is given by the interaction code

MCDS
is the standard Decay Scheme bank. Unless you know what you are doing, it is better to leave these banks alone!

MCPL
These banks contain lists of particle properties (particle types, positions, directions, energies, times, and polarisations where appropriate). When MCTYPE (in the MCMA bank) is set equal to minus the MCPL bank number that bank is read and can be used to define the initial state of the event. This can be used to feed the results of an external MC generator into SNOMAN. For each event generated, a particle block, consisting of one or more particles is written in the MCPL. The number of particles can vary from event to event. To feed the external generator output, unmodified, into SNOMAN use the commands:-

$mc_interaction_type   $pick_particle_list
$mc_position           $pos_mcpl
$mc_direction          $dir_mcpl
$mc_time               $tim_mcpl
$mc_energy             $en_mcpl
$mc_miscellaneous      $misc_mcpl_pol

which tells SNOMAN to take the next particle block and create as many tracks as it contains. Each track is given the ``start particle'' interaction code and all particle properties are drawn from the current particle block. If required, more than one of these processes can be started per event, simply by specifying more than one particle (using the $mc_num_seed_vx command) and using the same distributions for each `particle'. Once all the data in the MCPL has been used the system starts again at the start of the bank.

Its possible to have a hybrid system, taking some properties from MCPL and others from a built-in generator. To do this simply specify the required property, e.g.:-

$mc_energy             $en_mono 2.5

It is even possible to change the interaction type, e.g.:-

$mc_interaction_type   $start$$e_minus$

although this has to be done with caution. First it could result in changing the particle type, which may not be a sensible thing to do. Second, as such an interaction only specifies a single particle, it only uses the first particle of the current particle block. If there is more than one particle in the block the others will not be used and as this is almost certainly going to give a skewed distribution, a ZTELL warning is recorded each time data is ignored in this way.

Feeding in very large amounts of data from an external Monte Carlo can place an excessive demand on the titles memory. To bypass this problem:-

Now when the program runs, the FILE command signals that the MCPL titles bank is just a buffer into which should be loaded one event at a time from the file. The wrapping after the last event now becomes a file rewind. So only a small amount of titles memory is used although this comes at two costs:-


next up previous contents
Next: MSW Generator Up: Event Generation Previous: Photon Bomb   Contents
sno Guest Acct 2009-09-09