/* * 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_APSCNDRY_H #define FH2H_APSCNDRY_H #ifdef __cplusplus extern "C" { #endif #ifndef IMPLICIT #define IMPLICIT /* Only to point out implicit types */ #endif /*------ fortran header (without commons and data statements) ----------*/ /*--*/ /* secondary particle informations*/ /* */ /* nscndprt : Number of secondary particles*/ /* itrkscnd : Parent track number (GEANT) of the secondary particle*/ /* istakscnd: Parent stack track number (GEANT) of the secondary particle*/ /* vtxscnd : Vertex of the generated point*/ /* pscnd : Momentum of the secondary particle*/ /* iprtscnd : Particle code of the secondary particle*/ /* tscnd : Generated time of the secondary particle*/ /* iprntprt : Parent particle code of the secondary particle*/ /* lmecscnd : Interaction code that produced the secondary particle*/ /* iprnttrk : Parent track number (MCVECT) of the secondary particle*/ /* iorgprt : Parent track PID code(MCVECT) of the secondary particle*/ /* iprntidx : Array index (Fortran) of this secondary particle\'s parent*/ /* Negative: Index corresponding to MCVECT (NEUT) stack*/ /* Positive: Index corresponding to this stack*/ /* 0: Unmatched (E.g. muon or hadron > 10 GeV/c)*/ /* nchilds : Number of daughter particles (NGKINE in GEANT)*/ /* ichildidx: Array index (Fortran) in this stack of this secondary particle\'s first child*/ /* 0: No matched children*/ /* pprnt : Momentum of the parent particle at interaction*/ /* pprntinit: Initial momentum of the parent particle at birth*/ /* vtxprnt : Vertex of the parent particle at birth*/ /* iflgscnd : User interaction code for better classification than lmecscnd*/ /* Currently for pions only, following convention which is */ /* hybrid of NEUT VCWORK and FSIHIST:*/ /* (*100 for SKDETSIM non-NEFFECT interactions e.g. elastic SGPIEL;*/ /* +0 Free Hydrogen, +1 Oxygen)*/ /* -1 : ESCAPE*/ /* 0 : INITIAL (or unmatched parent vertex if I>1)*/ /* 1 :*/ /* 2 : */ /* 3 : ABSORPTION*/ /* 4 : CHARGE EXCHANGE*/ /* 5 : */ /* 6 : */ /* 7 : HADRON PRODUCTION */ /* 8 : QUASI-ELASTIC SCATTER*/ /* 9 : FORWARD (ELASTIC-LIKE) SCATTER*/ /**/ /*--*/ /* Linking input particle stack (MCVECT) to this stack*/ /* */ /* nchildsvc : Number of daughter particles (NGKINE in GEANT)*/ /* ichildidxvc: Array index (Fortran) in this stack of this MCVECT particle\'s first child*/ /* 0: No matched children*/ /**/ /* 1998/03/16 Y.Hayato*/ /* 2012/01/19 P.de Perio - Add user interaction flag and momentum of parent */ /* 2013/02/03 P.de Perio - Add more detailed parent information and direct parent*/ /* and child indices*/ /*--*/ #ifndef SECMAXRNG #define SECMAXRNG (4000) //#define SECMAXRNG #endif /*common secndprt was here*/ /*common warning_scndprt was here*/ /* Corresponds to size in vcwork.h (MAXVC)*/ /*common secndprtvc was here*/ /*------ common blocks -------------------------------------------------*/ extern struct secndprt_common { int nscndprt; int itrkscnd[SECMAXRNG]; int istakscnd[SECMAXRNG]; float vtxscnd[SECMAXRNG][3]; float pscnd[SECMAXRNG][3]; int iprtscnd[SECMAXRNG]; float tscnd[SECMAXRNG]; int iprntprt[SECMAXRNG]; int lmecscnd[SECMAXRNG]; int iprnttrk[SECMAXRNG]; int iorgprt[SECMAXRNG]; float pprnt[SECMAXRNG][3]; float pprntinit[SECMAXRNG][3]; float vtxprnt[SECMAXRNG][3]; int iflgscnd[SECMAXRNG]; int iflgscnd_temp; int iprntidx[SECMAXRNG]; int nchilds[SECMAXRNG]; int ichildidx[SECMAXRNG]; } secndprt_; #ifndef NO_EXTERN_COMMON_POINTERS extern struct secndprt_common *secndprt; #endif #ifdef STATIC_COMMON_POINTERS static struct secndprt_common *secndprt = &secndprt_; #endif extern struct warning_scndprt_common { int flag_warning_scndprt; } warning_scndprt_; #ifndef NO_EXTERN_COMMON_POINTERS extern struct warning_scndprt_common *warning_scndprt; #endif #ifdef STATIC_COMMON_POINTERS static struct warning_scndprt_common *warning_scndprt = &warning_scndprt_; #endif extern struct secndprtvc_common { int npvcscnd; int nchildsvc[100]; int ichildidxvc[100]; } secndprtvc_; #ifndef NO_EXTERN_COMMON_POINTERS extern struct secndprtvc_common *secndprtvc; #endif #ifdef STATIC_COMMON_POINTERS static struct secndprtvc_common *secndprtvc = &secndprtvc_; #endif /*------ data statements -----------------------------------------------*/ #ifndef NO_STATIC_DATA #endif /* #ifndef NO_STATIC_DATA */ /*------ end of fortran header -----------------------------------------*/ #ifdef __cplusplus } #endif #endif /* #ifndef FH2H_APSCNDRY_H */