/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * atnubf.inc -> atnubf.h */ #ifndef __ATNUBF__ #define __ATNUBF__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== atnubf ===========================================================* // //----------------------------------------------------------------------* // * // Copyright (C) 2003-2019: CERN & INFN * // All Rights Reserved. * // * // ATmospheric NeUtrino BuFfer: * // * // Created on 29 May 1996 by Alfredo Ferrari & Paola Sala * // Infn - Milan * // * // Description of variables: * // * // Idatnu = neutrino id (Paprop numbering) * // Lgatnu = neutrino generation * // Enatnu = neutrino energy (GeV) * // Diatnu = neutrino production height or distance (cm) * // Thatnu = neutrino direction polar (theta) angle (rad) * // Phatnu = neutrino direction azimuthal (phi) angle (rad) * // Wtatnu = neutrino weight (such to be automatically norm- * // alized to fluence per unit time and area) * // Ipatnu = parent cosmic ray id (Z + 100 x A) * // Ifatnu = "father" hadron/muon Fluka id * // Igatnu = "grandfather" hadron Fluka id * // Ictfnu = 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 * // Pmatnu = parent cosmic ray momentum (GeV/c/amu) * // Pfatnu = "father" hadron/muon momentum (GeV/c) * // Pgatnu = "grandfather" hadron momentum (GeV/c) * // Xpatnu = parent cosmic ray 1st interaction x coord. (cm) * // Ypatnu = parent cosmic ray 1st interaction y coord. (cm) * // Zpatnu = parent cosmic ray 1st interaction z coord. (cm) * // Tpatnu = parent cosmic ray direction polar angle (rad) * // Ppatnu = parent cosmic ray direction azimuthal angle (rad) * // Wpatnu = accumulated primary weight at the previous buffer * // flush * // Npatnu = accumulated primary number at the previous buffer * // flush * // Ncatnu = current pointer in the buffer * // Lbatnu = logical flag for atmospheric neutrino buffering * // Lunatn = logical unit for the atmospheric neutrino file * // * // 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 MXATNU = 2000; // extern struct { double enatnu[MXATNU]; double diatnu[MXATNU]; double thatnu[MXATNU]; double phatnu[MXATNU]; double wtatnu[MXATNU]; double pmatnu[MXATNU]; double pfatnu[MXATNU]; double pgatnu[MXATNU]; double xpatnu[MXATNU]; double ypatnu[MXATNU]; double zpatnu[MXATNU]; double tpatnu[MXATNU]; double ppatnu[MXATNU]; double wpatnu; int idatnu[MXATNU]; int lgatnu[MXATNU]; int ipatnu[MXATNU]; int ifatnu[MXATNU]; int igatnu[MXATNU]; int ictfnu[MXATNU]; int npatnu; int ncatnu; logical lbatnu; int lunatn; } atnubf_; #ifdef __cplusplus } #endif #endif