iceCube.uhe.event
public class JulietEventGenerator4Gen2 extends java.lang.Object
This is a run manager for the Event class. It initializes all the obejcts and parameters necessary for events and then run the Event objects. Ported JulietEventGenerator.java to run simulations for IceCube-Gen2. Written by S.Yoshida February 3 2016. Below are the history of the original JulietEventGenerator class. Initial version written by Shigeru Yoshida November 28 2004. Ice3 geometry calculation is implemented by S.Yoshida and T.Noda December 29 2004. Modified to adopt IceTray framework by K.Hoshina January 27 2005. added functions: - J3UnitVector getPrimaryParticleDirectionInEarthCenterCoordinate() - J3UnitVector getPrimaryParticleDirectionInIceCubeCoordinate() - J3Vector getEndLocationInIceCubeCoordinate() - J3Vector wherePrimaryParticleEndsInIceCubeCoordinate() added field: - J3Vector endLocation_J3Vector_ice3 Modified for neutrinos induced simulations by M.Ono Aplel 1 2007. modified a function: - public void runSingleEvent() added : - double neutrinoMinimumEnergyInTravel Modified for Glashow Resonance by M.Ono December 2 2007. Modified for function to shift Geometry by S.Yoshida December 15 2007.
Modifier and Type | Field and 説明 |
---|---|
boolean |
neutrinoCSHERAZeus |
Constructor and 説明 |
---|
JulietEventGenerator4Gen2() |
JulietEventGenerator4Gen2(int flavorID,
int doubletID,
double energy,
int mediumID,
int doCC,
int doNC,
int doMuBrems,
int doTauBrems,
int doMuKnock,
int doTauKnock,
int doMu2e,
int doTau2e,
int doMu2mu,
int doTau2mu,
int doMu2tau,
int doTau2tau,
int doMuPN,
int doTauPN,
int doMuDecay,
int doTauDecay,
int posID)
The same constructor, but without the glashow resoanance.
|
JulietEventGenerator4Gen2(int flavorID,
int doubletID,
double energy,
int mediumID,
int doCC,
int doNC,
int doMuBrems,
int doTauBrems,
int doMuKnock,
int doTauKnock,
int doMu2e,
int doTau2e,
int doMu2mu,
int doTau2mu,
int doMu2tau,
int doTau2tau,
int doMuPN,
int doTauPN,
int doGR,
int doMuDecay,
int doTauDecay,
int posID)
Constructor.
|
Modifier and Type | Method and 説明 |
---|---|
void |
configurePropagationGeometry()
Configure the particle progation geometry.
|
void |
definePropagatingParticle(int flavor,
int doublet,
double energy) |
void |
definePropagatingParticle(int flavor,
int doublet,
double energy,
J3Line axis)
Method to set primary energy, flavor, doublet for defining
the input propagating particle, and its geomerty(for future use).
|
void |
definePropagationGeometry(double x_gen2,
double y_gen2,
double z_gen2,
double nadirAngle_gen2,
double azimuthAngle_gen2)
define the geometry of propagating particles
double x_ice3 : x [cm] of a particle trajectory point in the IceCubeGen2 coordinate
double y_ice3 : y [cm] of a particle trajectory point in the IceCubeGen2 coordinate
double z_ice3 : z [cm] of a particle trajectory point in the IceCubeGen2 coordinate
double nadirAngle_ice3 : nadir angle [deg] define in the IceCubeGen2 coodrinate
double azimuthAngle_ice3 : nadir angle [deg] define in the IceCubeGen2 coodrinate
|
void |
definePropagationGeometry(double x_gen2,
double y_gen2,
double z_gen2,
double nx,
double ny,
double nz)
define the geometry of propagating particles
double x_ice3 : x [cm] of a particle trajectory point in the IceCubeGen2 coordinate
double y_ice3 : y [cm] of a particle trajectory point in the IceCubeGen2 coordinate
double z_ice3 : z [cm] of a particle trajectory point in the IceCubeGen2 coordinate
double nx,ny,nz : unit direction vector represented by the IceCubeGen2 coordinate
|
void |
definePropagationGeometry(J3Line particleAxisGen2)
define the geometry of propagating particles
J3Line particleAxisIce3 : The primary particle trajectory.
|
J3Vector |
getGeometryShift()
Get the geometrical shift in IceCube Gen2 coordinate
|
int |
getListedEvents(java.io.DataOutputStream out)
Method to acquire all the listed variables: the cascade particles,
their energies, and their locations which occured along the track.
|
java.util.ListIterator |
getLocationIce3Iterator()
Return location hit iterator which allows
an external object to access each location
stored in this object
|
static int |
getNeutrinoInteractionWeight()
Get the present neutrino interaction weight in the InteractionBase
|
java.util.ListIterator |
getParticleIterator()
Return particle hit iterator which allows
an external object to access each Particle
stored in this object
|
J3UnitVector |
getPrimaryParticleDirectionInEarthCenterCoordinate()
Get of propagating particle direction represented by Earth center coordinate
|
J3UnitVector |
getPrimaryParticleDirectionInIceCubeCoordinate()
Get of propagating particle direction represented by IceCube coordinate
|
double |
getStartLocationAlongTheAxis()
Get the start location of primary particle.
|
java.util.ListIterator |
getTrackLocationIce3Iterator() |
java.util.ListIterator |
getTrackParticleIterator() |
void |
moveParticleAxis(double depth)
move the propagating axis by given slant depth [g/cm^2]
|
void |
runEventOnMatrix(int numberOfEvent,
java.io.DataOutputStream out)
Method to run multiple events (numberOfEvent)
with various primary energies from
logE = Particle.getLogEnergyMinimum() all the way up to 10^12 GeV.
|
void |
runSingleEvent()
Method to run a single event with a monocromatic primary energy given by
the constructor.
|
void |
setGeometryShift(J3Vector shift)
Set the geometrical shift in IceCube Gen2 coordinate
|
static void |
setNeutrinoInteractionWeight(int weight)
Change the Neutrino interaction weight in the InteractionBase
|
void |
setStartLocationAlongTheAxis(double start)
Set the start location of primary particle along its trajectory axis
(particle point/J3Line)
|
J3Vector |
wherePrimaryParticleEndsInIceCubeCoordinate()
Get the point location where the particle run starts.
|
J3Vector |
wherePrimaryParticleStartsInEarthCenterCoordinate()
Get the point location where the particle run starts.
|
J3Vector |
wherePrimaryParticleStartsInGen2Coordinate()
Get the point location where the particle run starts.
|
J3Vector |
wherePrimaryParticleStartsInIceCubeCoordinate()
Get the point location where the particle run starts.
|
public JulietEventGenerator4Gen2(int flavorID, int doubletID, double energy, int mediumID, int doCC, int doNC, int doMuBrems, int doTauBrems, int doMuKnock, int doTauKnock, int doMu2e, int doTau2e, int doMu2mu, int doTau2mu, int doMu2tau, int doTau2tau, int doMuPN, int doTauPN, int doGR, int doMuDecay, int doTauDecay, int posID) throws java.io.IOException
java.io.IOException
public JulietEventGenerator4Gen2(int flavorID, int doubletID, double energy, int mediumID, int doCC, int doNC, int doMuBrems, int doTauBrems, int doMuKnock, int doTauKnock, int doMu2e, int doTau2e, int doMu2mu, int doTau2mu, int doMu2tau, int doTau2tau, int doMuPN, int doTauPN, int doMuDecay, int doTauDecay, int posID) throws java.io.IOException
java.io.IOException
public JulietEventGenerator4Gen2() throws java.io.IOException
java.io.IOException
public void setStartLocationAlongTheAxis(double start)
public double getStartLocationAlongTheAxis()
public J3Vector wherePrimaryParticleStartsInEarthCenterCoordinate()
public J3Vector wherePrimaryParticleStartsInIceCubeCoordinate()
public J3Vector wherePrimaryParticleStartsInGen2Coordinate()
public J3Vector wherePrimaryParticleEndsInIceCubeCoordinate()
public J3UnitVector getPrimaryParticleDirectionInEarthCenterCoordinate()
public J3UnitVector getPrimaryParticleDirectionInIceCubeCoordinate()
public void setGeometryShift(J3Vector shift)
public J3Vector getGeometryShift()
public void definePropagatingParticle(int flavor, int doublet, double energy, J3Line axis)
int flavor : flavor of the particle (c.f. Particle.java) int doublet : doublet of the particle (c.f. Particle.java) double energy : primary energy of the particle [GeV] J3Line axis : geometry of the particle trajectory. Must be represented by the IceCubeCoordinate.
public void definePropagatingParticle(int flavor, int doublet, double energy)
public void definePropagationGeometry(double x_gen2, double y_gen2, double z_gen2, double nadirAngle_gen2, double azimuthAngle_gen2)
double x_ice3 : x [cm] of a particle trajectory point in the IceCubeGen2 coordinate double y_ice3 : y [cm] of a particle trajectory point in the IceCubeGen2 coordinate double z_ice3 : z [cm] of a particle trajectory point in the IceCubeGen2 coordinate double nadirAngle_ice3 : nadir angle [deg] define in the IceCubeGen2 coodrinate double azimuthAngle_ice3 : nadir angle [deg] define in the IceCubeGen2 coodrinate
public void definePropagationGeometry(double x_gen2, double y_gen2, double z_gen2, double nx, double ny, double nz)
double x_ice3 : x [cm] of a particle trajectory point in the IceCubeGen2 coordinate double y_ice3 : y [cm] of a particle trajectory point in the IceCubeGen2 coordinate double z_ice3 : z [cm] of a particle trajectory point in the IceCubeGen2 coordinate double nx,ny,nz : unit direction vector represented by the IceCubeGen2 coordinate
public void definePropagationGeometry(J3Line particleAxisGen2)
J3Line particleAxisIce3 : The primary particle trajectory. Should be defined by the IceCubeGen2Coordinate.
public void configurePropagationGeometry()
1. Setup the trajectory axis (J3Line) in the Earth center coordinate 2. Calculate the point where the primary particle enters the earth 3. Calculate the start location where the MC propgation run begines. It depnds on the propagationFlag setup by the constructor. when 1, the location is equal to the earth entrance point. when 2, it is IceCubeCoordinate.elevation away from the ice3 coordinate origin. when 3, it is equal to the original R0 of J3Line. You can change this location by calling the method setStartLocationAlongTheAxis() if necessary
public void runSingleEvent()
public void moveParticleAxis(double depth)
public int getListedEvents(java.io.DataOutputStream out) throws java.io.IOException
java.io.IOException
public java.util.ListIterator getParticleIterator()
public java.util.ListIterator getTrackParticleIterator()
public java.util.ListIterator getLocationIce3Iterator()
public java.util.ListIterator getTrackLocationIce3Iterator()
public void runEventOnMatrix(int numberOfEvent, java.io.DataOutputStream out) throws java.io.IOException
java.io.IOException
public static void setNeutrinoInteractionWeight(int weight)
public static int getNeutrinoInteractionWeight()