iceCube.uhe.interactions
Class InteractionsMatrix

java.lang.Object
  extended by iceCube.uhe.interactions.InteractionsMatrix
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
GlashowResonanceHadronicMatrix

public class InteractionsMatrix
extends java.lang.Object
implements java.io.Serializable

    Matrix of the Energy Transfer by particle Interactions.
    The matrix elements are calculated by the methods supplied
    by the Interaction class.

        /------------------------------------------------------------\
logEmin | 0   0  ...................................   EmindS/dEmin  |
logE1   | 0   0  ............................E1dS/dE1  EmindS/dEmin  |
  .     |                                                            |x binWidth x ln(10)
  .     |                                                            |
logEmax |EmaxdS/dEmax................................  EmindS/dEmin  |
        \------------------------------------------------------------/

The bin width and logEmin are defined in the Particle class.

Actually each matrix element dSigma/dLogE is calculated by the integral,
\int dSigma/dY dY from logY - 0.5xbinWidth to logY + 0.5*binWidth where
logY = logEproduced - logEincoming. This is more accurate way than simply
calculating dSigma/dLogE.

The transfer matrix of the recolied lepton energy (1-y)*Eincoming 
is acquired by the method getLeptonTransferMatrix( )
while the energy of the transfered matrix for the counter current 
y*Eincoming is obtained by getTransferMatrix( ).

See Also:
Serialized Form

Constructor Summary
InteractionsMatrix(iceCube.uhe.interactions.Interactions interactions)
          Constructor: Generate the matrix array
 
Method Summary
 int getDoublet()
          Get the doublet of the particle propagating
 int getFlavor()
          Get the flavor of the particle propagating
 double getInelasticityMatrix(int iLogE)
          Get the element of the inelastisity matrix
 double getLeptonTransferMatrix(int iLogE, int jLogE)
          Get the element of the transfter matrix jlogE ~ log10((1-y)*E)
 int getProducedFlavor()
          Get the flavor of the produced particle
 double getSigmaMatrix(int iLogE)
          Get the element of the total cross section matrix
 double getTransferMatrix(int iLogE, int jLogE)
          Get the element of the transfter matrix jlogE ~ log10(y*E)
 boolean isValidIndex(int iLogE)
          Checking the energy index
 void setSigmaMatrix(int iLogE)
          Calculate the total cross section matrix
 void setTransferMatrix(int iLogE, int jLogE)
          Calculate the transfer matrix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InteractionsMatrix

public InteractionsMatrix(iceCube.uhe.interactions.Interactions interactions)
Constructor: Generate the matrix array

Method Detail

setTransferMatrix

public void setTransferMatrix(int iLogE,
                              int jLogE)
Calculate the transfer matrix


getTransferMatrix

public double getTransferMatrix(int iLogE,
                                int jLogE)
Get the element of the transfter matrix jlogE ~ log10(y*E)


getLeptonTransferMatrix

public double getLeptonTransferMatrix(int iLogE,
                                      int jLogE)
Get the element of the transfter matrix jlogE ~ log10((1-y)*E)


setSigmaMatrix

public void setSigmaMatrix(int iLogE)
Calculate the total cross section matrix


getSigmaMatrix

public double getSigmaMatrix(int iLogE)
Get the element of the total cross section matrix


getInelasticityMatrix

public double getInelasticityMatrix(int iLogE)
Get the element of the inelastisity matrix


isValidIndex

public boolean isValidIndex(int iLogE)
Checking the energy index


getFlavor

public int getFlavor()
Get the flavor of the particle propagating


getDoublet

public int getDoublet()
Get the doublet of the particle propagating


getProducedFlavor

public int getProducedFlavor()
Get the flavor of the produced particle