/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * atnubm.inc -> atnubm.h */ #ifndef __ATNUBM__ #define __ATNUBM__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== atnubm ===========================================================* // //----------------------------------------------------------------------* // * // Copyright (C) 2003-2019: CERN & INFN * // All Rights Reserved. * // * // ATmospheric NeUtrino Buffer for Mirrors neutrinos: * // * // Created on 29 May 1996 by Alfredo Ferrari & Paola Sala * // Infn - Milan * // * // Description of variables: * // * // Idatnm = neutrino id (Paprop numbering) * // Lgatnm = neutrino generation * // Enatnm = neutrino energy (GeV) * // Diatnm = neutrino production height or distance (cm) * // Thatnm = neutrino direction polar (theta) angle (rad) * // Phatnm = neutrino direction azimuthal (phi) angle (rad) * // Wtatnm = neutrino weight (such to be automatically norm- * // alized to fluence per unit time and area) * // Ipatnm = parent cosmic ray id (Z + 100 x A) * // Ictfnm = i1 + j1 x 3 + i2 x 9 + j2 x 27 + i3 x 81 + j3 x 243* // + i4 x 729 + j4 x 2187 + i5 x 6561 + j5 x 19683 * // ik = cutoff flag for the k_th location, direct nu * // jk = cutoff flag for the k_th location, mirror nu * // = 0 <-> not yet checked * // = 1 <-> neutrino not cutoffed * // = 2 <-> neutrino cutoffed * // Ifatnm = "father" hadron/muon Fluka id * // Igatnm = "grandfather" hadron Fluka id * // Pmatnm = parent cosmic ray momentum (GeV/c/amu) * // Pfatnm = "father" hadron/muon momentum (GeV/c) * // Pgatnm = "grandfather" hadron momentum (GeV/c) * // Xpatnm = parent cosmic ray 1st interaction x coord. (cm) * // Ypatnm = parent cosmic ray 1st interaction y coord. (cm) * // Zpatnm = parent cosmic ray 1st interaction z coord. (cm) * // Tpatnm = parent cosmic ray direction polar angle (rad) * // Ppatnm = parent cosmic ray direction azimuthal angle (rad) * // Ncatnm = current pointer in the buffer * // * // ALL VARIABLES ARE MEANT IN THE FRAME WHERE THE NEUTRINO POSITION * // IS ALONG (0,0,1), THAT IS Z IS THE LOCAL ZENITH AXIS, X IS POIN- * // TING NORTH, AND Y IS POINTING WEST * // * //----------------------------------------------------------------------* // const int MXATNM = MXATNU; extern struct { double enatnm[MXATNM]; double diatnm[MXATNM]; double thatnm[MXATNM]; double phatnm[MXATNM]; double wtatnm[MXATNM]; double pmatnm[MXATNM]; double pfatnm[MXATNM]; double pgatnm[MXATNM]; double xpatnm[MXATNM]; double ypatnm[MXATNM]; double zpatnm[MXATNM]; double tpatnm[MXATNM]; double ppatnm[MXATNM]; int idatnm[MXATNM]; int lgatnm[MXATNM]; int ipatnm[MXATNM]; int ifatnm[MXATNM]; int igatnm[MXATNM]; int ictfnm[MXATNM]; int ncatnm; } atnubm_; #ifdef __cplusplus } #endif #endif