iceCube.uhe.muonModel
public class ElbertFluxTableFactory extends java.lang.Object
protected double[] muEThMin; // [alpha] protected double[] muEThStepSize; // [alpha] public int[] numberOfMuEThSteps;// [alpha]in each of alpha bins. The range of the alpha parameter of the Elbert formola is defined by the protected member valuables
protected double alphaMin = 1.85; protected double alphaStepSize = 0.01; public final int numberOfAlphaSteps = 36; alpha = alphaMin + alphaStepSize x alphabinCheck out the simple main method for demonstration of this factory. Written by S. Yoshida 2008 June 2nd
Modifier and Type | Field and Description |
---|---|
protected int |
alphaBin |
static double |
alphaMin
Minimum bound of alpha in the tanle.
|
static double |
alphaStepSize
Step size of the alpha in the table
|
protected double[][][][] |
dFMuDLogEarray |
protected static double[] |
icedist |
protected double |
logEmuonMin |
protected double |
logEmuonStepSize |
static int |
maxNumberOfMuEThSteps
Number of bins of the Muon Energy Threshold in the table
|
protected int |
muEThBin |
protected double[] |
muEThMin |
protected double[] |
muEThStepSize |
static int |
numberOfAlphaSteps
Number of bins of the alpha in the table
|
protected static int |
numberOfDistance |
protected int |
numberOfEmuon |
int[] |
numberOfMuEThSteps |
protected static java.lang.String[] |
tableFileName |
static java.lang.String |
tablePath
Path to the directory where the flux tables are stored.
|
Constructor and Description |
---|
ElbertFluxTableFactory()
Default constrctor : Reads the table data from all the files
tablePath + tableFileName[i].
|
ElbertFluxTableFactory(java.lang.String fileName,
int distanceIndex)
This consrtuctor reads the single table data from the fine
given in the argument.
|
Modifier and Type | Method and Description |
---|---|
double |
getAlpha()
Return the alpha value set by setElbertParameters
|
double |
getDFMuDLogE(double distance,
double logEmu)
Returns dFMu/dLogE for given indexes of distance, logEmu.
|
double |
getDFMuDLogE(double alpha,
double muETh,
double distance,
double logEmu)
Returns dFMu/dLogE for given alpha, muEth, distance, logEmu.
|
double |
getDFMuDLogE(int ialpha,
int iMuETh,
double distance,
double logEmu)
Returns dFMu/dLogE for given indexes of alpha, muEth, distance, logEmu.
|
double |
getMuETh()
Return the muETh value set by setElbertParameters
|
static void |
main(java.lang.String[] args)
Simple main function for debugging/demonstrating this class
|
protected void |
readTableData()
Reading out the table data files from tableFileName[i]
|
protected void |
readTableData(java.lang.String fileName,
int distanceIndex)
Reading out the table data file with name fileName
|
void |
setElbertParameters(double alpha)
Set alpha.Eth is set to be the lowest value i.e.
|
void |
setElbertParameters(double alpha,
double muETh)
Set alpha and the threshold energy of Muon.
|
void |
setElbertParameters(int alphabin)
Set the bin numbers of alpha.
|
void |
setElbertParameters(int alphabin,
int muEThbin)
Set the bin numbers of alpha and the threshold energy of Muon.
|
public static java.lang.String tablePath
protected static final java.lang.String[] tableFileName
protected static final int numberOfDistance
protected static double[] icedist
public static double alphaMin
public static double alphaStepSize
public static int numberOfAlphaSteps
protected double[] muEThMin
protected double[] muEThStepSize
public int[] numberOfMuEThSteps
public static int maxNumberOfMuEThSteps
protected double logEmuonMin
protected double logEmuonStepSize
protected int numberOfEmuon
protected double[][][][] dFMuDLogEarray
protected int alphaBin
protected int muEThBin
public ElbertFluxTableFactory() throws java.io.IOException
java.io.IOException
public ElbertFluxTableFactory(java.lang.String fileName, int distanceIndex) throws java.io.IOException
String fileName : name of the table file name you read int distanceIndex : index of distance to contain the flux data in the array
java.io.IOException
protected void readTableData() throws java.io.IOException
java.io.IOException
protected void readTableData(java.lang.String fileName, int distanceIndex) throws java.io.IOException
String fileName : name of the table file name you read int distanceIndex : index of distance to contain the flux data in the array
java.io.IOException
public double getDFMuDLogE(int ialpha, int iMuETh, double distance, double logEmu)
ialpha = (alpha - alphaMin)/alphaStepSize iMuETh = (muETh - muEThMin)/muEThStepSize distance : Propagation distance [cm] logEmu : log(Muon Bundle Energy[GeV])
public double getDFMuDLogE(double alpha, double muETh, double distance, double logEmu)
alpha : The Elbert formula's parameter - used in AtmMuonBundleFlux class muETh : The threshold energy of muon - used in AtmMuonBundleFlux class distance : Propagation distance [cm] logEmu : log(Muon Bundle Energy[GeV])
public void setElbertParameters(int alphabin, int muEThbin)
alphabin = (alpha - alphaMin)/alphaStepSize muEThbin = (muETh - muEThMin)/muEThStepSizeThey are must be within [0, numberOfAlphaSteps], [0, numberOfMuEThSteps[alphabin]], which is determined by the calculated range of the table data.
public void setElbertParameters(double alpha, double muETh)
public void setElbertParameters(int alphabin)
alphabin = (alpha - alphaMin)/alphaStepSizeThey are must be within [0, numberOfAlphaSteps], which is determined by the calculated range of the table data.
public void setElbertParameters(double alpha)
public double getAlpha()
public double getMuETh()
public double getDFMuDLogE(double distance, double logEmu)
distance : Propagation distance [cm] logEmu : log(Muon Bundle Energy[GeV])
public static void main(java.lang.String[] args) throws java.io.IOException
java.io.IOException