iceCube.uhe.propagation
public class RunPropagationMatrix extends java.lang.Object
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 and Description |
---|
RunPropagationMatrix()
Constructor to do nothing - for subclass modules
|
RunPropagationMatrix(double nadirAngle,
int intSwitch,
int decaySwitch,
int mediumNumber)
Constructor.
|
RunPropagationMatrix(double nadirAngle,
int intSwitch,
int decaySwitch,
int mediumNumber,
double neutrinoFactor) |
Modifier and Type | Method and Description |
---|---|
void |
saveMatrix(java.io.DataOutputStream out)
Save the calculated propagatin matrix
|
void |
traceParticles()
Same as traceParticles(double trajectoryLength)
but the end point is decided to be where the particles
emerged from the underground.
|
void |
traceParticles(double trajectoryLength)
Trace particles running over a finite distance
from the current location l to the length of the trajectory.
|
public RunPropagationMatrix(double nadirAngle, int intSwitch, int decaySwitch, int mediumNumber) 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
java.io.IOException
public RunPropagationMatrix()
public RunPropagationMatrix(double nadirAngle, int intSwitch, int decaySwitch, int mediumNumber, double neutrinoFactor) throws java.io.IOException
java.io.IOException
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.
public void traceParticles()
Same as traceParticles(double trajectoryLength) but the end point is decided to be where the particles emerged from the underground.
public void saveMatrix(java.io.DataOutputStream out) throws java.io.IOException
java.io.IOException