iceCube.uhe.event
Class EventArrayForEachInteraction

java.lang.Object
  extended by iceCube.uhe.event.EventArrayForEachInteraction

public class EventArrayForEachInteraction
extends java.lang.Object

This object handles a matrix table generated by RunManager.runEventOnMatrix(DataOutputStream out, int numEvent). It gives a dN/dLogEcascade(mu or tau) where Ecascade is a total energy deposit in form of electrons or hadrons initiated by UHE muons or taus running in the detector voluce. Propagation of muons and tauons are treated by Event.java. The matrix table this object reads out is similar with PropagationMatrix.getFtauToHadron(int iLogE,int jLogE) or PropagationMatrix.getFmuToHadron(int iLogE,int jLogE), for example, in the propagation package. A main difference is the PropagationMatrix is calculated by numerically solving the transport equation which is suitable for particle propagation in the Earth over long range while THIS matrix table is calculated by the Monte Carlo method by Event.java which works especially for particle propagation inside the detector volume where the fluctuation of the energy loss profile and total energy deposit from an event do matter.


Constructor Summary
EventArrayForEachInteraction()
          Constructor.
EventArrayForEachInteraction(java.io.DataInputStream in)
           
 
Method Summary
 double getCascadeFlux(int n, double logE)
          Obtain dN/dLogE
 java.lang.String getInteractionName()
          Obtain the name of interaction.
 int getPrimaryDoublet()
          Obtain primarily propagating particle doublet.
 int getPrimaryFlavor()
          Obtain primarily propagating particle flavor.
 void readArray(java.io.DataInputStream in)
          Read the calculated event matrix by RunManager.runEventOnMatrix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EventArrayForEachInteraction

public EventArrayForEachInteraction()
Constructor. Generate matrix array.


EventArrayForEachInteraction

public EventArrayForEachInteraction(java.io.DataInputStream in)
                             throws java.io.IOException
Throws:
java.io.IOException
Method Detail

readArray

public void readArray(java.io.DataInputStream in)
               throws java.io.IOException
Read the calculated event matrix by RunManager.runEventOnMatrix

Throws:
java.io.IOException

getPrimaryFlavor

public int getPrimaryFlavor()
Obtain primarily propagating particle flavor. As defined in the Particle class, it should be either 1 (muon) or 2 (tau). This value is read from the Matrix file by the method readArray() in this class.


getPrimaryDoublet

public int getPrimaryDoublet()
Obtain primarily propagating particle doublet. As defined in the Particle class, it should be either 0 (neutrino) or 1 (charged lepton). This value is read from the Matrix file by the method readArray() in this class.


getInteractionName

public java.lang.String getInteractionName()
Obtain the name of interaction. This is read from the Matrix file by the method readArray() in this class.


getCascadeFlux

public double getCascadeFlux(int n,
                             double logE)
Obtain dN/dLogE