iceCube.uhe.particles
public class I3Particle extends Particle implements java.io.Serializable
If you want to get/set valuables on MC truth, then run the methonds of this class object, p, as following.
% p.switchToMCTruth(); % J3UnitVector n = p.getDirectionInIceCubeCoordinate();for the "reconstruction" results, then
% p.switchToReco(); % J3UnitVector n = p.getDirectionInIceCubeCoordinate();
This class can be serialized and, thus, can be stored in disk once you fill it with the data.
Written originaly for the IceCube EHE analysis by S.Yoshida 2006/12/26
Modifier and Type | Class and Description |
---|---|
class |
I3Particle.I3Data
IceCube data class.
|
NumberOfDoublet, NumberOfFlavor, particleMasses
Constructor and Description |
---|
I3Particle(int flavor,
int doublet)
Constructor.
|
I3Particle(int flavor,
int doublet,
double energy)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
copyPropagationMatrixData(double[][] fNuToThis)
Copy the given propagation matrix to the energy distribution matrix
dN/dLogEin.
|
double |
getAtmosphericMuonFlux(java.lang.String fluxName)
Return the Atmospheric Muon flux dF/dLogE [/cm^2 sec sr]
stored by String "fluxName".
|
J3UnitVector |
getDirectionInEarthCenterCoordinate()
Returns the unit vector of the axis direction in
the Earth Center coordinate
|
J3UnitVector |
getDirectionInIceCubeCoordinate()
Returns the unit vector of the axis direction in
the IceCube coordinate
|
double |
getDistanceFromEarthSurfaceToIceCube()
Get the distance from the Earth Surface that this particle
has propagated before reching to the IceCube volume
|
double |
getFirstGuessQuality()
Returns the First Guess fit quality parameter such as the velocity
|
double |
getGZKNeutrinoFlux(java.lang.String fluxName)
Return the GZK neutrino flux dF/dLogE [/cm^2 sec sr]
stored by String "fluxName".
|
I3Particle.I3Data |
getIceCubeData()
The method to access inner IceCube data class
|
double |
getLogRecoEnergy()
get the energy estimated by a reconstruction program
|
double |
getMCPrimarySpectrumWeight()
Return the MC primary spectrum weight
|
J3Line |
getParticleAxis()
Return the trajectory of the particle in form of J3Line
|
J3Vector |
getR0InEarthCenterCoordinate()
Returns the axis location (possibly, center of brightness) in
the IceCube coordinate
|
J3Vector |
getR0InIceCubeCoordinate()
Returns the axis location (possibly, center of brightness) in
the Earth Center coordinate
|
double |
getRecoEnergy()
get the energy estimated by a reconstruction program
|
boolean |
isMCTruth()
Tells if this object returns valuables on MC Truth.
|
java.util.Iterator |
iteratorOfAtmosphericMuonFlux()
Return iterator to the map of GZK neutrino fluxes.
|
java.util.Iterator |
iteratorOfGZKNeutrinoFlux()
Return iterator to the map of GZK neutrino fluxes.
|
void |
putRecoEnergy(double energy)
put the energy estimated by a reconstruction program
|
void |
removeAtmosphericMuonFlux(java.lang.String fluxName)
Remove the Atmospheric Muon flux data stored by String "fluxName"
|
void |
removeGZKNeutrinoFlux(java.lang.String fluxName)
Remove the GZK neutrino flux data stored by String "fluxName"
|
void |
setAtmosphericMuonFlux(double flux,
java.lang.String fluxName)
Sets the Atmospheric Muon flux dF/dLogE [/cm^2 sec sr] for weight.
|
void |
setDistanceFromEarthSurfaceToIceCube(double distance)
Set the distance from the Earth Surface that this particle
has propagated before reching to the IceCube volume
|
void |
setFirstGuessQuality(double quality)
put the First Guess fit quality parameter such as the velocity
|
void |
setGZKNeutrinoFlux(double flux,
java.lang.String fluxName)
Sets the GZK neutrino flux dF/dLogE [/cm^2 sec sr] for weight.
|
void |
setMCPrimarySpectrumWeight(double weight)
Set the MC primary spectrum weight
You have to switch to MCTruth (by calling switchToMCTruth())
to put this weight, due to the safety reasons.
|
void |
setParticleAxisInEarthCenterCoordinate(J3Line axis)
Sets the particle axis defined in the Earth Center coordinate
|
void |
setParticleAxisInIceCubeCoordinate(J3Line axis)
Sets the particle axis defined in the IceCube coordinate
|
void |
switchToMCTruth()
Switch to parameters concerned with MCtrue.
|
void |
switchToReco()
Switch to parameters concerned with Reco results.
|
void |
transformParticleAxisToEarthCenterCoordinate()
Transofrm the particle axis vector from the IceCube coordinate
to the Earth Cencer coordinate
|
void |
transformParticleAxisToIceCubeCoordinate()
Transofrm the particle axis vector from the Earth Center coordinate
to the IceCube coordinate
|
generateLogEnergyMatrix, getDeltaLogEnergy, getDimensionOfLogEnergyMatrix, getDoublet, getEnergy, getFlavor, getLifeTime, getLogEnergy, getLogEnergyMatrix, getLogEnergyMinimum, getMass, isValidDoublet, isValidEnergy, isValidFlavor, particleName, putDeltaLogEnergy, putDimensionOfLogEnergyMatrix, putEnergy, putLogEnergy, putLogEnergyMatrix, putLogEnergyMatrix, putLogEnergyMinimum, setFlavorAndDoublet
public I3Particle(int flavor, int doublet, double energy)
flabor ... flavor valuable doblet ... doublet valuable energy ... initial Energy [GeV]
public I3Particle(int flavor, int doublet)
flabor ... flavor valuable doblet ... doublet valuable
public void switchToMCTruth()
public void switchToReco()
public boolean isMCTruth()
public void putRecoEnergy(double energy)
public double getRecoEnergy()
public double getLogRecoEnergy()
public void setFirstGuessQuality(double quality)
public void setDistanceFromEarthSurfaceToIceCube(double distance)
public double getDistanceFromEarthSurfaceToIceCube()
public double getFirstGuessQuality()
public void setParticleAxisInIceCubeCoordinate(J3Line axis)
public void setParticleAxisInEarthCenterCoordinate(J3Line axis)
public J3UnitVector getDirectionInIceCubeCoordinate()
public J3UnitVector getDirectionInEarthCenterCoordinate()
public J3Vector getR0InIceCubeCoordinate()
public J3Vector getR0InEarthCenterCoordinate()
public J3Line getParticleAxis()
public void transformParticleAxisToEarthCenterCoordinate()
public void transformParticleAxisToIceCubeCoordinate()
public void setGZKNeutrinoFlux(double flux, java.lang.String fluxName)
flux : dF/dLogE [/cm^2 sec sr] fluxName: model name like "YT m=4 Zmax=4"
public void setAtmosphericMuonFlux(double flux, java.lang.String fluxName)
flux : dF/dLogE [/cm^2 sec sr] fluxName: model name like "Elbert bundle model"
public double getGZKNeutrinoFlux(java.lang.String fluxName)
public void removeGZKNeutrinoFlux(java.lang.String fluxName)
public double getAtmosphericMuonFlux(java.lang.String fluxName)
public void removeAtmosphericMuonFlux(java.lang.String fluxName)
public java.util.Iterator iteratorOfGZKNeutrinoFlux()
A example : Iterator gzkIterator = iceParticle.iteratorOfGZKNeutrinoFlux(); while(gzkIterator.hasNext()){ Map.Entry entry = (Map.Entry )(gzkIterator.next()); Double flux = (Double )(entry.getValue()); String name = (String )(entry.getKey()); }
public java.util.Iterator iteratorOfAtmosphericMuonFlux()
public void copyPropagationMatrixData(double[][] fNuToThis)
double[][] fNuToThis : A Propagation Matrix
public void setMCPrimarySpectrumWeight(double weight)
public double getMCPrimarySpectrumWeight()
public I3Particle.I3Data getIceCubeData()