iceCube.uhe.analysis
Class I3ParticleWeightFiller

java.lang.Object
  extended by iceCube.uhe.analysis.I3ParticleWeightFiller

public class I3ParticleWeightFiller
extends java.lang.Object

This class provides the methods to fill I3Particles with GZK and Atmospheric muon weights. Every methods are static so that you can call them directly from your object. Written by S. Yoshida 2007 February 1st


Field Summary
protected static double[] icedist
           
protected static double[] icerange
           
protected static java.lang.String[][] matrixFileName
          Data file names of the calculated propagation matricis.
protected static int minNDOMsToFill
          A minimum threshold to fill weights.
protected static java.lang.String[] pathname
           
protected static double[] rockrange
           
 
Constructor Summary
I3ParticleWeightFiller()
           
 
Method Summary
static void fillCRFluxWeight(I3Particle iceParticle, PropagatingAtmMuonFlux muonFlux)
          Fill the CR energy distribution besed on PropagatingAtmMuonFlux in the muonModel package
static void fillPropagatingAtmMuonFluxWeight(I3Particle iceParticle, CosmicRayFlux crFlux, java.lang.String fluxName)
          Fill the weight besed on CosmicRayFlux in the muonModel package.
static void fillPropagatingAtmMuonFluxWeight(I3Particle iceParticle, PropagatingAtmMuonFlux muonFlux, java.lang.String fluxName)
          Fill the weight besed on PropagatingAtmMuonFlux in the muonModel package
static void fillPropagatingNeutrinoFluxWeight(I3Particle iceParticle, PropagatingNeutrinoFlux leptonFlux, int modelNumber, java.lang.String fluxName)
          Fill the weight besed on PropagatingNeutrinoFlux in the neutrinoModel package.
static void fillPropagatingNeutrinoFluxWeight(I3Particle iceParticle, PropagatingNeutrinoFlux leptonFlux, java.lang.String fluxName)
          Fill the weight besed on PropagatingNeutrinoFlux in the neutrinoModel package
protected static java.lang.String getMatrixFileName(J3UnitVector n_ice, double distanceFromEarth, boolean isDownWard)
           
static void main(java.lang.String[] args)
          Main method -- Reading out the stored I3Particles and fills the weight
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

matrixFileName

protected static java.lang.String[][] matrixFileName
Data file names of the calculated propagation matricis.


pathname

protected static java.lang.String[] pathname

rockrange

protected static double[] rockrange

icerange

protected static double[] icerange

icedist

protected static double[] icedist

minNDOMsToFill

protected static int minNDOMsToFill
A minimum threshold to fill weights. For the faster processing

Constructor Detail

I3ParticleWeightFiller

public I3ParticleWeightFiller()
Method Detail

fillPropagatingAtmMuonFluxWeight

public static void fillPropagatingAtmMuonFluxWeight(I3Particle iceParticle,
                                                    PropagatingAtmMuonFlux muonFlux,
                                                    java.lang.String fluxName)
                                             throws java.io.IOException
Fill the weight besed on PropagatingAtmMuonFlux in the muonModel package

Throws:
java.io.IOException

fillCRFluxWeight

public static void fillCRFluxWeight(I3Particle iceParticle,
                                    PropagatingAtmMuonFlux muonFlux)
                             throws java.io.IOException
Fill the CR energy distribution besed on PropagatingAtmMuonFlux in the muonModel package

Throws:
java.io.IOException

fillPropagatingAtmMuonFluxWeight

public static void fillPropagatingAtmMuonFluxWeight(I3Particle iceParticle,
                                                    CosmicRayFlux crFlux,
                                                    java.lang.String fluxName)
Fill the weight besed on CosmicRayFlux in the muonModel package. This method should be used for Corsika-mmc I3Particles in which the primary cosmic ray energy is available and stored by I3Particle.putRecoEnergy(energy).


fillPropagatingNeutrinoFluxWeight

public static void fillPropagatingNeutrinoFluxWeight(I3Particle iceParticle,
                                                     PropagatingNeutrinoFlux leptonFlux,
                                                     java.lang.String fluxName)
                                              throws java.io.IOException
Fill the weight besed on PropagatingNeutrinoFlux in the neutrinoModel package

Throws:
java.io.IOException

fillPropagatingNeutrinoFluxWeight

public static void fillPropagatingNeutrinoFluxWeight(I3Particle iceParticle,
                                                     PropagatingNeutrinoFlux leptonFlux,
                                                     int modelNumber,
                                                     java.lang.String fluxName)
                                              throws java.io.IOException
Fill the weight besed on PropagatingNeutrinoFlux in the neutrinoModel package. The flux specified by the model number given in the argument is calculated and put in the weight map. Refer NeutrinoFlux.java for the model number definition. You have to call readPropagationMatrix() first before usng this method.

Throws:
java.io.IOException

getMatrixFileName

protected static java.lang.String getMatrixFileName(J3UnitVector n_ice,
                                                    double distanceFromEarth,
                                                    boolean isDownWard)

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Main method -- Reading out the stored I3Particles and fills the weight

Throws:
java.io.IOException