iceCube.uhe.muonModel
Class PropagatingAtmMuonFlux

java.lang.Object
  extended by iceCube.uhe.muonModel.PropagatingAtmMuonFlux

public class PropagatingAtmMuonFlux
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 AtmMuonFlux class. 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 AtmMuonFlux class. Consult the detais to the API document of the AtmMuonFlux.java in this package.


Constructor Summary
PropagatingAtmMuonFlux()
          Constructor
PropagatingAtmMuonFlux(double muonThresholdEnergy, boolean cutoffExists)
          Constructor
PropagatingAtmMuonFlux(double alpha, double muonThresholdEnergy, boolean cutoffExists)
          Constructor
 
Method Summary
protected  double getAverageMuonEnergyLossAfterPropagation()
          Calculate and return the averaged relative energy loss of a muon after its propagation in the Earth.
 double getDFMuDLogE(double logE, double cos_th)
          Calculate dF/dLogE [/cm^2 sec sr] for nu-mu
 void readMatrix(java.io.DataInputStream in)
          Read the calculated propagation matrix
 void setConfidenceLevelOfFluctuation(double prob)
          Set Confidence level of the Energy rato parameter R = (E_muon/E0)/ Bar(E_muon/E0).
 void setCutOffFeature(boolean cutoffExists)
          set the GZK cutoff feature or not
 void setFluxCalculationMode(boolean includeFluctuationEffects, boolean fluctuateEventByEvent)
          set the mode on the flux caulation
 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

PropagatingAtmMuonFlux

public PropagatingAtmMuonFlux()
Constructor


PropagatingAtmMuonFlux

public PropagatingAtmMuonFlux(double muonThresholdEnergy,
                              boolean cutoffExists)
Constructor


PropagatingAtmMuonFlux

public PropagatingAtmMuonFlux(double alpha,
                              double muonThresholdEnergy,
                              boolean cutoffExists)
Constructor

Method Detail

readMatrix

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

Throws:
java.io.IOException

setFluxCalculationMode

public void setFluxCalculationMode(boolean includeFluctuationEffects,
                                   boolean fluctuateEventByEvent)
set the mode on the flux caulation
        boolean includeFluctuationEffects : 
                    true  default. calculate the flux taking into account flucuation of 
                          muon energies due to the EAS cascading. 
                          CascadeFluctuationFactory class does this part of calculation.
                    false calculate the bare flux given by the Elbert formula.
                          an energy of muon bundles is associated with the energy of primary
                          cosmic ray by one-on-one relation.

        boolean fluctuateEventByEvent : Valid when includeFluctuationEffects = true

           true :  Flux is calculated such that an event by event flucuation is included.
                   Useful to evaluate flucuation of number of background events
           false: default. the flucuation effects is included in average way. i.e.,
                  The systematic factor of the flux shift due the cascade flucuation
                  is calculated and multiplied in the flux calculation.
                  Useful to the MC-data fitting, calculation of average number of events
        


setConfidenceLevelOfFluctuation

public void setConfidenceLevelOfFluctuation(double prob)
Set Confidence level of the Energy rato parameter R = (E_muon/E0)/ Bar(E_muon/E0). If this value is non zero (zero in its default) and (includeFluctuationEffect fluctuateEventByEvent) = (true, true) then all the relevant fluxes are calculated based on a fixed value of R given by this confidence level. If zero (default), the fluxes are given by the interal over R which correponds to taking the central value of R-distribution.


setCutOffFeature

public void setCutOffFeature(boolean cutoffExists)
set the GZK cutoff feature or not


getDFMuDLogE

public double getDFMuDLogE(double logE,
                           double cos_th)
Calculate dF/dLogE [/cm^2 sec sr] for nu-mu


getAverageMuonEnergyLossAfterPropagation

protected double getAverageMuonEnergyLossAfterPropagation()
Calculate and return the averaged relative energy loss of a muon after its propagation in the Earth. This value is used as the threshold energy of muons in a bundle in the calulcation of the parent Cosmic Ray energy with the
      AtmMuonBundle.getEffectiveEnergyOfCRs(double muonBundleEnergy, 
                                           double cosTheta_ice3)
      


whetherPropagationMatrixWithGlashowResonance

public void whetherPropagationMatrixWithGlashowResonance(boolean flag)
or Glashow Resonance