iceCube.uhe.event
Class MonteCarloBase

java.lang.Object
  extended by iceCube.uhe.event.MonteCarloBase
Direct Known Subclasses:
ElectronBase, GlashowResonanceBase, InteractionsBase, MuDecayBase, TauDecayBase

public abstract class MonteCarloBase
extends java.lang.Object


This is the abstract class to define the methods for both intereactions and decay
that determines the pathlength and produced energy with the Monte Carlo method.
The acutual implementaion of the mothods are made by InteractionsBase.java
(in the intereactions package) and MuDecayBase/TauDecayBase.java (in the decay package).

This class also defines the method to tell you particle flavor and doublet involved
so that the Event class can decide which interaction (or decay) should be
taken for a given primary particle.


Constructor Summary
MonteCarloBase()
           
 
Method Summary
abstract  java.lang.String getInteractionName()
          Get name of the interaction
abstract  double getNeutrinoPathLength(double logEnergy, RandomGenerator rand)
           
abstract  double getNeutrinoPathLength(int iLogE, RandomGenerator rand)
           
abstract  double getPathLength(double logEnergy, RandomGenerator rand)
           
abstract  double getPathLength(int iLogE, RandomGenerator rand)
          Get the pathlength
abstract  double getProducedEnergy(double logEnergy, RandomGenerator rand)
           
abstract  double getProducedEnergy(int iLogE, RandomGenerator rand)
          Get the logEnergy of the produced particle
abstract  int getProducedFlavor()
          Get information of the produced particle
abstract  int getPropDoublet()
           
abstract  int getPropFlavor()
          Get information of the particle propagating
abstract  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
 

Constructor Detail

MonteCarloBase

public MonteCarloBase()
Method Detail

getPathLength

public abstract double getPathLength(int iLogE,
                                     RandomGenerator rand)
Get the pathlength


getPathLength

public abstract double getPathLength(double logEnergy,
                                     RandomGenerator rand)

getNeutrinoPathLength

public abstract double getNeutrinoPathLength(int iLogE,
                                             RandomGenerator rand)

getNeutrinoPathLength

public abstract double getNeutrinoPathLength(double logEnergy,
                                             RandomGenerator rand)

getProducedEnergy

public abstract double getProducedEnergy(int iLogE,
                                         RandomGenerator rand)
Get the logEnergy of the produced particle


getProducedEnergy

public abstract double getProducedEnergy(double logEnergy,
                                         RandomGenerator rand)

getPropFlavor

public abstract int getPropFlavor()
Get information of the particle propagating


getPropDoublet

public abstract int getPropDoublet()

getProducedFlavor

public abstract int getProducedFlavor()
Get information of the produced particle


getInteractionName

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


getTypeOfInteraction

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