iceCube.uhe.propagation
Class RunPropagationMatrixBHevap

java.lang.Object
  extended by iceCube.uhe.propagation.RunPropagationMatrix
      extended by iceCube.uhe.propagation.RunPropagationMatrixBHevap

public class RunPropagationMatrixBHevap
extends RunPropagationMatrix

        Run the Propagation matrix to calculate the energy distribution
        and the flux of particles after propagation in the Earth. 

        The Incoming Nadir angle, the switches to control
        the interaction and decay channels involved, and the file name
        to record the calculated matrix are read thorugh the arguments.

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


Constructor Summary
RunPropagationMatrixBHevap(double nadirAngle, int intSwitch, int decaySwitch, int mediumNumber, int modelNumber)
           Constructor.
 
Method Summary
 void traceParticles(double trajectoryLength)
           Trace particles running over a finite distance from the current location l to the length of the trajectory.
 
Methods inherited from class iceCube.uhe.propagation.RunPropagationMatrix
saveMatrix, traceParticles
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RunPropagationMatrixBHevap

public RunPropagationMatrixBHevap(double nadirAngle,
                                  int intSwitch,
                                  int decaySwitch,
                                  int mediumNumber,
                                  int modelNumber)
                           throws java.io.IOException
        Constructor. Generate the relevant particles objects and 
        the propagation matrix object. The medium is assumed to be
        the standard rock.

        double nadirAngle:   Nadir angle [deg] of trajectory of the incoming particles.
        int inSwitch:        Interaction Switch to turn on/off the individual interaction
                             channel.
        int decaySwitch:     Decay Switch to turn on/off the individual decay channel.
        int mediumNumber:    Medium number 0 ice 1 rock
        int modelNumber:     Model index of the BH creation
                             0  : n=6 xmin = 1 M_D=1TeV
                             1  : n=6 xmin = 3 M_D=1TeV
        

Throws:
java.io.IOException
Method Detail

traceParticles

public void traceParticles(double trajectoryLength)
        Trace particles running over a finite distance 
        from the current location l to the length of the trajectory.
        This method is actually doing the following processes:

        (1) Calculate how many times the infinitesimal propagation
            (dX [g/cm^2]) has to be invoked for the entire full
            propagation of the particles from the start point to
            the end point.
        (2) Propagate particles 10 x dX[g/cm^2] by calling propagateDX( )
            in the PropagationMatrix object 10 times.
        (3) Propagate the particles involved over a 2^k 10dX [g/cm^2] 
            by calling propagateDXpowered( ) in the PropagationMatrix object 
            k times.
        (4) During (3), store the propagation matrix when particles reaches
            3 % of the total path in their journey. This stored matrix
            is used for the final propagation steps in (5) next.
        (5) Propagate the particles over 0.03 x total path by mulitplication
            of the progation matrix stored in (4). Finish the calculation
            when the particles reaches the final point.

        (6) Repeat (1)-(5) until the particles finishes their travel.
            By doing so, you can reasonably take into account
            the r-dependence of the local medium density which decides
            relative constributions of decay over interactions.
        

Overrides:
traceParticles in class RunPropagationMatrix