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-2019, The GENIE Collaboration
37  For the full text of the license visit http://copyright.genie-mc.org
38  or see $GENIE/LICENSE
39 */
40 //____________________________________________________________________________
41 
42 #ifndef _GENIE_BGLRS_ATMO_FLUX_H_
43 #define _GENIE_BGLRS_ATMO_FLUX_H_
44 
45 #include "Tools/Flux/GAtmoFlux.h"
46 
47 namespace genie {
48 namespace flux {
49 
50 // Number of cos(zenith) and energy bins in flux simulation
51 const unsigned int kBGLRS3DNumCosThetaBins = 20;
52 const double kBGLRS3DCosThetaMin = -1.0;
53 const double kBGLRS3DCosThetaMax = 1.0;
54 const unsigned int kBGLRS3DNumLogEvBinsLow = 40;
55 const unsigned int kBGLRS3DNumLogEvBinsPerDecadeLow = 20;
56 const unsigned int kBGLRS3DNumLogEvBinsHigh = 30;
57 const unsigned int kBGLRS3DNumLogEvBinsPerDecadeHigh = 10;
58 const double kBGLRS3DEvMin = 0.1; // GeV
59 
60 class GBGLRSAtmoFlux: public GAtmoFlux {
61 
62 public :
65 
66  //
67  // Most implementation is derived from the base GAtmoFlux
68  // The concrete driver is only required to implement a function for
69  // loading the input data files
70  //
71 
72 private:
73 
74  void SetBinSizes (void);
75  bool FillFluxHisto (int nu_pdg, string filename);
76 };
77 
78 } // flux namespace
79 } // genie namespace
80 
81 #endif // _GBARTOL_ATMO_FLUX_I_H_
82 
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
bool FillFluxHisto(int nu_pdg, string filename)
const double kBGLRS3DCosThetaMin
const unsigned int kBGLRS3DNumLogEvBinsHigh
string filename
Definition: shutoffs.py:106
const unsigned int kBGLRS3DNumLogEvBinsLow
Loaders::FluxType flux
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:61
const unsigned int kBGLRS3DNumCosThetaBins
A flux driver for the Bartol Atmospheric Neutrino Flux.