iceCube.uhe.neutrinoModel
Class NeutrinoFlux

java.lang.Object
  extended by iceCube.uhe.neutrinoModel.NeutrinoFlux

public class NeutrinoFlux
extends java.lang.Object

UHE Neutrino fluxes based on the following moels
are calculated from the table.


Note that NO NEUTRINO OSCILATION was considered in these models.
One can access the original flux with getEFlux and/or getDFDLogE method.

The flux at the earth surface after propagation in space with neutrino
oscillation effect are also calculated based on the recent result of
the oscillation parameters.
One can access the flux after having the oscillation effect with getEFluxwzOsci
and/or getDFDLogEwzOsci.

The tables to contain the flux data is stored in $JAVADIR/classes/icecube/uhe/neutrinoModel
which are read out by this class.

Usage:
NeutrinoFlux  model-parameter

model-parameter 
                1  the GZK neutrinos m=0 Zmax = 2
                2  the GZK neutrinos m=2 Zmax = 2
                3  the GZK neutrinos m=2 Zmax = 4
                4  the GZK neutrinos m=4 Zmax = 4
                5  the GZK neutrinos m=4 Zmax = 5 gamma=1.5
                6  the GZK neutrinos m=7 Zmax = 5 gamma=1.5
                7  the Z-burst
                8  the Top Down (SUSY)
                9  the Top Down (QCD)
                10 the GZK neutrinos (by Sigl) m=3 Zmax=2 gamma=1 Emax=100ZeV
                11 the GZK neutrinos (by Sigl) m=5 Zmax=2 gamma=2 Emax=10ZeV
                12 the GZK neutrinos (by Ahles, Francis et al) Emin 10EeV best fit with the Fermi constraint
                   m=4.6 Zmax=2 gamma=2.5 Emax = 1ZeV
                13 the GZK neutrinos (by Ahles, Francis et al) Emax 10EeV max fit with the Fermi constraint
                   m=4.4 Zmax=2 gamma=2.1 Emax = 1ZeV

particleID
                1  nu-e
                2  nu-mu
                3  nu-tau (No nu-tau in the GZK model) 


Constructor Summary
NeutrinoFlux(int model)
          Constructor: Reads out from the table stored in iceCube/uhe/neutrinoModel logE [eV] dF/dE E^2 [eV/cm^2 sec sr].
 
Method Summary
 double getDFDLogE(double logEnergy, int particleID)
           calculate the log differential Flux dF/dLogE [/cm^2 sec sr] logEnergy [GeV] particleID 1 nu-e 2 nu-mu 3 nu-tau (No nu-tau in the GZK model)
 double[] getDFDLogEwzOsci(double logEnergy)
           Calculate the log differential Flux dF/dLogE [/cm^2 sec sr] after the propagation in the universe (with taking into account the neutrino oscillation) input: logEnergy [GeV] output: neutrino fluxes after neutrino oscillation (0: nu_e, 1:nu_mu, 2:nu_tau)
 double getDFDLogEwzOsci(double logEnergy, int particleID)
           Calculate the log differential Flux dF/dLogE [/cm^2 sec sr] after the propagation in the universe (with taking into account the neutrino oscillation) Calculation is based on a paper of J.
 double getEFlux(double logEnergy, int particleID)
           calculate the differential Energy Flux [GeV /cm^2 sec sr] logEnergy [GeV] particleID 1 nu-e 2 nu-mu 3 nu-tau (No nu-tau in the GZK model)
 double[] getEFluxwzOsci(double logEnergy)
           Calculate the differential Energy Flux [GeV /cm^2 sec sr] after the propagation in the universe (with taking into account the neutrino oscillation) input: logEnergy [GeV] output: neutrino fluxes after neutrino oscillation (0: nu_e, 1:nu_mu, 2:nu_tau)
 double getEFluxwzOsci(double logEnergy, int particleID)
           Calculate the differential Energy Flux [GeV /cm^2 sec sr] after the propagation in the universe (with taking into account the neutrino oscillation) input: logEnergy [GeV] particleID 1 nu-e 2 nu-mu 3 nu-tau (No nu-tau in the GZK model)
protected  double[] getFluxwzOsci(double logEnergy, double nueflux, double numuflux, double nutauflux)
           Calculate the neutrino flux at the earth surface after propgation in space with neutrino oscillation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NeutrinoFlux

public NeutrinoFlux(int model)
             throws java.io.IOException
Constructor: Reads out from the table stored in iceCube/uhe/neutrinoModel logE [eV] dF/dE E^2 [eV/cm^2 sec sr]. Energy unit is transfered to GeV.

Throws:
java.io.IOException
Method Detail

getEFlux

public double getEFlux(double logEnergy,
                       int particleID)
        calculate the differential Energy Flux [GeV /cm^2 sec sr] 

        logEnergy [GeV]

        particleID
                1  nu-e
                2  nu-mu
                3  nu-tau (No nu-tau in the GZK model)


getDFDLogE

public double getDFDLogE(double logEnergy,
                         int particleID)
        calculate the log differential Flux dF/dLogE [/cm^2 sec sr] 

        logEnergy [GeV]

        particleID
                1  nu-e
                2  nu-mu
                3  nu-tau (No nu-tau in the GZK model)


getFluxwzOsci

protected double[] getFluxwzOsci(double logEnergy,
                                 double nueflux,
                                 double numuflux,
                                 double nutauflux)
        Calculate the neutrino flux at the earth surface after propgation in space
        with neutrino oscillation.

        Calculation is based on a paper of J. Jones et al., PRD, 69, 033004 (2004)
        Note that the mixing between nu_e and nu_tau is known to be very small, so
        the mixing is ignored.

        input: logEnergy [GeV],
               nu_e flux before neutrino oscillation,
               nu_mu flux before neutrino oscillation,
               nu_tau flux before neutrino oscillation

        output: neutrino fluxes after neutrino oscillation 
                (0: nu_e, 1:nu_mu, 2:nu_tau)


getEFluxwzOsci

public double[] getEFluxwzOsci(double logEnergy)
        Calculate the differential Energy Flux [GeV /cm^2 sec sr] 
        after the propagation in the universe (with taking into account 
        the neutrino oscillation)

        input: logEnergy [GeV]

        output: neutrino fluxes after neutrino oscillation 
                (0: nu_e, 1:nu_mu, 2:nu_tau)


getEFluxwzOsci

public double getEFluxwzOsci(double logEnergy,
                             int particleID)
        Calculate the differential Energy Flux [GeV /cm^2 sec sr] 
        after the propagation in the universe (with taking into account 
        the neutrino oscillation)

        input: logEnergy [GeV]

        particleID
                1  nu-e
                2  nu-mu
                3  nu-tau (No nu-tau in the GZK model)


getDFDLogEwzOsci

public double[] getDFDLogEwzOsci(double logEnergy)
        Calculate the log differential Flux dF/dLogE [/cm^2 sec sr] 
        after the propagation in the universe (with taking into account 
        the neutrino oscillation)

        input: logEnergy [GeV]

        output: neutrino fluxes after neutrino oscillation 
                (0: nu_e, 1:nu_mu, 2:nu_tau)


getDFDLogEwzOsci

public double getDFDLogEwzOsci(double logEnergy,
                               int particleID)
        Calculate the log differential Flux dF/dLogE [/cm^2 sec sr] 
        after the propagation in the universe (with taking into account 
        the neutrino oscillation)

        Calculation is based on a paper of J. Jones et al., PRD, 69, 033004 (2004)
        Note that the mixing between nu_e and nu_tau is known to be very small, so
        the mixing is ignored.

        input: logEnergy [GeV]

        particleID
                1  nu-e
                2  nu-mu
                3  nu-tau (No nu-tau in the GZK model)