iceCube.uhe.analysis
Class BHevapPropagationMatrixFlux

java.lang.Object
  extended by iceCube.uhe.analysis.PropagationMatrixFlux
      extended by iceCube.uhe.analysis.BHevapPropagationMatrixFlux

public class BHevapPropagationMatrixFlux
extends PropagationMatrixFlux

It calculates the detectable neutrino event intensity at the Earth Surface as I3ParticleFlux does but the calculation is made by using directly the zenith angle binned propagation matrix and the numerically calculated effective area (I3EffectiveArea.java) without relying on I3Particle MC events. This subclass read out the propagation matrix generated by PropagationMatrixBHevaporation.java in the propagation package adding the neutrino interaction channel via the micro black-hole creation. Written by S. Yoshida June 3 2009


Field Summary
protected  boolean considerMultiTracks
          Whether consider the case of double muons/taus, and a pair of mu + tau.
protected static java.lang.String[] intMtxPathname
           
protected  int modelNumber
           
protected  NeutrinoBHevaporation nuBH
           
protected  InteractionsMatrix nuCCMtx
           
protected  InteractionsMatrix nuNCMtx
           
protected static java.lang.String[] propMtxPathname
           
 
Fields inherited from class iceCube.uhe.analysis.PropagationMatrixFlux
inIceAreaList, inIceDoubletList, inIceFlavorList, matrix, nuE, nuMu, nuTau, observationTime, yieldTableExists
 
Constructor Summary
BHevapPropagationMatrixFlux(int modelNumber)
          constroctor
 
Method Summary
 void calculateYield()
          Calculate the neutrino yield [cm^2 sec sr] in form of the table by reasing out the pre-stored propagation matrix data via the PropagationMatrixFactory.
protected  double getIntegralIntensityOfMuAndTau(double logNuEnergyAtSurface, java.lang.String fileName)
          This is a method for debugging.
protected  double getIntensityOfMuAndTau(double logInIceEnergy, int finalStateFlavor)
           
protected  double getIntensityOfMuAndTau(double logInIceEnergy, int finalStateFlavor, int multiplicityOfTrack)
          calculate the muon and tau fluxes after the propagation in the earth.
static void main(java.lang.String[] args)
          a simple main function for debugging this class
protected  void setNeutrinoSurfaceEnergy(double logNuSurfaceEnergy)
           
 
Methods inherited from class iceCube.uhe.analysis.PropagationMatrixFlux
addInIceParticle, getDFDLogE, getDFDLogE, getDFDLogE, getYield, setObservationTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nuCCMtx

protected InteractionsMatrix nuCCMtx

nuNCMtx

protected InteractionsMatrix nuNCMtx

considerMultiTracks

protected boolean considerMultiTracks
Whether consider the case of double muons/taus, and a pair of mu + tau. If false, then all the muons and taus consitiute an uncorrelated single track. This is valid when their multiplicity is lower than unity.


nuBH

protected NeutrinoBHevaporation nuBH

intMtxPathname

protected static java.lang.String[] intMtxPathname

propMtxPathname

protected static java.lang.String[] propMtxPathname

modelNumber

protected int modelNumber
Constructor Detail

BHevapPropagationMatrixFlux

public BHevapPropagationMatrixFlux(int modelNumber)
                            throws java.io.IOException
constroctor

Throws:
java.io.IOException
Method Detail

calculateYield

public void calculateYield()
                    throws java.io.IOException
Calculate the neutrino yield [cm^2 sec sr] in form of the table by reasing out the pre-stored propagation matrix data via the PropagationMatrixFactory. A primary neutrino bulk is assumed to be consist of nu_e, nu_mu, nu_tau = 1:1:1.

Overrides:
calculateYield in class PropagationMatrixFlux
Throws:
java.io.IOException

getIntensityOfMuAndTau

protected double getIntensityOfMuAndTau(double logInIceEnergy,
                                        int finalStateFlavor,
                                        int multiplicityOfTrack)
calculate the muon and tau fluxes after the propagation in the earth. The (uncorrelated) mu and tau intensites have been pre-calculated by the PropagationMatrix (generated by PropagationMatrixBHevaporation.java) and the calculation in this method relies on the matrix data, but it also consider the effects that muons and taus can be correlated (like "double" muons) in the BH evaporation scenario. This method, therefore, convolutes the matrix data of nu-> mu/tau with weights of the multiplicities predicted by the BH model. For simplicity, only the case of the multiplicity up to 2 (double muon, mu+tau etc) is considered. Because the average mu/tau multiplicity predicted by the model is mostly less than 1, this treatment is good enough. In order to get the results you need, you have to set the neutrino energy at the earth surface to the object members Particle nuE,nuMu,nuTau, and new NeutrinoBHevaporation nuBH. The utlity method setNeutrinoSurfaceEnergy(double logEnergy) does this job for you.
       double logInIceEnergy  : log(Energy [GeV] at the I3 depth)
                                Energy is defined as total energy of muons
                                in case of multiple leptons
       int finalStateFlavor   : 1 (mu only) 2 (tau only) 3 (a mu plus a tau) 
       int multiplicityOfTrack: 1 (single) 2 (double) 3 (adds both - default)
       


getIntensityOfMuAndTau

protected double getIntensityOfMuAndTau(double logInIceEnergy,
                                        int finalStateFlavor)

setNeutrinoSurfaceEnergy

protected void setNeutrinoSurfaceEnergy(double logNuSurfaceEnergy)

getIntegralIntensityOfMuAndTau

protected double getIntegralIntensityOfMuAndTau(double logNuEnergyAtSurface,
                                                java.lang.String fileName)
                                         throws java.io.IOException
This is a method for debugging. Return integral F_mu+tau(logNuEnergyAtSurface, logE)dLogE fileName is the propagation matrix file name to be used in calculation of the in-ice mu and tau spectrum induced from neutrinos with log(E)= logNuEnergyAtSurface.

Throws:
java.io.IOException

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
a simple main function for debugging this class

Throws:
java.io.IOException