iceCube.uhe.analysis
Class YieldAnalysisFactory

java.lang.Object
  extended by iceCube.uhe.analysis.YieldAnalysisFactory

public class YieldAnalysisFactory
extends java.lang.Object

This class makes and handles histograms of the neutrino detection yield[cm^2 sec sr] generated by DumpQuickPropagationMatrixYield class and neutrino cross section. The yield table is read out from the DataInputStream. Written by Shigeru Yoshida 2008/04/13


Field Summary
protected  int dimensionHist
          Dimension of histogram
protected static java.lang.String[] intMtxPathname
          Path to Intertaction Matrix file
protected  double maxLogEFlux
          Range of the log(neutrino energy flux [GeV/cm^2 sec sr]) in the histogram
protected  double maxLogSigmaCC
          Range of the log(neutrino Charged Current cross section [cm^2]) in the histogram
protected  double minLogEFlux
           
protected  double minLogSigmaCC
           
protected  InteractionsMatrix nuCCMtx
          Neutrino InteractionMatrix object to calculate the STANDARD cross section
protected  java.util.Map yieldMap
          Maps to store the Yield Table
 
Constructor Summary
YieldAnalysisFactory(java.io.DataInputStream in)
          Constructor.
YieldAnalysisFactory(java.io.DataInputStream in, boolean chargedCurrent)
          Constructor.
YieldAnalysisFactory(java.io.ObjectInputStream in)
          Constructor.
 
Method Summary
 double getLogSigma(double logNeutrinoEnergy, double logEFlux, double numEvents)
          Return the log(neutrino cross section [cm^2]) for a given log10(neutrino energy [GeV]) that yields numEvents with log10(neutrino energy flux [GeV/cm^2 sec sr])
protected  double getLogYield(java.util.LinkedHashMap sigmaYieldMap, double logSigma)
          getLogYield for a given log10(cross section [cm^2]) using interplolation of the yield table read in the constructor.
 java.util.LinkedHashMap getSigmaFluxMap(double logNeutrinoEnergy, double numEvents)
          Make a map of (neutrino crosssection [cm^2], log10(neutrino energy flux [GeV/cm^2 sec sr])) for a given log10(neutrino energy [GeV]) and the number of events
protected  java.util.LinkedHashMap getSigmaYieldMap(double logNeutrinoEnergy)
          Returns the map containing a pair of (cross section, yield) for a given log(Neutrino Energy [GeV])
 void printYield(double logNeutrinoEnergy)
          Print the yield table the method readYieldTable reads out in the constructor for a given log(Neutrino Energy [GeV]) This method is mainly for debugging purposes.
protected  void readYieldTable(java.io.DataInputStream in)
          Reads the yield table from the DataInoutStream and generate map(logE,map(sigmaCC,yield)) internally.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

yieldMap

protected java.util.Map yieldMap
Maps to store the Yield Table


nuCCMtx

protected InteractionsMatrix nuCCMtx
Neutrino InteractionMatrix object to calculate the STANDARD cross section


intMtxPathname

protected static java.lang.String[] intMtxPathname
Path to Intertaction Matrix file


maxLogEFlux

protected double maxLogEFlux
Range of the log(neutrino energy flux [GeV/cm^2 sec sr]) in the histogram


minLogEFlux

protected double minLogEFlux

maxLogSigmaCC

protected double maxLogSigmaCC
Range of the log(neutrino Charged Current cross section [cm^2]) in the histogram


minLogSigmaCC

protected double minLogSigmaCC

dimensionHist

protected int dimensionHist
Dimension of histogram

Constructor Detail

YieldAnalysisFactory

public YieldAnalysisFactory(java.io.DataInputStream in,
                            boolean chargedCurrent)
                     throws java.io.IOException
Constructor. DataInputStream must be provided that lead to the yield table generated by DumpQuickPropagationMatrixYield class.

Throws:
java.io.IOException

YieldAnalysisFactory

public YieldAnalysisFactory(java.io.DataInputStream in)
                     throws java.io.IOException
Constructor. DataInputStream must be provided that lead to the yield table generated by DumpQuickPropagationMatrixYield class.

Throws:
java.io.IOException

YieldAnalysisFactory

public YieldAnalysisFactory(java.io.ObjectInputStream in)
                     throws java.io.IOException
Constructor. ObjectInputStream to get Map of (logE,map(sigma, yield)) generated by MakeQuickPropagationYieldMap must be provided.

Throws:
java.io.IOException
Method Detail

readYieldTable

protected void readYieldTable(java.io.DataInputStream in)
                       throws java.io.IOException
Reads the yield table from the DataInoutStream and generate map(logE,map(sigmaCC,yield)) internally.

Throws:
java.io.IOException

getSigmaYieldMap

protected java.util.LinkedHashMap getSigmaYieldMap(double logNeutrinoEnergy)
Returns the map containing a pair of (cross section, yield) for a given log(Neutrino Energy [GeV])


printYield

public void printYield(double logNeutrinoEnergy)
Print the yield table the method readYieldTable reads out in the constructor for a given log(Neutrino Energy [GeV]) This method is mainly for debugging purposes.


getLogYield

protected double getLogYield(java.util.LinkedHashMap sigmaYieldMap,
                             double logSigma)
getLogYield for a given log10(cross section [cm^2]) using interplolation of the yield table read in the constructor. The map returned by getSigmaYieldMap(log10(neutrino energy[GeV]) must be given.


getSigmaFluxMap

public java.util.LinkedHashMap getSigmaFluxMap(double logNeutrinoEnergy,
                                               double numEvents)
Make a map of (neutrino crosssection [cm^2], log10(neutrino energy flux [GeV/cm^2 sec sr])) for a given log10(neutrino energy [GeV]) and the number of events


getLogSigma

public double getLogSigma(double logNeutrinoEnergy,
                          double logEFlux,
                          double numEvents)
Return the log(neutrino cross section [cm^2]) for a given log10(neutrino energy [GeV]) that yields numEvents with log10(neutrino energy flux [GeV/cm^2 sec sr])