/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * genthr.inc -> genthr.h */ #ifndef __GENTHR__ #define __GENTHR__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== genthr ===========================================================* // //----------------------------------------------------------------------* // * // Copyright (C) 2003-2019: CERN & INFN * // All Rights Reserved. * // * // hadronic interaction GENerator THResholds * // * // Created on 20 April 1995 by Alfredo Ferrari & Paola Sala * // Infn - Milan * // * // dpjhdt = DPmJet HaDron interaction Threshold (kin. en.) * // dpjiot = DPmJet IOn interaction Threshold (kin. en./n) * // qmdiot = rQMD IOn interaction Threshold (kin. en./n) * // qmmiot = QMD-My IOn interaction Threshold (kin. en./n) * // bmeiot = BME IOn interaction Threshold (kin. en./n) * // flkiom = FLuKa IOn interaction Max.Energy(kin. en./n) * // dpqmsm = DPmjet to rQMd threshold smearing (kin. en./n) * // rqmdmy = RQMD to qmd-MY threshold smearing (kin. en./n) * // qmybme = Qmd-MY to BME threshold smearing (kin. en./n) * // rqmbme = RQMD to BME threshold smearing (kin. en./n) * // emnhio = minimum kinetic energy/nucleon for which a ion- * // ion model exists * // emxhio = maximum kinetic energy/nucleon for which a ion- * // ion model exists * // fldpsm = FLuka to DPmjet threshold smearing (hA)(kin. en.) * // emnspi = kinetic energy per nucleon above which ions should* // be split into nucleons if requested * // emxspi = kinetic energy per nucleon under which ions should* // be split into nucleons if requested * // peanct = PEAnut NuCleon interaction Threshold (kin. en.) * // peapit = PEAnut PIon interaction Threshold (kin. en.) * // peakat = PEAnut KAon interaction Threshold (kin. en.) * // peakbt = PEAnut KaonBar interaction Threshold (kin. en.) * // peaant = PEAnut Anti-Nucleon inter. Threshold (kin. en.) * // peahyt = PEAnut HYperon interaction Threshold (kin. en.) * // peaaht = PEAnut Anti-Hyperon inter. Threshold (kin. en.) * // pldnct = Peanut (oLD version) NuCleon interaction Thresh. * // phaswt = switching momentum from h-A resonance model * // to the h-A DPM model for those particles supported* // by the resonance model * // phasmr = smearing +/-DeltaP for switching from the h-A * // resonance model to the h-A DPM model for those * // particles supported by the resonance model * // phnsmr = smearing +/-DeltaP for switching from the h-N * // resonance model to the h-N DPM model for those * // particles supported by the resonance model * // ppcmsx = maximum CMS momentum for pp interactions (used for* // high energy models, typically DPMJET, initializa- * // tion * // pthrsh = momentum threshold for switching from the reso- * // nance to the DPM model for h-h interactions * // pthdff = momentum threshold for diffractive events * // thprq1 = 1st (lower) threshold for rQMD preequilibrium * // thprq2 = 2nd (higher) threshold for rQMD preequilibrium * // ijnucr = flags for particles supported by the resonance * // model * // iqmdfc = rQMD flag for fast cascade mode (1=fast cascade, * // 0=no effect, -1= QMD mode) * // iqmdpr = rQMD flag for preequilibrium (1=yes, 0=no effect, * // -1=no) * // iamspi = minimum A for which ion splitting must be perfor- * // med * // iaxspi = maximum A for which ion splitting must be perfor- * // med * // iflspi = flag for ion splitting * // 0 -> sharp minimum threshold * // 1 -> emnspi used to compute a splitting probabi- * // lity like 1 - exp (- Ek/n / Emnspi) * // 2 -> split at interaction point according to * // cross sections, provided E >= Emnspi * // (not implemented in 2011.x) * // 3 -> split after a (parameterized) number of mean * // free paths * // lhasmr = flag for smearing the transition between the * // h-A resonance model and the h-A DPM model * // lhnsmr = flag for smearing the transition between the * // h-N resonance model and the h-N DPM model * // laasmr = flag for smearing the transition between the * // A-A (r)QMD model and the A-A DPMJET model * // lqqsmr = flag for smearing the transition between the * // A-A (r)QMD model and the A-A my-QMD model * // lqbsmr = flag for smearing the transition between the * // A-A QMDx models and the A-A BME model * // lfdsmr = flag for smearing the transition between the * // h-A FLUKA model and the h-A DPMJET model * // lionsp = flag for splitting ions into individual nucleons * // if the kinetic energy per nucleon is larger then * // EMXSPI or smaller than EMNSPI * // lowdeu = flag for toggling on (default) and off the * // effective model for low-energy (< 150 MeV/n) * // deuteron interactions * // ldpjhp = flag for restricting DPmJet H-A interactions to * // Primary particles only * // lqmdpr = flag for rQMD preequilibrium step * // ldpmex = flag for signalling if Dpmjet is linked rather * // than not * // lrqmex = flag for signalling if rQMD is linked rather * // than not * // * //----------------------------------------------------------------------* // // Maximum energy per nucleon for BME: // Maximum A for which a native Fluka ion interaction model exists // below Flkiom GeV/n: const double EMXBME = ONEMNS*0.15E+00; const int IOFAMX = 9; extern struct { double peanct; double peapit; double peakat; double peakbt; double peaant; double peahyt; double peaaht; double pldnct; double phaswt; double phasmr; double phnsmr; double dpjhdt; double dpjiot; double qmdiot; double dpqmsm; double qmmiot; double rqmdmy; double bmeiot; double qmybme; double rqmbme; double flkiom; double emnhio; double emxhio; double fldpsm; double emxspi; double emnspi; double ppcmsx; double thprq1; double thprq2; double pthrsh[NALLWP]; double pthdff[NALLWP]; int ijnucr[NALLWP]; int iqmdfc; int iqmdpr; int iamspi; int iaxspi; int iflspi; logical laasmr; logical lqqsmr; logical lqbsmr; logical lhasmr; logical lhnsmr; logical lfdsmr; logical lionsp; logical lowdeu; logical ldpjhp; logical lprqmd; logical ldpmex; logical lrqmex; } genthr_; #ifdef __cplusplus } #endif #endif