Example of a routine to define and read user steerings for the detector simulation. If MODE = 0, then the routine defines keys for FFREAD, if it is <> 0 then the routine reacts on the values read be FFREAD. So, the calling routine must do something like CALL ZDORD(0,STEER) . . (other key definitions) . . . CALL FFGO CALL ZDORD(1,STEER) . This is what ZXRUIN does. Note that the variables read in by FFREAD must be in a common, even if SGV uses them only in this routine !
MODE : 0 -> routine should define key-words, and default values. <> 0 -> load values of keys read from the steering file to the right common-blocks, do initialisation etc.
STEER : Steering info. The detector simulation uses row 3: STEER(3,0) : Number of detector setups. ,1) : Number of layers to generate hits in. ,2) : 0.0 -> don't create track-parameters (only px,py,py) 1.0 -> generate track-parameters. ,3) : 0.0 -> don't create calorimeters- showers for charged particles. 1.0 -> do create calorimeters- showers for charged particles as well. ,4) : 0.0 -> don't generate brems and photon conversions in the tracking detectors. 1.0 -> do generate brems and photon conversions in the tracking detectors. ,5) : Minimum electron momentum to generate brems ,6) : Minimum photon momentum to generate pair-production ,7) : Lowest fraction pt after to pt before brems to consider the electron before and after as the same particle for the tracking ,17) : Number user-selected partcicle types to send to the analysis. ,18:*) : List of the above as JETSET particle codes In addition STEER(1,0) is an error flag: 0 : no error 1 : error, but go on -2 : error, stop this run All other position of the row are free to use.
From /DSIVAR/ : local variables used for clarity
To /DSIVAR/ : local variables used for clarity, after their values have been set by FFREAD. To /ZXSTE/ NUSSEL, number of user-selected particle speices to propagate to the analysis code; USESVP, list of thos particles.
(To do Tracking package Initialisation.)