/* * Generated automatically by fh2h.pl * !!! DO NOT EDIT !!! * Edit the original fortran header file instead * or fix fh2h.pl if there is a translation bug. */ #ifndef FH2H_NUCLEONFSIHIST_H #define FH2H_NUCLEONFSIHIST_H #ifdef __cplusplus extern "C" { #endif #ifndef IMPLICIT #define IMPLICIT /* Only to point out implicit types */ #endif /*------ fortran header (without commons and data statements) ----------*/ /*-------------------------------------------------------------*/ /**/ /* include file for nucleon fsi history ( nucleonfsihist.h )*/ /**/ /* common block to store nucleon fsi history for writing to output file later*/ /**/ /*-------------------------------------------------------------*/ /* maximum number of vertices*/ #define MAXNUCLEONVERT (200) /* maximum number of steps*/ #define MAXNUCLEONSTEP (2000) /**/ /* NFnvert : number of vertices*/ /**/ /* NFiflag(i) : 4-digit flag for interaction type at i-th vertex, in the form "BNTP":*/ /* N: charge nucleon propagated through nucleus (0 = neutron, 1 = proton)*/ /* T: charge "target" nucleon the interaction is taking place on*/ /* P: scattering process:*/ /* P=0: start tracking of nucleon (i.e. gets "created")*/ /* P=1: elastic scattering*/ /* P=2: single pion production*/ /* P=3: double pion production*/ /* P=4: stop tracking of nucleon (i.e. leaves nucleus)*/ /* B: Pauli blocking flag (0 = not blocked, 1 = interaction was Pauli blocked*/ /* and actually did not take place)*/ /* Examples:*/ /* - 103 means double pion production when a proton scattered on a neutron*/ /* - 1011 means elastic scattering of a neutron on a proton did not take*/ /* place due to Pauli blocking*/ /* For P=0 and P=4, "T" is without meaning and always set to 0.*/ /* NFx(i) : x-component of i-th vertex position inside nucleus*/ /* NFy(i) : y-component of i-th vertex position inside nucleus*/ /* NFz(i) : z-component of i-th vertex position inside nucleus*/ /* NFpx(i) : x-component of momentum of nucleon leaving the i-th vertex*/ /* NFpy(i) : y-component of momentum of nucleon leaving the i-th vertex*/ /* NFpz(i) : z-component of momentum of nucleon leaving the i-th vertex*/ /* NFe(i) : energy of nucleon leaving the i-th vertex*/ /* NFfirststep(i) : first step index of this track (to obtain the CMS energies for each step)*/ /**/ /* NFnstep : number of steps*/ /**/ /* NFecms2(k) : CMS energy squared of collision at k-th step (i.e. before interacting).*/ /* The sign of this value indicates the charge of the target nucleon:*/ /* NFecms2 > 0: proton, NFecms2 < 0: neutron (same as "T" in NFiflag)*/ /* NFptot(k) : total probability at k-th step (for testing only, will be removed)*/ /**/ /* Remarks:*/ /* - a "vertex" is actually better described as a start, end or scattering point of a track*/ /* - at each scattering point, the first nucleon will be followed in the same track, while the*/ /* second one will create a new track*/ /* - each track consists of a series of consecutive vertices. The first vertex has P=0, the*/ /* last P=4. In between may be any number (including 0) vertices where an actual scattering*/ /* took place (P=1,2,3).*/ /* - it is not possible (and not needed) to connect the second track of a scattering vertex*/ /* with the original one. Note that "first" and "second" is purely arbitrary. For nucleon*/ /* FSI uncertainties, only the probabilities of the scattering processes have to be*/ /* calculated, so it is not important to know which tracks belong to each other.*/ /**/ /**/ /*common nucleonfsihist was here*/ /*------ common blocks -------------------------------------------------*/ extern struct nucleonfsihist_common { int nfnvert; int nfiflag[MAXNUCLEONVERT]; float nfx[MAXNUCLEONVERT]; float nfy[MAXNUCLEONVERT]; float nfz[MAXNUCLEONVERT]; float nfpx[MAXNUCLEONVERT]; float nfpy[MAXNUCLEONVERT]; float nfpz[MAXNUCLEONVERT]; float nfe[MAXNUCLEONVERT]; int nffirststep[MAXNUCLEONVERT]; int nfnstep; float nfecms2[MAXNUCLEONSTEP]; float nfptot[MAXNUCLEONSTEP]; } nucleonfsihist_; #ifndef NO_EXTERN_COMMON_POINTERS extern struct nucleonfsihist_common *nucleonfsihist; #endif #ifdef STATIC_COMMON_POINTERS static struct nucleonfsihist_common *nucleonfsihist = &nucleonfsihist_; #endif /*------ data statements -----------------------------------------------*/ #ifndef NO_STATIC_DATA #endif /* #ifndef NO_STATIC_DATA */ /*------ end of fortran header -----------------------------------------*/ #ifdef __cplusplus } #endif #endif /* #ifndef FH2H_NUCLEONFSIHIST_H */