GBGLRSAtmoFlux.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::flux::GBGLRSAtmoFlux
5 
6 \brief A flux driver for the Bartol Atmospheric Neutrino Flux
7 
8 \ref G. Barr, T.K. Gaisser, P. Lipari, S. Robbins and T. Stanev,
9  astro-ph/0403630
10 
11  To be able to use this flux driver you will need to download the
12  flux data from: http://www-pnp.physics.ox.ac.uk/~barr/fluxfiles/
13 
14  Please note that this class expects to read flux files formatted as
15  described in the above BGLRS flux page.
16  Each file contains 5 columns:
17  - neutrino energy (GeV) at bin centre
18  - neutrino cos(zenith angle) at bin centre
19  - neutrino flux dN/dlnE (#neutrinos /m^2 /sec /sr)
20  - MC statistical error on the flux (not used here)
21  - Number of unweighted events entering in the bin (not used here)
22  The flux is given in 20 bins of cos(zenith angle) from -1.0 to 1.0
23  (bin width = 0.1) and 30 equally log-spaced energy bins (10 bins per
24  decade), with Emin = 10.00 GeV.
25 
26  Note that in the BGLRS input files the flux is defined as dN/dlnE,
27  while in the FLUKA files the flux is defined as dN/dE.
28  We compensate for logarithmic units (dlnE = dE/E) as we read-in the
29  BGLRS files.
30 
31 \author Christopher Backhouse <c.backhouse1@physics.ox.ac.uk>
32  Oxford University
33 
34 \created January 26, 2008
35 
36 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
37  For the full text of the license visit http://copyright.genie-mc.org
38 */
39 //____________________________________________________________________________
40 
41 #ifndef _GENIE_BGLRS_ATMO_FLUX_H_
42 #define _GENIE_BGLRS_ATMO_FLUX_H_
43 
44 #include "Tools/Flux/GAtmoFlux.h"
45 
46 namespace genie {
47 namespace flux {
48 
49 // Number of cos(zenith) and energy bins in flux simulation
50 const unsigned int kBGLRS3DNumCosThetaBins = 20;
51 const double kBGLRS3DCosThetaMin = -1.0;
52 const double kBGLRS3DCosThetaMax = 1.0;
53 const unsigned int kBGLRS3DNumLogEvBinsLow = 40;
54 const unsigned int kBGLRS3DNumLogEvBinsPerDecadeLow = 20;
55 const unsigned int kBGLRS3DNumLogEvBinsHigh = 30;
56 const unsigned int kBGLRS3DNumLogEvBinsPerDecadeHigh = 10;
57 const double kBGLRS3DEvMin = 0.1; // GeV
58 
59 class GBGLRSAtmoFlux: public GAtmoFlux {
60 
61 public :
64 
65  //
66  // Most implementation is derived from the base GAtmoFlux
67  // The concrete driver is only required to implement a function for
68  // loading the input data files
69  //
70 
71 private:
72 
73  void SetBinSizes (void);
74  bool FillFluxHisto (int nu_pdg, string filename);
75 };
76 
77 } // flux namespace
78 } // genie namespace
79 
80 #endif // _GBARTOL_ATMO_FLUX_I_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
bool FillFluxHisto(int nu_pdg, string filename)
const double kBGLRS3DCosThetaMin
const unsigned int kBGLRS3DNumLogEvBinsHigh
const unsigned int kBGLRS3DNumLogEvBinsLow
string filename
Definition: train.py:213
const unsigned int kBGLRS3DNumLogEvBinsPerDecadeLow
const double kBGLRS3DEvMin
const double kBGLRS3DCosThetaMax
const unsigned int kBGLRS3DNumLogEvBinsPerDecadeHigh
A base class for the FLUKA, BGLRS and ATMNC atmo. nu. flux drivers. The driver depends on data files ...
Definition: GAtmoFlux.h:60
const unsigned int kBGLRS3DNumCosThetaBins
A flux driver for the Bartol Atmospheric Neutrino Flux.