/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * ndnicm.inc -> ndnicm.h */ #ifndef __NDNICM__ #define __NDNICM__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== ndnicm ===========================================================* // //----------------------------------------------------------------------* // * // Copyright (C) 2003-2019: CERN & INFN * // All Rights Reserved. * // * // Nucleon Decay and Neutrino Interaction CoMmon: * // * // Created on 12 January 1996 by Alfredo Ferrari & Paola Sala * // Infn - Milan * // * // Ndnitr = target nucleon id. or decaying nucleon id * // Nuproj = (anti)neutrino projectile * // (-)1=(anti)nue * // (-)2=(anti)numu * // (-)3=(anti)nutau * // 0=nucleon decay * // Nuclid = neutrino interaction kind * // -1 = tape or external generator * // 0 = as set otherwise (Nuinfo) * // > 0 = Iqe + Ires x 10 + Idis x 100 * // Iqe: * // 0 = no QE NC and CC * // 1 = QE NC * // 2 = QE CC * // 3 = QE NC and CC * // Ires: * // 0 = no RES NC and CC * // 1 = RES NC * // 2 = RES CC * // 3 = RES NC and CC * // Idis: * // 0 = no DIS NC and CC * // 1 = DIS NC * // 2 = DIS CC * // 3 = DIS NC and CC * // Ncdcsc = nucleon decay secondary number or neutrino * // interaction from tape secondary number * // Kncdcs(i) = nucleon decay / neutrino interaction secondary * // id. (Part numbering) * // Irndni(i) = possible mother resonance id * // Etndni(i) = total energy of i_th secondary (i>=1), * // total energy of primary neutrino (i=0) * // Amndni(i) = mass of i_th secondary (i>=1), * // mass of primary neutrino (i=0) * // Pxndni(i) = x momentum of i_th secondary (i>=1), * // x momentum of primary neutrino (i=0) * // Pyndni(i) = y momentum of i_th secondary (i>=1), * // y momentum of primary neutrino (i=0) * // Pzndni(i) = z momentum of i_th secondary (i>=1), * // z momentum of primary neutrino (i=0) * // Po0lpt,Pollpt(j) = Polarization 4-vector for the outcoming lepton * // in the frame where the incident neutrino is along * // the positive z axis * // Polprl = Polarization component along the particle direc- * // tion in the final frame * // Nnitdc = number of decay products for a (possible) prere- * // corded tau decay * // Knitdc(i) = tau decay products id. (Part numbering) * // Etnitd(i) = total energy in the particle cms (particle flying * // along +z) of j_th decay product of a possible * // prerecorded tau decay * // Pxnitd(i) = x momentum in the particle cms (particle flying * // along +z) of j_th decay product of a possible * // prerecorded tau decay * // Pynitd(i) = y momentum in the particle cms (particle flying * // along +z) of j_th decay product of a possible * // prerecorded tau decay * // Pznitd(i) = z momentum in the particle cms (particle flying * // along +z) of j_th decay product of a possible * // prerecorded tau decay * // Lnitdc = flag for a (possible) prerecorded tau decay * // Lnditp = flag for a (possible) tape recorded or external * // event generator * // Lndixg = flag for a (possible) external event generator * // (Lnditp=.true. ,Lndixg=.false. -> tape event, * // Lnditp=.true. ,Lndixg=.true. -> ext. generator, * // Lnditp=.false.,Lndixg=.false. -> int. generator) * // Jntpcl = event selected for the current collision from a * // possibile neutrino interaction tape * // * //----------------------------------------------------------------------* // const int MXNDNI = 100; // const int MXNITD = 10; extern struct { double etndni[MXNDNI+1]; double amndni[MXNDNI+1]; double pxndni[MXNDNI+1]; double pyndni[MXNDNI+1]; double pzndni[MXNDNI+1]; double etnitd[MXNITD]; double pxnitd[MXNITD]; double pynitd[MXNITD]; double pznitd[MXNITD]; double pollpt[3]; double po0lpt; double polprl; int ndnitr; int nuproj; int nuclid; int ncdcsc; int nnitdc; int kncdcs[MXNDNI+1]; int irndni[MXNDNI]; int knitdc[MXNITD]; logical lnitdc; logical lnditp; logical lndixg; int jntpcl; } ndnicm_; const int ndnicm_etndni_base = 0; const int ndnicm_amndni_base = 0; const int ndnicm_pxndni_base = 0; const int ndnicm_pyndni_base = 0; const int ndnicm_pzndni_base = 0; const int ndnicm_kncdcs_base = 0; #ifdef __cplusplus } #endif #endif