iceCube.uhe.propagation
Class PropagationMatrix

java.lang.Object
  extended by iceCube.uhe.propagation.PropagationMatrix
Direct Known Subclasses:
PropagationMatrixBHevaporation

public class PropagationMatrix
extends java.lang.Object

   Matrix of the Energy and particle spiecies Transfer 
    by the Interactions and Particle Decays.
    The matrix elements are a priori calculated by the methods supplied
    by the InteractionMatrix in iceCube/uhe/interactions/ and
    by the Decay classes in iceCube/uhe/decay/ .


The infinitesimal propagation over dX is calculated as

nuToNu        : by the Neutral Current Intereactions.
nuEToLepton   : by the Charged Current Intereactions.
nuEToHadron   : by the Neutral/Charged currents.
nuEToNuE      : by the Electronic Glashow Resonance.

For Glashow Resonance
nuEToNuMu     : by the Muonic Glashow Resonance.
nuEToNuTau    : by the Tauonic Glashow Resonance.
nuEToHadron   : by the Hadrinic Glashow Resonance.

muToNuE       : by                                     Decay
muToNuMu      : by the Charged Current Intereactions   Decay
muToE         : by Pair Creation and Bremsstrahlung    Decay
muToMu        : by Pair Creation and survival.         Decay
muToTau       : by Pair Creation.
muToHadron    : by PhotoNuclear Interactions.
tauToNuE      : by                                     Decay
tauToNuMu     : by                                     Decay
tauToNuTau    : by the Charged Current Intereactions   Decay
tauToE        : by Pair Creation and Bremsstrahlung    Decay
tauToMu       : by Pair Creation.                      Decay
tauToTau      : by Pair Creation and survival
tauToHadron   : by PhotoNuclear Interactions.          Decay

Allocated memory for these array can also be used for
storing the finite propagation length.

The Main finite Propagation Matrix are formed such as


FnuEToNuE(logEin,logEout),FnuMuToNuE(logEin,logEout),FnuTauToNuE(logEin,logEout),
FmuToNuE(logEin,logEout),FtauToNuE(logEin,logEout)


FnuMuToTau(logEin,logEout),FnuTauToTau(logEin,logEout),
FmuToTau(logEin,logEout),FtauToTau(logEin,logEout)

etc.



Switching on/off an individual interactions channels
are done by the bits patemeter interactionsSwitch and decaySwitch.

interactionsSwitch
 bit8    bit7     bit6      bit5     bit4     bit3     bit2     bit1     bit0
GlaRes  LepWeak  PhotoNucl Bremss  KnockOn  PairCHeavy PairC  Neutral  Charged

decaySwitch
bit7-2   bit 1     bit0
Reserv.  TauDecay  MuDecay


These switches are read when generate this object.


Field Summary
protected static int ALL_FLAG
          For Glashow Resonance
protected static int BREMSS_FLAG
           
static double c
          Speed of light [cm/sec].
protected static int CHARGED_FLAG
           
 double dX
          Step size of the propagation [g/cm^2].
 double dXDecay
          Step size of the propagation [g/cm^2] determined by the shortest decay length.
protected  double[][] FmuToE
           
protected  double[][] FmuToHadron
           
protected  double[][] FmuToMu
           
protected  double[][] FmuToNuE
           
protected  double[][] FmuToNuMu
           
protected  double[][] FmuToNuTau
           
protected  double[][] FmuToTau
           
protected  double[][] FnuEToE
           
protected  double[][] FnuEToHadron
           
protected  double[][] FnuEToMu
           
protected  double[][] FnuEToNuE
           
protected  double[][] FnuEToNuMu
           
protected  double[][] FnuEToNuTau
           
protected  double[][] FnuEToTau
           
protected  double[][] FnuMuToE
           
protected  double[][] FnuMuToHadron
           
protected  double[][] FnuMuToMu
           
protected  double[][] FnuMuToNuE
           
protected  double[][] FnuMuToNuMu
           
protected  double[][] FnuMuToNuTau
           
protected  double[][] FnuMuToTau
           
protected  double[][] FnuTauToE
           
protected  double[][] FnuTauToHadron
           
protected  double[][] FnuTauToMu
           
protected  double[][] FnuTauToNuE
           
protected  double[][] FnuTauToNuMu
           
protected  double[][] FnuTauToNuTau
           
protected  double[][] FnuTauToTau
           
protected  double[][] FtauToE
           
protected  double[][] FtauToHadron
           
protected  double[][] FtauToMu
           
protected  double[][] FtauToNuE
           
protected  double[][] FtauToNuMu
           
protected  double[][] FtauToNuTau
           
protected  double[][] FtauToTau
           
protected static int GR_FLAG
          For Glashow Resonance
protected  double[] intProbMu
           
protected  double[] intProbNeutrino
           
protected  double[] intProbNuE
          For Glashow Resonance
protected  double[] intProbTau
           
protected static int KNOCK_FLAG
           
protected static int LEPTW_FLAG
           
protected static int MUDECAY_FLAG
           
protected  double[][] muToE
           
protected  double[][] muToHadron
           
protected  double[][] muToMu
           
protected  double[][] muToNuE
           
protected  double[][] muToNuMu
           
protected  double[][] muToNuTau
           
protected  double[][] muToTau
           
protected static int NEUTRAL_FLAG
           
protected  double[][] nuEToE
           
protected  double[][] nuEToHadron
           
protected  double[][] nuEToMu
           
protected  double[][] nuEToNuE
           
protected  double[][] nuEToNuMu
           
protected  double[][] nuEToNuTau
           
protected  double[][] nuEToTau
           
protected  double[][] nuMuToE
           
protected  double[][] nuMuToHadron
           
protected  double[][] nuMuToMu
           
protected  double[][] nuMuToNuE
           
protected  double[][] nuMuToNuMu
           
protected  double[][] nuMuToNuTau
           
protected  double[][] nuMuToTau
           
protected  double[][] nuTauToE
           
protected  double[][] nuTauToHadron
           
protected  double[][] nuTauToMu
           
protected  double[][] nuTauToNuE
           
protected  double[][] nuTauToNuMu
           
protected  double[][] nuTauToNuTau
           
protected  double[][] nuTauToTau
           
protected static int PAIRC_FLAG
           
protected static int PAIRCH_FLAG
           
protected  java.lang.String[] pathName
           
protected static int PHOTO_FLAG
           
protected  double[][] SmuToE
           
protected  double[][] SmuToHadron
           
protected  double[][] SmuToMu
           
protected  double[][] SmuToNuE
           
protected  double[][] SmuToNuMu
           
protected  double[][] SmuToNuTau
           
protected  double[][] SmuToTau
           
protected  double[][] SnuEToE
           
protected  double[][] SnuEToHadron
           
protected  double[][] SnuEToMu
           
protected  double[][] SnuEToNuE
           
protected  double[][] SnuEToNuMu
           
protected  double[][] SnuEToNuTau
           
protected  double[][] SnuEToTau
           
protected  double[][] SnuMuToE
           
protected  double[][] SnuMuToHadron
           
protected  double[][] SnuMuToMu
           
protected  double[][] SnuMuToNuE
           
protected  double[][] SnuMuToNuMu
           
protected  double[][] SnuMuToNuTau
           
protected  double[][] SnuMuToTau
           
protected  double[][] SnuTauToE
           
protected  double[][] SnuTauToHadron
           
protected  double[][] SnuTauToMu
           
protected  double[][] SnuTauToNuE
           
protected  double[][] SnuTauToNuMu
           
protected  double[][] SnuTauToNuTau
           
protected  double[][] SnuTauToTau
           
protected  double[][] StauToE
           
protected  double[][] StauToHadron
           
protected  double[][] StauToMu
           
protected  double[][] StauToNuE
           
protected  double[][] StauToNuMu
           
protected  double[][] StauToNuTau
           
protected  double[][] StauToTau
           
protected static int TAUDECAY_FLAG
           
protected  double[][] tauToE
           
protected  double[][] tauToHadron
           
protected  double[][] tauToMu
           
protected  double[][] tauToNuE
           
protected  double[][] tauToNuMu
           
protected  double[][] tauToNuTau
           
protected  double[][] tauToTau
           
protected  double[][][] temp
           
 
Constructor Summary
PropagationMatrix(Particle nuE, Particle nuMu, Particle nuTau, Particle e, Particle mu, Particle tau, Particle pi, ParticlePoint s, int interactionsSwitch, int decaySwitch)
          Constructor.
PropagationMatrix(Particle nuE, Particle nuMu, Particle nuTau, Particle e, Particle mu, Particle tau, Particle pi, ParticlePoint s, int interactionsSwitch, int decaySwitch, double neutrinoFactor)
          Constructor.
 
Method Summary
 void calculateTransferMatrix()
          Calculate the elementary interaction/decay transfer matrix.
 void copyTransferMatrix()
          Copy the transfer matrix
 void copyTransferMatrixFromStore()
          Copy the transfer matrix from Store matrix
 double getFmuToE(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to Electron with energy jLogE
 double getFmuToHadron(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to Hadron with energy jLogE
 double getFmuToMu(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to Muon with energy jLogE
 double getFmuToNuE(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to nuE with energy jLogE
 double getFmuToNuMu(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to nuMu with energy jLogE
 double getFmuToNuTau(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to nuTau with energy jLogE
 double getFmuToTau(int iLogE, int jLogE)
          Get the propagation matrix element from Muon with energy iLogE to Tau with energy jLogE
 double getFnuEToE(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to Electron with energy jLogE
 double getFnuEToHadron(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to Hadron with energy jLogE
 double getFnuEToMu(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to Muon with energy jLogE
 double getFnuEToNuE(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to nuE with energy jLogE
 double getFnuEToNuMu(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to nuMu with energy jLogE
 double getFnuEToNuTau(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to nuTau with energy jLogE
 double getFnuEToTau(int iLogE, int jLogE)
          Get the propagation matrix element from nuE with energy iLogE to Tau with energy jLogE
 double getFnuMuToE(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to Electron with energy jLogE
 double getFnuMuToHadron(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to Hadron with energy jLogE
 double getFnuMuToMu(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to Muon with energy jLogE
 double getFnuMuToNuE(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to nuE with energy jLogE
 double getFnuMuToNuMu(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to nuMu with energy jLogE
 double getFnuMuToNuTau(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to nuTau with energy jLogE
 double getFnuMuToTau(int iLogE, int jLogE)
          Get the propagation matrix element from nuMu with energy iLogE to Tau with energy jLogE
 double getFnuTauToE(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to Electron with energy jLogE
 double getFnuTauToHadron(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to Hadron with energy jLogE
 double getFnuTauToMu(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to Muon with energy jLogE
 double getFnuTauToNuE(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to nuE with energy jLogE
 double getFnuTauToNuMu(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to nuMu with energy jLogE
 double getFnuTauToNuTau(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to nuTau with energy jLogE
 double getFnuTauToTau(int iLogE, int jLogE)
          Get the propagation matrix element from nuTau with energy iLogE to Tau with energy jLogE
 double getFtauToE(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to Electron with energy jLogE
 double getFtauToHadron(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to Hadron with energy jLogE
 double getFtauToMu(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to Muon with energy jLogE
 double getFtauToNuE(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to nuE with energy jLogE
 double getFtauToNuMu(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to nuMu with energy jLogE
 double getFtauToNuTau(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to nuTau with energy jLogE
 double getFtauToTau(int iLogE, int jLogE)
          Get the propagation matrix element from Tauon with energy iLogE to Tau with energy jLogE
 void init()
          Initialize the propagation matrices.
 void initALL()
          Initialize ALL the propagation matrices including the store matrix.
 void propagateDX()
          Propagate the particles involved over a dX [g/cm^2].
 void propagateDXpowered()
          Propagate the particles involved over a 2^n Delta x [g/cm^2] where Delta x is the propagation distance for the finite propagation matrix.
 void propagateX()
          Propagate the particles involved over X [g/cm^2] where Delta x is the propagation distance for the finite propagation matrix.
 void setDx(double dX)
          Change the infinitesimal propagation length
 void storePropagateMatrix()
          Store the propagation matrix calculated so far to the store matrix which save energy distribution of neutrinos and leptons propagating to the current location.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dX

public double dX
Step size of the propagation [g/cm^2]. Initialized in the constructor.


dXDecay

public double dXDecay
Step size of the propagation [g/cm^2] determined by the shortest decay length. Initialized in the constructor.


c

public static final double c
Speed of light [cm/sec].

See Also:
Constant Field Values

temp

protected double[][][] temp

intProbNeutrino

protected double[] intProbNeutrino

intProbMu

protected double[] intProbMu

intProbTau

protected double[] intProbTau

intProbNuE

protected double[] intProbNuE
For Glashow Resonance


nuEToNuE

protected double[][] nuEToNuE

nuMuToNuE

protected double[][] nuMuToNuE

nuTauToNuE

protected double[][] nuTauToNuE

muToNuE

protected double[][] muToNuE

tauToNuE

protected double[][] tauToNuE

nuEToNuMu

protected double[][] nuEToNuMu

nuMuToNuMu

protected double[][] nuMuToNuMu

nuTauToNuMu

protected double[][] nuTauToNuMu

muToNuMu

protected double[][] muToNuMu

tauToNuMu

protected double[][] tauToNuMu

nuEToNuTau

protected double[][] nuEToNuTau

nuMuToNuTau

protected double[][] nuMuToNuTau

nuTauToNuTau

protected double[][] nuTauToNuTau

muToNuTau

protected double[][] muToNuTau

tauToNuTau

protected double[][] tauToNuTau

nuEToE

protected double[][] nuEToE

nuMuToE

protected double[][] nuMuToE

nuTauToE

protected double[][] nuTauToE

muToE

protected double[][] muToE

tauToE

protected double[][] tauToE

nuEToMu

protected double[][] nuEToMu

nuMuToMu

protected double[][] nuMuToMu

nuTauToMu

protected double[][] nuTauToMu

muToMu

protected double[][] muToMu

tauToMu

protected double[][] tauToMu

nuEToTau

protected double[][] nuEToTau

nuMuToTau

protected double[][] nuMuToTau

nuTauToTau

protected double[][] nuTauToTau

muToTau

protected double[][] muToTau

tauToTau

protected double[][] tauToTau

nuEToHadron

protected double[][] nuEToHadron

nuMuToHadron

protected double[][] nuMuToHadron

nuTauToHadron

protected double[][] nuTauToHadron

muToHadron

protected double[][] muToHadron

tauToHadron

protected double[][] tauToHadron

FnuEToNuE

protected double[][] FnuEToNuE

FnuMuToNuE

protected double[][] FnuMuToNuE

FnuTauToNuE

protected double[][] FnuTauToNuE

FmuToNuE

protected double[][] FmuToNuE

FtauToNuE

protected double[][] FtauToNuE

FnuEToNuMu

protected double[][] FnuEToNuMu

FnuMuToNuMu

protected double[][] FnuMuToNuMu

FnuTauToNuMu

protected double[][] FnuTauToNuMu

FmuToNuMu

protected double[][] FmuToNuMu

FtauToNuMu

protected double[][] FtauToNuMu

FnuEToNuTau

protected double[][] FnuEToNuTau

FnuMuToNuTau

protected double[][] FnuMuToNuTau

FnuTauToNuTau

protected double[][] FnuTauToNuTau

FmuToNuTau

protected double[][] FmuToNuTau

FtauToNuTau

protected double[][] FtauToNuTau

FnuEToE

protected double[][] FnuEToE

FnuMuToE

protected double[][] FnuMuToE

FnuTauToE

protected double[][] FnuTauToE

FmuToE

protected double[][] FmuToE

FtauToE

protected double[][] FtauToE

FnuEToMu

protected double[][] FnuEToMu

FnuMuToMu

protected double[][] FnuMuToMu

FnuTauToMu

protected double[][] FnuTauToMu

FmuToMu

protected double[][] FmuToMu

FtauToMu

protected double[][] FtauToMu

FnuEToTau

protected double[][] FnuEToTau

FnuMuToTau

protected double[][] FnuMuToTau

FnuTauToTau

protected double[][] FnuTauToTau

FmuToTau

protected double[][] FmuToTau

FtauToTau

protected double[][] FtauToTau

FnuEToHadron

protected double[][] FnuEToHadron

FnuMuToHadron

protected double[][] FnuMuToHadron

FnuTauToHadron

protected double[][] FnuTauToHadron

FmuToHadron

protected double[][] FmuToHadron

FtauToHadron

protected double[][] FtauToHadron

SnuEToNuE

protected double[][] SnuEToNuE

SnuMuToNuE

protected double[][] SnuMuToNuE

SnuTauToNuE

protected double[][] SnuTauToNuE

SmuToNuE

protected double[][] SmuToNuE

StauToNuE

protected double[][] StauToNuE

SnuEToNuMu

protected double[][] SnuEToNuMu

SnuMuToNuMu

protected double[][] SnuMuToNuMu

SnuTauToNuMu

protected double[][] SnuTauToNuMu

SmuToNuMu

protected double[][] SmuToNuMu

StauToNuMu

protected double[][] StauToNuMu

SnuEToNuTau

protected double[][] SnuEToNuTau

SnuMuToNuTau

protected double[][] SnuMuToNuTau

SnuTauToNuTau

protected double[][] SnuTauToNuTau

SmuToNuTau

protected double[][] SmuToNuTau

StauToNuTau

protected double[][] StauToNuTau

SnuEToE

protected double[][] SnuEToE

SnuMuToE

protected double[][] SnuMuToE

SnuTauToE

protected double[][] SnuTauToE

SmuToE

protected double[][] SmuToE

StauToE

protected double[][] StauToE

SnuEToMu

protected double[][] SnuEToMu

SnuMuToMu

protected double[][] SnuMuToMu

SnuTauToMu

protected double[][] SnuTauToMu

SmuToMu

protected double[][] SmuToMu

StauToMu

protected double[][] StauToMu

SnuEToTau

protected double[][] SnuEToTau

SnuMuToTau

protected double[][] SnuMuToTau

SnuTauToTau

protected double[][] SnuTauToTau

SmuToTau

protected double[][] SmuToTau

StauToTau

protected double[][] StauToTau

SnuEToHadron

protected double[][] SnuEToHadron

SnuMuToHadron

protected double[][] SnuMuToHadron

SnuTauToHadron

protected double[][] SnuTauToHadron

SmuToHadron

protected double[][] SmuToHadron

StauToHadron

protected double[][] StauToHadron

CHARGED_FLAG

protected static final int CHARGED_FLAG
See Also:
Constant Field Values

NEUTRAL_FLAG

protected static final int NEUTRAL_FLAG
See Also:
Constant Field Values

PAIRC_FLAG

protected static final int PAIRC_FLAG
See Also:
Constant Field Values

PAIRCH_FLAG

protected static final int PAIRCH_FLAG
See Also:
Constant Field Values

KNOCK_FLAG

protected static final int KNOCK_FLAG
See Also:
Constant Field Values

BREMSS_FLAG

protected static final int BREMSS_FLAG
See Also:
Constant Field Values

PHOTO_FLAG

protected static final int PHOTO_FLAG
See Also:
Constant Field Values

LEPTW_FLAG

protected static final int LEPTW_FLAG
See Also:
Constant Field Values

GR_FLAG

protected static final int GR_FLAG
For Glashow Resonance

See Also:
Constant Field Values

MUDECAY_FLAG

protected static final int MUDECAY_FLAG
See Also:
Constant Field Values

TAUDECAY_FLAG

protected static final int TAUDECAY_FLAG
See Also:
Constant Field Values

ALL_FLAG

protected static final int ALL_FLAG
For Glashow Resonance

See Also:
Constant Field Values

pathName

protected java.lang.String[] pathName
Constructor Detail

PropagationMatrix

public PropagationMatrix(Particle nuE,
                         Particle nuMu,
                         Particle nuTau,
                         Particle e,
                         Particle mu,
                         Particle tau,
                         Particle pi,
                         ParticlePoint s,
                         int interactionsSwitch,
                         int decaySwitch,
                         double neutrinoFactor)
                  throws java.io.IOException
Constructor. Reading all the InteractiosMatrix objects and generating the DecayMatrix objects. The infinitesimal propagation distance dX [g/cm^2] is also determined here.

Throws:
java.io.IOException

PropagationMatrix

public PropagationMatrix(Particle nuE,
                         Particle nuMu,
                         Particle nuTau,
                         Particle e,
                         Particle mu,
                         Particle tau,
                         Particle pi,
                         ParticlePoint s,
                         int interactionsSwitch,
                         int decaySwitch)
                  throws java.io.IOException
Constructor. Reading all the InteractiosMatrix objects and generating the DecayMatrix objects. The infinitesimal propagation distance dX [g/cm^2] is also determined here. Use the default value of the neutrino CC/NC enhancement foactor

Throws:
java.io.IOException
Method Detail

init

public void init()
Initialize the propagation matrices.


initALL

public void initALL()
Initialize ALL the propagation matrices including the store matrix.


calculateTransferMatrix

public void calculateTransferMatrix()
Calculate the elementary interaction/decay transfer matrix. The mass density of the proagation medium is approxed to be constant and equal to the cuurent particle location for saving CPU time. The infinitesimal propagation over dX is a subject to consider here. All the calculated matrix elements are stored in nuToNu[kLogE][jLogE], tauToNuE[kLogE][jLogE] etc. The bin width and the relation between energy index kLogE (integer) and energy are defined in Particle.class as usual since it relies on InteractionMatrix object which is pre-calculated and stored in the file. InteractionMatrix object for each interaction is read by the constructor PropagationMatrix( ).


propagateDX

public void propagateDX()
Propagate the particles involved over a dX [g/cm^2]. The calculation is performed by multiplication of the elemental transfer matrix calculated by calculateTransferMatrix( ) called in the constructor PropagationMatrix( ). The particle energy distribution after propagation over n x dX [g] can be, for example, obtained by calling this method n times. The resultant energy distributions are stored in FmuToNuE[iLogE][kLogE] etc.


propagateDXpowered

public void propagateDXpowered()
Propagate the particles involved over a 2^n Delta x [g/cm^2] where Delta x is the propagation distance for the finite propagation matrix. "n" is the times to call this method. It doubles the finit propagation matrix (FnuEtoNuE[iLogE][jLog] for example) calculated by propagateDX( ). The resultant matrix element describes the energy distribution of particles.


propagateX

public void propagateX()
Propagate the particles involved over X [g/cm^2] where Delta x is the propagation distance for the finite propagation matrix. It multiples the finit propagation matrix calculated by propagateDX( ) and proagateDXpowerd( ) and storerd in nuETonuE[][] etc by copyTransferMatrix( ).


copyTransferMatrix

public void copyTransferMatrix()
Copy the transfer matrix


storePropagateMatrix

public void storePropagateMatrix()
Store the propagation matrix calculated so far to the store matrix which save energy distribution of neutrinos and leptons propagating to the current location. You can then initialize the propagation matrix by init( ) and start another propagation calculation in a different section of the trajectory. You can get the results stored here back to the propagation matrix by calling the method copyTransferMatrixFromStore( ).


copyTransferMatrixFromStore

public void copyTransferMatrixFromStore()
Copy the transfer matrix from Store matrix


setDx

public void setDx(double dX)
Change the infinitesimal propagation length


getFnuEToNuE

public double getFnuEToNuE(int iLogE,
                           int jLogE)
Get the propagation matrix element from nuE with energy iLogE to nuE with energy jLogE


getFnuEToNuMu

public double getFnuEToNuMu(int iLogE,
                            int jLogE)
Get the propagation matrix element from nuE with energy iLogE to nuMu with energy jLogE


getFnuEToNuTau

public double getFnuEToNuTau(int iLogE,
                             int jLogE)
Get the propagation matrix element from nuE with energy iLogE to nuTau with energy jLogE


getFnuEToE

public double getFnuEToE(int iLogE,
                         int jLogE)
Get the propagation matrix element from nuE with energy iLogE to Electron with energy jLogE


getFnuEToMu

public double getFnuEToMu(int iLogE,
                          int jLogE)
Get the propagation matrix element from nuE with energy iLogE to Muon with energy jLogE


getFnuEToTau

public double getFnuEToTau(int iLogE,
                           int jLogE)
Get the propagation matrix element from nuE with energy iLogE to Tau with energy jLogE


getFnuEToHadron

public double getFnuEToHadron(int iLogE,
                              int jLogE)
Get the propagation matrix element from nuE with energy iLogE to Hadron with energy jLogE


getFnuMuToNuE

public double getFnuMuToNuE(int iLogE,
                            int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to nuE with energy jLogE


getFnuMuToNuMu

public double getFnuMuToNuMu(int iLogE,
                             int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to nuMu with energy jLogE


getFnuMuToNuTau

public double getFnuMuToNuTau(int iLogE,
                              int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to nuTau with energy jLogE


getFnuMuToE

public double getFnuMuToE(int iLogE,
                          int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to Electron with energy jLogE


getFnuMuToMu

public double getFnuMuToMu(int iLogE,
                           int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to Muon with energy jLogE


getFnuMuToTau

public double getFnuMuToTau(int iLogE,
                            int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to Tau with energy jLogE


getFnuMuToHadron

public double getFnuMuToHadron(int iLogE,
                               int jLogE)
Get the propagation matrix element from nuMu with energy iLogE to Hadron with energy jLogE


getFnuTauToNuE

public double getFnuTauToNuE(int iLogE,
                             int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to nuE with energy jLogE


getFnuTauToNuMu

public double getFnuTauToNuMu(int iLogE,
                              int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to nuMu with energy jLogE


getFnuTauToNuTau

public double getFnuTauToNuTau(int iLogE,
                               int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to nuTau with energy jLogE


getFnuTauToE

public double getFnuTauToE(int iLogE,
                           int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to Electron with energy jLogE


getFnuTauToMu

public double getFnuTauToMu(int iLogE,
                            int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to Muon with energy jLogE


getFnuTauToTau

public double getFnuTauToTau(int iLogE,
                             int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to Tau with energy jLogE


getFnuTauToHadron

public double getFnuTauToHadron(int iLogE,
                                int jLogE)
Get the propagation matrix element from nuTau with energy iLogE to Hadron with energy jLogE


getFmuToNuE

public double getFmuToNuE(int iLogE,
                          int jLogE)
Get the propagation matrix element from Muon with energy iLogE to nuE with energy jLogE


getFmuToNuMu

public double getFmuToNuMu(int iLogE,
                           int jLogE)
Get the propagation matrix element from Muon with energy iLogE to nuMu with energy jLogE


getFmuToNuTau

public double getFmuToNuTau(int iLogE,
                            int jLogE)
Get the propagation matrix element from Muon with energy iLogE to nuTau with energy jLogE


getFmuToE

public double getFmuToE(int iLogE,
                        int jLogE)
Get the propagation matrix element from Muon with energy iLogE to Electron with energy jLogE


getFmuToMu

public double getFmuToMu(int iLogE,
                         int jLogE)
Get the propagation matrix element from Muon with energy iLogE to Muon with energy jLogE


getFmuToTau

public double getFmuToTau(int iLogE,
                          int jLogE)
Get the propagation matrix element from Muon with energy iLogE to Tau with energy jLogE


getFmuToHadron

public double getFmuToHadron(int iLogE,
                             int jLogE)
Get the propagation matrix element from Muon with energy iLogE to Hadron with energy jLogE


getFtauToNuE

public double getFtauToNuE(int iLogE,
                           int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to nuE with energy jLogE


getFtauToNuMu

public double getFtauToNuMu(int iLogE,
                            int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to nuMu with energy jLogE


getFtauToNuTau

public double getFtauToNuTau(int iLogE,
                             int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to nuTau with energy jLogE


getFtauToE

public double getFtauToE(int iLogE,
                         int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to Electron with energy jLogE


getFtauToMu

public double getFtauToMu(int iLogE,
                          int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to Muon with energy jLogE


getFtauToTau

public double getFtauToTau(int iLogE,
                           int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to Tau with energy jLogE


getFtauToHadron

public double getFtauToHadron(int iLogE,
                              int jLogE)
Get the propagation matrix element from Tauon with energy iLogE to Hadron with energy jLogE