iceCube.uhe.propagation
public class NeutrinoQuickPropagator extends java.lang.Object
|-----------neutrino -----|----------- charged lepton --------------| |-------------------------XX----------------------------------------| <---- analytical ------> <--- PropagationMatrix mutiplication --->As illustrated above, the charged lepton part is taken care of by multiplying the matrix with step size Delta X. The PropagationMatrixFactory object, one of the protected member in this class, is responsible for interface with the matrix data with step size of Delta X. The vertex point XX is integrated from the begining though the end inside the method propagateNeutrino().
Modifier and Type | Field and 説明 |
---|---|
protected static double |
detectorDepth |
protected static double |
distanceMaximum |
protected InteractionsMatrix |
grLeptonMtx
The Leptonic Glashow Resonance interaction to generate the charged lepton
|
protected static java.lang.String[] |
intMtxPathname |
protected PropagationMatrixFactory |
matrix
Propagation Matrix to handle the charged lepton propgation
after the neutrino interaction
|
protected static java.lang.String[] |
matrixFile |
double |
nuCCEnhancementFactor |
protected InteractionsMatrix |
nuCCMtx
The default neutrino matrix charged current interaction
to generate the charged lepton
|
protected static java.lang.String[] |
pathname |
protected ParticlePoint |
s
Propagated medium class
|
protected static double[] |
stepSizeBase |
Constructor and 説明 |
---|
NeutrinoQuickPropagator(ParticlePoint s)
Constructor.
|
Modifier and Type | Method and 説明 |
---|---|
protected void |
calculateNeutrinoToLeptonTransfer(double slantDepth,
double deltaX)
Calculate the charged leptron generation matrix
which plays a role of propagation matrix from neutrino to charged lepton.
|
double |
getDF(int neutrinoFlavor,
double logEneutrino,
int outputFlavor,
int outputDoublet,
double logEoutput)
Returns dF/dLogE * deltaLogE (inputNeutrino ---> outputParticle)
calculated by th method propagateNeutrino().
|
protected void |
initLeptonMatrix()
initialized the propagation matrix elements
|
protected void |
initNeutrinoMatrix()
initialized the propagation matrix elements
|
protected void |
propagateChargedLepton()
propagate the charged leptons by the propagation matrix step size deltaX.
|
void |
propagateNeutrino(double propagationDepth,
double nuCCEnhancementFactor)
Calculation of the neutrino propagation with the methods
of propagateNeutrinoToNeutrino() and propagateNeutrinoToLepton()
double propagationDepth : the neutrino-lepton total propagation distance [g/cm^2]
|
void |
propagateNeutrinoToIceCubeDepth(double nadirAngle,
double nuCCEnhancementFactor)
Calculation of the neutrino propagation with the methods
of propagateNeutrinoToNeutrino() and propagateNeutrinoToLepton()
double nadirAngle : nadire (upgoing) zenith (down) of the neutrino-lepton track [deg]
Note : nadir_angle must be registered in the ParticlePoint object member s
|
void |
propagateNeutrinoToLepton(double totalPropagationLength,
double neutrinoOffSetLength,
double deltaX,
double nuCCEnhancementFactor)
Calculate the neutrino propagation generating leptons
in the appriximated handy method.
|
void |
propagateNeutrinoToNeutrino(double slantDepth,
double nuCCEnhancementFactor)
Calculate the neutrino propagation in the appriximated handy method.
|
void |
readMatrix(java.io.DataInputStream in)
Read the propagation matrix data for handing the charged lepton
propagation.
|
protected void |
readPropagationMatrix(java.lang.String filename)
Let the propagationMatrixFactory read the propagation matrix data
corresponds to the "fileName"
|
void |
setParticlePoint(ParticlePoint s)
Set the particle point class.
|
void |
whetherPropagationMatrixWithGlashowResonance(boolean flag)
If you need to read the matrix data without the Glashow Resonance
call this method first with flag=false before readMatrix(in).
|
protected static java.lang.String[] pathname
protected static java.lang.String[] intMtxPathname
protected static final java.lang.String[] matrixFile
protected static double[] stepSizeBase
protected static double distanceMaximum
protected static double detectorDepth
protected PropagationMatrixFactory matrix
protected ParticlePoint s
protected InteractionsMatrix nuCCMtx
protected InteractionsMatrix grLeptonMtx
public double nuCCEnhancementFactor
public NeutrinoQuickPropagator(ParticlePoint s) throws java.io.IOException
(1). Register the particle point class (2). Read the neutrino interaction matrix (3). Generate the PropagationMatrixFactory object to calculate the muon/tau propagation
java.io.IOException
public void readMatrix(java.io.DataInputStream in) throws java.io.IOException
java.io.IOException
protected void initLeptonMatrix()
protected void initNeutrinoMatrix()
public void whetherPropagationMatrixWithGlashowResonance(boolean flag)
public void setParticlePoint(ParticlePoint s)
public void propagateNeutrinoToLepton(double totalPropagationLength, double neutrinoOffSetLength, double deltaX, double nuCCEnhancementFactor)
double nuCCEnhancementFactor : multiplication factor to the standard CC cross section double slantDepth :depth [g/cm^2] of the neutrino interaction vertex. double deltaX : step size [g/cm^2] of the particle propagation |-----------neutrino -----|----------- charged lepton ---------| |-------------------------XX-----------------------------------| <----- slantDepth -------------------> <------------------- totalPropagationLength ------------------> <-offSetLength->
protected void calculateNeutrinoToLeptonTransfer(double slantDepth, double deltaX)
double slantDepth :depth [g/cm^2] of the neutrino interaction vertex. double deltaX : step size [g/cm^2] of the particle propagation |-----------neutrino -----|----------- charged lepton --------------| |-------------------------XX----------------------------------------| <---- slantDepth ------>
protected void propagateChargedLepton()
public void propagateNeutrinoToNeutrino(double slantDepth, double nuCCEnhancementFactor)
double nuCCEnhancementFactor : multiplication factor to the standard CC cross section double slantDepth :depth [g/cm^2] of the neutrino interaction vertex. |-----------neutrino -------------------------| <----------- slantDepth ------------------->
protected void readPropagationMatrix(java.lang.String filename) throws java.io.IOException
java.io.IOException
public void propagateNeutrino(double propagationDepth, double nuCCEnhancementFactor) throws java.io.IOException
double propagationDepth : the neutrino-lepton total propagation distance [g/cm^2]
java.io.IOException
public void propagateNeutrinoToIceCubeDepth(double nadirAngle, double nuCCEnhancementFactor) throws java.io.IOException
double nadirAngle : nadire (upgoing) zenith (down) of the neutrino-lepton track [deg]Note : nadir_angle must be registered in the ParticlePoint object member s
java.io.IOException
public double getDF(int neutrinoFlavor, double logEneutrino, int outputFlavor, int outputDoublet, double logEoutput)
int neutrinoFlavor : flavor of the NEUTRINO entering into the earth. double logEneutrino : logE [GeV] of the NEUTRINO entering into the earth. int outputFlavor : flavor of the Particle object after the propagation. int outputDoublet : doublet of the Particle object after the propagation. double logEoutput : logE [GeV] of the particle after the propagation.delta LogE is the bin size of the propagation matrix. It is defined by Particle.getDimensionOfLogEnergyMatrix()