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 alphabin
Check 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.IOExceptionpublic 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.IOExceptionprotected void readTableData()
throws java.io.IOException
java.io.IOExceptionprotected 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.IOExceptionpublic 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)/muEThStepSize
They 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)/alphaStepSize
They 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