Re: Properties of the parent particle

From: Giuseppe Battistoni (Giuseppe.Battistoni@mi.infn.it)
Date: Tue Feb 06 2007 - 17:30:49 CET

  • Next message: Mario Santana Leitner: "RE: Photoneutron references"

    Dear Vadim
    I try to give an answer which might be useful for many other users.

    in order to record the properties of the parent particles
    you should make use of the stuprf.f user routine.
    This routine is called soon after interaction, decays etc.

    There you can select the case of decaying particles by asking for the
    TRUE value of the logical variable LDECAY (LINEVT for inelastic
    interactions, see common (EVTFLG))

    After that you can use some of the variables of the TRACKR common
    that are left for the user to flag particles. For instance you can fill
    the integer variable ISPUSR (a vector with 11 possible values)

    Inside stuprf.f this is done filling the ISPARK (n, NPLFKA) where n
    goes from 1 to 11. Then the content of this will be propagated to
    all further secondaries and generations.
    Here is an example useful for you, where I store the ID of the decaying
    particle:

    ....
          DO 200 ISPR = 1, MKBMX2
             ISPARK (ISPR,NPFLKA) = ISPUSR (ISPR)
      200 CONTINUE

    * Stores inside Ispark(1) the ID of the decaying parent particle
          IF (LDECAY) THEN
             ISPARK (1,NPLFKA) = IJ
          ENDIF
    ....

    Now this is only the first half of the work.
    In order to select your photons at a boundary crossing, you have to
    recall that flag.

    Let us suppost that you are using USRBDX.
    By means of the USERWEIG command you can invoke the call the fluscw.f
    routine. There you intercept variable before filling your estimator.

    You have to include (TRACKR) in your fluscw.f, then you can implement
    a logic such that, whenever you have photons or, better, when you are
    selecting the proper binning with ISCRNG = 1 and sequential number
    JSCRNG (a USRBDX in which you will ask just for photons), then you will
    check also for the photon parent to be a pi0:

    ...
        IF ( ISPUSR(1) .EQ. 23 ) THEN

    then only in that case you will leave
            FLUSCW = ONEONE
            LSCZER = .FALSE.

    Otherwise (photons not coming from pi0) you set
        ELSE
            LSCZER = .TRUE.
        ENDIF

    In the ELSE case, the photons will not be recorded in your USRBDX

    Please study carefully the manual about fluscw.f, USERWEIG etc
    to understand completely its use.

            Giuseppe Battistoni

    On Tue, 6 Feb 2007, Vadim Talanov wrote:

    > Dear FLUKA experts,
    >
    > I would like to record at some boundary crossing the photons which come from the
    > pizero decays. In order to distinguish these photons from all others, which
    > variables from the FLUKA common blocks can be used for parent particle ID and
    > energy during particle transport stage (I presume that there might be several ways
    > to do the selection but I'd like to get parent particle ID and energy anyway)?
    >
    > Kind regards, Vadim
    >


  • Next message: Mario Santana Leitner: "RE: Photoneutron references"

    This archive was generated by hypermail 2.1.6 : Tue Feb 06 2007 - 17:39:40 CET