iceCube.uhe.neutrinoModel
Class PropagatingNeutrinoFlux

java.lang.Object
  extended by iceCube.uhe.neutrinoModel.PropagatingNeutrinoFlux
Direct Known Subclasses:
QuickPropagatingNeutrinoFlux

public class PropagatingNeutrinoFlux
extends java.lang.Object

This class calculates differential flux dF/dLogE [/cm^2 sec sr] of neutrinos and charged leptons after propagation in the earth for a given model of primary cosmic neutrino production in the Universe. The primary flux of UHE cosmic neutrinos is given by the NeutrinoFlux class with taking into account the neutrino oscillation effect. The transfer(propagation) matrix of particles during the propagation in the earth, for example, FnuMuToTau = dN(nuMu -> tau)/dLogE_tau (E_nuMu, E_tau) is read out from the file generated a priori by PropagationMatrix.java in the propagation package. The argument for the constructor, "model" is for the NeutrinoFlux class. Consult the detais to the API document of the NeutrinoFlux.java in this package.


Constructor Summary
  PropagatingNeutrinoFlux(int model)
          Constructor
protected PropagatingNeutrinoFlux(int model, boolean nomatrix)
          This constroctor is for the subclass QuickPropagatingNeutrinoFlux
 
Method Summary
protected  void generateNeutrinoFluxObject(int model)
          Generate Neutrino flux object and add it to the list
 double getDFMuDLogE(double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFMuDLogE(int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFMuDLogE(int model, double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in the argument.
 double getDFMuDLogE(int model, int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in the argument.
 double getDFNuEDLogE(double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFNuEDLogE(int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFNuEDLogE(int model, double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in the argument.
 double getDFNuEDLogE(int model, int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in the argument.
 double getDFNuMuDLogE(double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFNuMuDLogE(int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFNuMuDLogE(int model, double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in the argument.
 double getDFNuMuDLogE(int model, int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in the argument.
 double getDFNuTauDLogE(double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFNuTauDLogE(int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFNuTauDLogE(int model, double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in the argument.
 double getDFNuTauDLogE(int model, int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in the argument.
 double getDFTauDLogE(double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFTauDLogE(int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in calling the constructor.
 double getDFTauDLogE(int model, double logE)
          Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in the argument.
 double getDFTauDLogE(int model, int jLogE)
          Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in the argument.
protected  NeutrinoFlux getNeutrinoFluxFromList(int model)
          Search for the neutrinoFlux objects stored in the list and return it if exists.
 void readMatrix(java.io.DataInputStream in)
          Read the calculated propagation matrix
 void whetherPropagationMatrixWithGlashowResonance(boolean flag)
          or Glashow Resonance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropagatingNeutrinoFlux

public PropagatingNeutrinoFlux(int model)
                        throws java.io.IOException
Constructor

Throws:
java.io.IOException

PropagatingNeutrinoFlux

protected PropagatingNeutrinoFlux(int model,
                                  boolean nomatrix)
                           throws java.io.IOException
This constroctor is for the subclass QuickPropagatingNeutrinoFlux

Throws:
java.io.IOException
Method Detail

generateNeutrinoFluxObject

protected void generateNeutrinoFluxObject(int model)
                                   throws java.io.IOException
Generate Neutrino flux object and add it to the list

Throws:
java.io.IOException

readMatrix

public void readMatrix(java.io.DataInputStream in)
                throws java.io.IOException
Read the calculated propagation matrix

Throws:
java.io.IOException

getNeutrinoFluxFromList

protected NeutrinoFlux getNeutrinoFluxFromList(int model)
Search for the neutrinoFlux objects stored in the list and return it if exists.


getDFNuEDLogE

public double getDFNuEDLogE(double logE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFNuEDLogE

public double getDFNuEDLogE(int jLogE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFNuEDLogE

public double getDFNuEDLogE(int model,
                            double logE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFNuEDLogE

public double getDFNuEDLogE(int model,
                            int jLogE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-e The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFNuMuDLogE

public double getDFNuMuDLogE(double logE)
                      throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFNuMuDLogE

public double getDFNuMuDLogE(int jLogE)
                      throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFNuMuDLogE

public double getDFNuMuDLogE(int model,
                             double logE)
                      throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFNuMuDLogE

public double getDFNuMuDLogE(int model,
                             int jLogE)
                      throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-mu The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFNuTauDLogE

public double getDFNuTauDLogE(double logE)
                       throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFNuTauDLogE

public double getDFNuTauDLogE(int jLogE)
                       throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFNuTauDLogE

public double getDFNuTauDLogE(int model,
                              double logE)
                       throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFNuTauDLogE

public double getDFNuTauDLogE(int model,
                              int jLogE)
                       throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for nu-tau The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFMuDLogE

public double getDFMuDLogE(double logE)
                    throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFMuDLogE

public double getDFMuDLogE(int jLogE)
                    throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFMuDLogE

public double getDFMuDLogE(int model,
                           double logE)
                    throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFMuDLogE

public double getDFMuDLogE(int model,
                           int jLogE)
                    throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for mu The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFTauDLogE

public double getDFTauDLogE(double logE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFTauDLogE

public double getDFTauDLogE(int jLogE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in calling the constructor.

Throws:
java.io.IOException

getDFTauDLogE

public double getDFTauDLogE(int model,
                            double logE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

getDFTauDLogE

public double getDFTauDLogE(int model,
                            int jLogE)
                     throws java.io.IOException
Calculate dF/dLogE [/cm^2 sec sr] for tau The neutrino flux is calculated for the model you specified in the argument.

Throws:
java.io.IOException

whetherPropagationMatrixWithGlashowResonance

public void whetherPropagationMatrixWithGlashowResonance(boolean flag)
or Glashow Resonance