INFN homepage
FLUKA: 13.2.23} stupre.f SeT User PRoperties for EMF particles Previous Index Next

13.2.23} stupre.f SeT User PRoperties for EMF particles

          stuprf.f SeT User PRoperties for FLUKA particles
 ---------------------------------------------------------


 These two functions are used to assign a value to one or more stack
 user variables when the corresponding particle is loaded into one of
 the stacks (FLKSTK for hadrons/muons, EMFSTK for electrons/photons,
 OPPHST for optical photons).
 In each of these stacks the user has access to one integer variable,
 one integer array and one double precision array. Each of them is
 copied to a correspondent variable or array in COMMON TRACKR at the
 beginning of transport:

          Correspondence:               FLKSTK  EMFSTK   OPPHST       TRACKR
          --------------                -----   ------   ------       ------
             integer variable:          LOUSE   LOUEMF   LOUOPP  -->  LLOUSE
             integer array:             ISPARK  IESPAK   ISPORK  -->  ISPUSR
             double precision array:    SPAREK  ESPARK   SPAROK  -->  SPAUSR

 The user can access and modify the TRACKR variables via subroutine
 MGDRAW and its entries ENDRAW, SODRAW and especially USDRAW (see
 description above). STUPRF and STUPRE can be used to do the reverse,
 namely to copy TRACKR user variables to those of the relevant stack
 (see USDRAW above).

* STUPRE is called before loading into stack electrons, positrons and photons.
No arguments The default version does nothing (the user variables of the parent particle are already set equal to the original projectile by the various electromagnetic interaction routines. Also the region/position etc. are already set inside the stack arrays.
* STUPRF is called before loading into stack hadrons, muons, neutrinos,
low-energy neutrons, heavy ions and optical photons Argument list: IJ : type of the parent particle MREG : current region XX, YY, ZZ : particle position NPSECN : index in the GENSTK COMMON of the secondary being loaded onto stack NPPRMR : if > 0, the secondary being loaded is actually still the interacting particle (it can happen in some biasing situations) Note that heavy ions in FLUKA carry all the same id-number IJ = -2. The characteristics of primary ions are characterised by option HI-PROPE. To obtain the those of a secondary ion, call the routine USRDCI as follows: CALL USRDCI(IJ,IONA,IONZ,IONM) The three integer values returned are the following ion properties: IONA = mass number of the ion IONZ = atomic number IONM = flag for isomeric state The default version of STUPRF copies to stack the user flags of the parent. If name-based input is being used, the name corresponding to MREG can be obtained via a call to routine GEOR2N: CALL GEOR2N (NUMREG, NAMREG, IERR) where NUMREG (input variable) is the region number, and NAMREG (returned variable) is the corresponding region name (to be declared as CHARACTER*8). IERR is a returned error code: if = 0, the conversion is successful. See example in the description of BXDRAW above.

Previous Index Next