iceCube.uhe.interactions
Class InteractionsBase

java.lang.Object
  extended by iceCube.uhe.event.MonteCarloBase
      extended by iceCube.uhe.interactions.InteractionsBase

public class InteractionsBase
extends MonteCarloBase

    The InteractionsBase class to treat all of interactions same as decay for
    RunManager class. This class and other "Base" classes inherit the MonteCarloBase class.
    


Field Summary
static int neutrinoFactor
          In order to save CPU time, we increase neutrino cross section by this factor.
 
Constructor Summary
InteractionsBase(InteractionsMatrix intMtx)
          Constructor for making the cumulative table.
 
Method Summary
 double getCumulativeProbability(double logPrimaryEnergy, double logProducedEnergy)
          Get Cumulative Probability on a given log(Primary Energy [GeV]), log(Produced Energy [GeV])
 java.lang.String getInteractionName()
          Get the name of the interaction
static double getLogEnergyProducedMinimum()
           
 double getNeutrinoPathLength(double logEnergy, RandomGenerator rand)
          Get pathlength for neutrino.
 double getNeutrinoPathLength(int iLogE, RandomGenerator rand)
          Get pathlength for neutrino.
 double getPathLength(double logEnergy, RandomGenerator rand)
          Get pathlength by random number.
 double getPathLength(int iLogE, RandomGenerator rand)
          Get pathlength by random number.
 double getProducedEnergy(double logEnergy, RandomGenerator rand)
          Get produced log energy.
 double getProducedEnergy(int iLogE, RandomGenerator rand)
          Get produced log energy.
 int getProducedFlavor()
          Get the flavor of the produced particle
 int getPropDoublet()
          Get the doublet of the particle propagateing
 int getPropFlavor()
          Get the flavor of the particle propagateing
 int getTypeOfInteraction()
          Get type of the interaction (Interaction->0; Decay->1)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

neutrinoFactor

public static int neutrinoFactor
In order to save CPU time, we increase neutrino cross section by this factor. As long as the meanfree path is by far shorter than the propagation length (presumably 1km), this is equivallent to the case when one neutrino particle represents multiple neutrinos whose number is equal to this factor. You (or RunManager class) have to devide this factor later to compensate this "artificial" enhancement of the neutrino cross section.

Constructor Detail

InteractionsBase

public InteractionsBase(InteractionsMatrix intMtx)
Constructor for making the cumulative table.

Method Detail

getLogEnergyProducedMinimum

public static double getLogEnergyProducedMinimum()

getPathLength

public double getPathLength(int iLogE,
                            RandomGenerator rand)
Get pathlength by random number.

Specified by:
getPathLength in class MonteCarloBase

getPathLength

public double getPathLength(double logEnergy,
                            RandomGenerator rand)
Get pathlength by random number.

Specified by:
getPathLength in class MonteCarloBase

getNeutrinoPathLength

public double getNeutrinoPathLength(int iLogE,
                                    RandomGenerator rand)
Get pathlength for neutrino.

Specified by:
getNeutrinoPathLength in class MonteCarloBase

getNeutrinoPathLength

public double getNeutrinoPathLength(double logEnergy,
                                    RandomGenerator rand)
Get pathlength for neutrino.

Specified by:
getNeutrinoPathLength in class MonteCarloBase

getProducedEnergy

public double getProducedEnergy(int iLogE,
                                RandomGenerator rand)
Get produced log energy. In order to decide the value of log energy in a bin, use a random number

Specified by:
getProducedEnergy in class MonteCarloBase

getProducedEnergy

public double getProducedEnergy(double logEnergy,
                                RandomGenerator rand)
Get produced log energy. In order to decide the value of log energy in a bin, use a random number

Specified by:
getProducedEnergy in class MonteCarloBase

getCumulativeProbability

public double getCumulativeProbability(double logPrimaryEnergy,
                                       double logProducedEnergy)
Get Cumulative Probability on a given log(Primary Energy [GeV]), log(Produced Energy [GeV])
     double logPrimaryEnergy    : Log (Input Primary Energy [GeV])
     double logPproducedEnergy  : Log (Produced Energy [GeV] via this interaction)
   


getPropFlavor

public int getPropFlavor()
Get the flavor of the particle propagateing

Specified by:
getPropFlavor in class MonteCarloBase

getPropDoublet

public int getPropDoublet()
Get the doublet of the particle propagateing

Specified by:
getPropDoublet in class MonteCarloBase

getProducedFlavor

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

Specified by:
getProducedFlavor in class MonteCarloBase

getInteractionName

public java.lang.String getInteractionName()
Get the name of the interaction

Specified by:
getInteractionName in class MonteCarloBase

getTypeOfInteraction

public int getTypeOfInteraction()
Get type of the interaction (Interaction->0; Decay->1)

Specified by:
getTypeOfInteraction in class MonteCarloBase