gen
Class IntFlux

java.lang.Object
  extended by mmc.PhysicsModel
      extended by gen.IntFlux
All Implemented Interfaces:
FunctionInt, FunctionInt2, FunctionOfx

public class IntFlux
extends PhysicsModel

Class defines Gaisser-like muon and muon- and electron-neutrino energy spectra with cos*, muon energy loss, and decay corrections.


Field Summary
 double D
           
static double Efr
           
static EarthModel eM
           
static double gD
           
static double gEcut
           
 Interpolate J
           
static boolean je
           
static Interpolate[] Je
           
 boolean jt
           
static double mF
           
static NeutrinoTot nT
           
 double Rc
           
static int sM
           
 
Fields inherited from class mmc.PhysicsModel
Alpha, bigEnergy, C, Cmon, computerPrecision, De2, Ds2, ebig, elow, Gf, Gw, Gz, halfPrecision, imaxs, iprec, iprec2, iromb, K, Lmu, Log10, Lstau, Ltau, Ma1, Me, Mmon, Mmu, Mn, Mp, Mpi, Mrh, Mrs, Mstau, Mtau, Mw, Mz, Na, nlow, num1, num2, num3, Pi, Re, Ry, sqrt2, sqrt3, sqrtE, St2, Tt2, xres, Xw
 
Constructor Summary
IntFlux(int type, int model, int flag, double h0, double z0)
          Initialize class with particle type (all mu/mu-/mu+/all nu_mu/nu_mu/~nu_mu/all nu_e/nu_e/~nu_e/), model and ground elevation z0 in [km].
IntFlux(int type, int model, int flag, double h0, double z0, double dG, double Rc, double D)
          Initialize the class for spectrum index correction dG and prompt to pion muon component ratio Rc.
 
Method Summary
 double function(double x)
          Energy distribution as a function of energy x in [GeV]; zenith angle is set in a private variable - interface to Integral.
 double functionInt(double x)
          1d parametrization - interface to Interpolate
 double functionInt(double x, double E)
          2d parametrization - interface to Interpolate
 double getE(double E0, double x, double rnd)
          Calculates particle energy above threshold E0 in [GeV] at x=cos(zenith angle) as a function of a random number rnd.
 double getfl(double E, double x)
          Calculates differential flux for energy E in [GeV] at x=cos(zenith angle).
 double getIntFlux(double E, double x)
          Calculates integral flux above energy E in [GeV] at x=cos(zenith angle).
 void interpolate(double E0)
          Parametrizes the integral of this class.
 void interpolate(java.lang.String name)
          Parametrize h(x) c(x) o(x) l(x).
static void main(java.lang.String[] args)
          Calculates 3 example distrbutions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

D

public double D

Rc

public double Rc

sM

public static int sM

Efr

public static double Efr

mF

public static double mF

gD

public static double gD

gEcut

public static double gEcut

eM

public static EarthModel eM

nT

public static NeutrinoTot nT

J

public Interpolate J

jt

public boolean jt

Je

public static Interpolate[] Je

je

public static boolean je
Constructor Detail

IntFlux

public IntFlux(int type,
               int model,
               int flag,
               double h0,
               double z0)
Initialize class with particle type (all mu/mu-/mu+/all nu_mu/nu_mu/~nu_mu/all nu_e/nu_e/~nu_e/), model and ground elevation z0 in [km]. flag switches between two cos* calculation algorithms. h0 is the average production height in km or in g/cm^2 if negative.


IntFlux

public IntFlux(int type,
               int model,
               int flag,
               double h0,
               double z0,
               double dG,
               double Rc,
               double D)
Initialize the class for spectrum index correction dG and prompt to pion muon component ratio Rc.

Method Detail

interpolate

public void interpolate(java.lang.String name)
Parametrize h(x) c(x) o(x) l(x).


main

public static void main(java.lang.String[] args)
Calculates 3 example distrbutions.


getIntFlux

public double getIntFlux(double E,
                         double x)
Calculates integral flux above energy E in [GeV] at x=cos(zenith angle).


getE

public double getE(double E0,
                   double x,
                   double rnd)
Calculates particle energy above threshold E0 in [GeV] at x=cos(zenith angle) as a function of a random number rnd.


getfl

public double getfl(double E,
                    double x)
Calculates differential flux for energy E in [GeV] at x=cos(zenith angle).


function

public double function(double x)
Energy distribution as a function of energy x in [GeV]; zenith angle is set in a private variable - interface to Integral.

Specified by:
function in interface FunctionOfx
Overrides:
function in class PhysicsModel

interpolate

public void interpolate(double E0)
Parametrizes the integral of this class.


functionInt

public double functionInt(double x,
                          double E)
2d parametrization - interface to Interpolate

Specified by:
functionInt in interface FunctionInt2
Overrides:
functionInt in class PhysicsModel

functionInt

public double functionInt(double x)
1d parametrization - interface to Interpolate

Specified by:
functionInt in interface FunctionInt
Overrides:
functionInt in class PhysicsModel