iceCube.uhe.muonModel
public class AtmMuonBundleFlux extends java.lang.Object implements Function
UHE Atmospheric Muon fluxes based on the Elbert model taking into account the muon bundles from EAS cascades.
Cambridge University Press, Cambridge, England, 1990 |
Modifier and Type | Field and 説明 |
---|---|
CascadeFluctuationFactory |
cascade
Cascade flucutation calculator object
|
double |
confidenceLevel_of_R
Confidence level of the Energy rato parameter
R = (E_muon/E0)/ Bar(E_muon/E0).
|
protected boolean |
considerAtmosphericCurvature |
static double |
criticalEnergy
critical energy of ionization loss
|
boolean |
fluctuateEventByEvent
Options to calculate flux with/without taking into
account fluxcuation of muon energies due to
the EAS cascade process
true : Flux is calculated such that an event by event flucuation is included.
|
boolean |
includeFluctuationEffects |
Constructor and 説明 |
---|
AtmMuonBundleFlux()
Default Constructor.
|
AtmMuonBundleFlux(double alpha,
double mass_number,
double energy_threshold)
This constuctor sets alpha, mass number, and muon energy threshold
by the values given in its arguments.
|
Modifier and Type | Method and 説明 |
---|---|
void |
considerAtmosphericCurvature(boolean consider)
If true, then the Elbert formula takes into account the atmosphere density
profile is curved following the earth curvature.
|
double |
getAlpha()
Get the alpha parameter
|
double |
getCosineOfZenithAngleAtAtmosphericMuonHeight(double cos_theta_earth)
Calculate the zenith angle at the muon production height up in the
atmosphere.
|
double |
getCosineOfZenithAngleAtEarthSurface(double cos_theta_ice3)
Calculate the zenith angle at the earth surface.
|
double |
getDFDLogCREDLogE(double logCosmicRayEnergy,
double logMuonBundleEnergy,
double cosTheta)
Calculate d^2F/dLogEcrdLogEmuon [/cm^2 sec sr] as a function of
cosmic ray energy and muon (bundle) energy at the earth surface.
|
double |
getDFDLogE(double logEnergy,
double cosTheta)
Calculate dF/dLogE [/cm^2 sec sr] at the earth surface as a function
of log E [GeV] and cosine of zenith angle
|
double |
getDFDLogE(double logEnergy,
double cosTheta,
double slantDepth)
Calculate in-ice dF/dLogE [/cm^2 sec sr] at the slant depth x [g/cm^2]
as a function of log E [GeV] in ice and cosine of zenith angle.
|
double |
getDFDLogE(double logEnergy,
double cosTheta,
double beta_loss,
double slantDepth)
Calculate in-ice dF/dLogE [/cm^2 sec sr] at the slant depth x [g/cm^2]
as a function of log E [GeV] in ice and cosine of zenith angle.
|
double |
getEffectiveEnergyOfCRs(double muonBundleEnergy,
double cosTheta_ice3)
Calculate the effective energy [GeV] of the parent cosmic ray
for a given energy of the EHE muon bundle and its zenith angle
at the IceCube depth.
|
double |
getEffectiveEnergyOfCRs(double logEnergy,
double cosTheta,
double beta_loss,
double slantDepth)
Calculate the effective energy [GeV] of the parent cosmic ray
for a given IN-ICE energy of the EHE muon bundle and its zenith angle
at the IceCube depth.
|
double |
getEFlux(double logEnergy,
double cosTheta)
Calculate energy flux E^2 dF/dE [GeV/cm^2 sec sr]
|
double |
getEFlux(double logEnergy,
double cosTheta,
double beta,
double slantDepth)
Calculate energy flux E^2 dF/dE [GeV/cm^2 sec sr]
at the slant depth x [g/cm^2].
|
double |
getFluctuatedRelativeFlux(double logEnergy,
double cosTheta,
double slantDepth)
Calculate the net fluctuation of the flux due
to the cascade process.
|
double |
getFunction(int functionIndex,
double[] parameters,
double x)
Implementation of interface numRecipes.Function
used for numerical integration of the probability
of (E_muon/E0)/ Bar(E_muon/E0) multiplied by CosmicRayFlux (Energy x R)
int functionIndex : 1 calculation with inice muon, 2 with the surface
double x = R = (E_muon/E0)/ Bar(E_muon/E0)
functionIndex =3 then x = logCosmicRayEnergy
parameter[0] : log10(primary Cosmic Ray Energy [GeV]) to be responsible
for the muon bundle in AVERAGE i.e.
|
double |
getMassNumber()
Get the mass number
|
double |
getMuonThresholdEnergy()
Get the threshold energy of muons [GeV]
|
double |
integralDFDLogCREDLogEOverCREnergy(double lowerLogCosmicRayEnergy,
double upperLogCosmicRayEnergy,
double logMuonBundleEnergy,
double cosTheta) |
boolean |
isValidAlpha(double alpha)
Check if the alpha value in setting is within the valid
range of the Elbert model.
|
protected void |
listFluxes(double logEnergy,
double cosTheta)
integrate getDFDLogCREDLogE(logEcr,logEmu,cosTheta) over logEcr
and compare with getDFDLogE(logEmu,cosTheta) for the consistency check
|
void |
setAlpha(double alpha)
Set the alpha paramerter
|
void |
setConfidenceLevelOfFluctuation(double prob)
Set Confidence level of the Energy rato parameter
R = (E_muon/E0)/ Bar(E_muon/E0).
|
void |
setCutOffFeature(boolean cutoffExists)
Set on/off the GZK feature of the primary cosmic ray spectrum
|
void |
setFluxCalculationMode(boolean includeFluctuationEffects,
boolean fluctuateEventByEvent)
set the mode on the flux caulation
boolean includeFluctuationEffects :
true default. calculate the flux taking into account flucuation of
muon energies due to the EAS cascading.
|
void |
setMassNumber(double mass_number)
set mass number of the primary cosmic rays
|
void |
setMuonThresholdEnergy(double energy_threshold)
Set the threshold energy [GeV] of muons contained in a bundle
|
public static final double criticalEnergy
public CascadeFluctuationFactory cascade
public boolean includeFluctuationEffects
public boolean fluctuateEventByEvent
true : Flux is calculated such that an event by event flucuation is included. Useful to evaluate flucuation of number of background events false: the flucuation effects is included in average way. i.e., The systematic factor of the flux shift due the cascade flucuation is calculated and multiplied in the flux calculation. Useful to the MC-data fitting, calculation of average number of events
public double confidenceLevel_of_R
protected boolean considerAtmosphericCurvature
public AtmMuonBundleFlux()
public AtmMuonBundleFlux(double alpha, double mass_number, double energy_threshold)
public boolean isValidAlpha(double alpha)
public void setAlpha(double alpha)
public double getAlpha()
public void setMassNumber(double mass_number)
public double getMassNumber()
public void setMuonThresholdEnergy(double energy_threshold)
public double getMuonThresholdEnergy()
public void setCutOffFeature(boolean cutoffExists)
public void setFluxCalculationMode(boolean includeFluctuationEffects, boolean fluctuateEventByEvent)
boolean includeFluctuationEffects : true default. calculate the flux taking into account flucuation of muon energies due to the EAS cascading. CascadeFluctuationFactory class does this part of calculation. false calculate the bare flux given by the Elbert formula. an energy of muon bundles is associated with the energy of primary cosmic ray by one-on-one relation. boolean fluctuateEventByEvent : Valid when includeFluctuationEffects = true true : Flux is calculated such that an event by event flucuation is included. Useful to evaluate flucuation of number of background events false: default. the flucuation effects is included in average way. i.e., The systematic factor of the flux shift due the cascade flucuation is calculated and multiplied in the flux calculation. Useful to the MC-data fitting, calculation of average number of events
public void setConfidenceLevelOfFluctuation(double prob)
public double getCosineOfZenithAngleAtEarthSurface(double cos_theta_ice3)
public double getCosineOfZenithAngleAtAtmosphericMuonHeight(double cos_theta_earth)
double cos_theta_earth: cosZenith at the earth surface
public void considerAtmosphericCurvature(boolean consider)
public double getEffectiveEnergyOfCRs(double muonBundleEnergy, double cosTheta_ice3)
public double getEffectiveEnergyOfCRs(double logEnergy, double cosTheta, double beta_loss, double slantDepth)
public double getDFDLogE(double logEnergy, double cosTheta)
public double getDFDLogE(double logEnergy, double cosTheta, double beta_loss, double slantDepth)
public double getDFDLogE(double logEnergy, double cosTheta, double slantDepth)
public double getFluctuatedRelativeFlux(double logEnergy, double cosTheta, double slantDepth)
double logEnergy : Log(Muon Bundle Energy in ice [GeV])The muon propagation effects are accounted by the simple CEL approximation.
public double getEFlux(double logEnergy, double cosTheta)
public double getEFlux(double logEnergy, double cosTheta, double beta, double slantDepth)
public double getDFDLogCREDLogE(double logCosmicRayEnergy, double logMuonBundleEnergy, double cosTheta)
double logCosmicRayEneergy : log10(Cosmic Ray Energy [GeV]) double logMuonBundleEneergy : log10(Muone Bundle Energy [GeV]) double cosTheta : cos(Zenith) of the bundle
public double integralDFDLogCREDLogEOverCREnergy(double lowerLogCosmicRayEnergy, double upperLogCosmicRayEnergy, double logMuonBundleEnergy, double cosTheta)
protected void listFluxes(double logEnergy, double cosTheta)
public double getFunction(int functionIndex, double[] parameters, double x)
int functionIndex : 1 calculation with inice muon, 2 with the surface double x = R = (E_muon/E0)/ Bar(E_muon/E0) functionIndex =3 then x = logCosmicRayEnergy parameter[0] : log10(primary Cosmic Ray Energy [GeV]) to be responsible for the muon bundle in AVERAGE i.e. R=1 parameter[1] : cosine(Zenith angle)
getFunction
インタフェース {1} 内の {0} Function