org.jscience.physics.nuclear.kinematics.nuclear
Class NuclearCollision

java.lang.Object
  extended by org.jscience.physics.nuclear.kinematics.nuclear.NuclearCollision

public class NuclearCollision
extends java.lang.Object

Given experimental parameters beam energy, beam, target, projectile, can give useful quantities via it's getter methods. Core of code is from Kazim Yildiz's relkin code written Fortran.


Field Summary
protected  Nucleus beam
          target(beam,projectile)residual
static double C
          speed of light, in m/s
static int EXACT_OPTION
          options (can be or'ed together) for requesting QBrho
static double P_TO_QBRHO
          Multiply p in MeV/c by this and get qbrho in kG cm
protected  Nucleus projectile
          target(beam,projectile)residual
static double QBRHO_TO_P
          Multiply qbrho in kG cm by this and get p in Mev/c
protected  Nucleus residual
          target(beam,projectile)residual
protected  Nucleus target
          target(beam,projectile)residual
static int UNCERTAIN_BEAM_MASS_OPTION
          DOCUMENT ME!
static int UNCERTAIN_PROJECTILE_MASS_OPTION
          DOCUMENT ME!
static int UNCERTAIN_RESIDUAL_MASS_OPTION
          DOCUMENT ME!
static int UNCERTAIN_TARGET_MASS_OPTION
          DOCUMENT ME!
 
Constructor Summary
NuclearCollision(NuclearCollision r, double residExcite)
          Creates a new NuclearCollision object.
NuclearCollision(NuclearCollision r, double eBeam, double thetaLab, double residExcite)
          Constructor to make some changes to the parameters of a previous instance.
NuclearCollision(Nucleus target, Nucleus beam, Nucleus projectile, double Tbeam, double thetaLab, double residualExcitation)
          Creates a new NuclearCollision object.
NuclearCollision(Nucleus target, Nucleus beam, Nucleus projectile, double Tbeam, double thetaLab, UncertainNumber residualExcitation)
          Constructor.
 
Method Summary
 int getAngleDegeneracy()
          Returns 0,1, or 2, for the number of CM angles corresponding to the lab angle in this reaction.
 Nucleus getBeam()
          DOCUMENT ME!
 double getBeamEnergy()
          Returns energy of beam in MeV.
static double getBeta(NuclearParticle p, double KE)
          DOCUMENT ME!
 double getCMAngleProjectile(int which)
          Returns the angle in degrees in the CM system of the projectile.
 UncertainNumber getEx4(UncertainNumber labMomentum3)
          Using the given momentum of the projectile in the lab, calculates the necessary excitation of the residual nucleus.
 double getFocusParameter(int which)
          DOCUMENT ME!
 double getJacobianProjectile(int which)
          DOCUMENT ME!
static double getKE(Nucleus nuke, double qbr)
          DOCUMENT ME!
 double getLabAngleResidual(int which)
          DOCUMENT ME!
 double getLabBetaResidual(int which)
          DOCUMENT ME!
 double getLabEnergyProjectile(int which)
          DOCUMENT ME!
 UncertainNumber getLabEnergyProjectile(int which, int options)
          DOCUMENT ME!
 double getLabEnergyResidual(int which)
          DOCUMENT ME!
 double getLabGammaResidual(int which)
          DOCUMENT ME!
 double getLabMomentumResidual(int which)
          DOCUMENT ME!
 Nucleus getProjectile()
          DOCUMENT ME!
 double getQBrho(int which)
          DOCUMENT ME!
 UncertainNumber getQBrho(int which, int options)
          DOCUMENT ME!
static double getQBrho(Nucleus nuke, double KE)
          DOCUMENT ME!
static UncertainNumber getQBrho(Nucleus nuke, UncertainNumber KE, boolean varyMass)
          DOCUMENT ME!
 UncertainNumber getQValue()
          Returns the Q-value, which is the net energy released in the reaction.
static UncertainNumber getQValue(Nucleus _target, Nucleus _beam, Nucleus _projectile, UncertainNumber _Ex)
          DOCUMENT ME!
 Nucleus getResidual()
          DOCUMENT ME!
static Nucleus getResidual(Nucleus _target, Nucleus _beam, Nucleus _projectile, UncertainNumber _Ex)
          DOCUMENT ME!
 Nucleus getTarget()
          DOCUMENT ME!
 double getThetaLab()
          DOCUMENT ME!
 double getTotalEnergyProjectile(int which)
          DOCUMENT ME!
 double getTotalEnergyResidual(int which)
          DOCUMENT ME!
static void main(java.lang.String[] args)
          DOCUMENT ME!
 void printStatus()
          Gives some information on the state of this object.
 java.lang.String toString()
          DOCUMENT ME!
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

C

public static final double C
speed of light, in m/s

See Also:
Constant Field Values

P_TO_QBRHO

public static final double P_TO_QBRHO
Multiply p in MeV/c by this and get qbrho in kG cm

See Also:
Constant Field Values

QBRHO_TO_P

public static final double QBRHO_TO_P
Multiply qbrho in kG cm by this and get p in Mev/c

See Also:
Constant Field Values

EXACT_OPTION

public static final int EXACT_OPTION
options (can be or'ed together) for requesting QBrho

See Also:
Constant Field Values

UNCERTAIN_BEAM_MASS_OPTION

public static final int UNCERTAIN_BEAM_MASS_OPTION
DOCUMENT ME!

See Also:
Constant Field Values

UNCERTAIN_TARGET_MASS_OPTION

public static final int UNCERTAIN_TARGET_MASS_OPTION
DOCUMENT ME!

See Also:
Constant Field Values

UNCERTAIN_PROJECTILE_MASS_OPTION

public static final int UNCERTAIN_PROJECTILE_MASS_OPTION
DOCUMENT ME!

See Also:
Constant Field Values

UNCERTAIN_RESIDUAL_MASS_OPTION

public static final int UNCERTAIN_RESIDUAL_MASS_OPTION
DOCUMENT ME!

See Also:
Constant Field Values

target

protected Nucleus target
target(beam,projectile)residual


beam

protected Nucleus beam
target(beam,projectile)residual


projectile

protected Nucleus projectile
target(beam,projectile)residual


residual

protected Nucleus residual
target(beam,projectile)residual

Constructor Detail

NuclearCollision

public NuclearCollision(Nucleus target,
                        Nucleus beam,
                        Nucleus projectile,
                        double Tbeam,
                        double thetaLab,
                        UncertainNumber residualExcitation)
                 throws NuclearException,
                        KinematicsException
Constructor.

Parameters:
thetaLab - of projectile in degrees
target - nuclear species in target
beam - nuclear species of beam
projectile - nuclear species of projectile into spectrometer
Tbeam - beam energy in MeV
residualExcitation - excitation in MeV of the residual nucleus
Throws:
KinematicsException - if a cclculation error occurs
NuclearException

NuclearCollision

public NuclearCollision(Nucleus target,
                        Nucleus beam,
                        Nucleus projectile,
                        double Tbeam,
                        double thetaLab,
                        double residualExcitation)
                 throws NuclearException,
                        KinematicsException
Creates a new NuclearCollision object.

Parameters:
target - DOCUMENT ME!
beam - DOCUMENT ME!
projectile - DOCUMENT ME!
Tbeam - DOCUMENT ME!
thetaLab - DOCUMENT ME!
residualExcitation - DOCUMENT ME!
Throws:
NuclearException - DOCUMENT ME!
KinematicsException - DOCUMENT ME!

NuclearCollision

public NuclearCollision(NuclearCollision r,
                        double eBeam,
                        double thetaLab,
                        double residExcite)
                 throws NuclearException,
                        KinematicsException
Constructor to make some changes to the parameters of a previous instance.

Parameters:
r - previous NuclearCollision to copy species info from
eBeam - new beam energy in MeV
thetaLab - new lab angle in degrees
residExcite - new excitation in MeV for the residual nucleus
Throws:
KinematicsException - if a calculation problem occurs
NuclearException

NuclearCollision

public NuclearCollision(NuclearCollision r,
                        double residExcite)
                 throws NuclearException,
                        KinematicsException
Creates a new NuclearCollision object.

Parameters:
r - DOCUMENT ME!
residExcite - DOCUMENT ME!
Throws:
NuclearException - DOCUMENT ME!
KinematicsException - DOCUMENT ME!
Method Detail

getThetaLab

public double getThetaLab()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getQBrho

public UncertainNumber getQBrho(int which,
                                int options)
                         throws KinematicsException
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
options - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
KinematicsException - DOCUMENT ME!

getEx4

public UncertainNumber getEx4(UncertainNumber labMomentum3)
Using the given momentum of the projectile in the lab, calculates the necessary excitation of the residual nucleus. This is useful for interpreting spectrometer measurements.

Parameters:
labMomentum3 - the lab frame momentum of the projectile, in MeV/c
Returns:
excitation energy of residual nucleus

printStatus

public void printStatus()
Gives some information on the state of this object.


getBeamEnergy

public double getBeamEnergy()
Returns energy of beam in MeV.

Returns:
beam energy in MeV

getResidual

public Nucleus getResidual()
DOCUMENT ME!

Returns:
nuclear species of residual (including excitation energy)

getTarget

public Nucleus getTarget()
DOCUMENT ME!

Returns:
nuclear species of target

getBeam

public Nucleus getBeam()
DOCUMENT ME!

Returns:
nuclear species of beam

getProjectile

public Nucleus getProjectile()
DOCUMENT ME!

Returns:
nuclear species of projectile into spectrometer

getQValue

public UncertainNumber getQValue()
Returns the Q-value, which is the net energy released in the reaction.

Returns:
the Q-value for this reaction

getQValue

public static UncertainNumber getQValue(Nucleus _target,
                                        Nucleus _beam,
                                        Nucleus _projectile,
                                        UncertainNumber _Ex)
                                 throws NuclearException
DOCUMENT ME!

Parameters:
_target - target nuclide
_beam - beam nuclide
_projectile - projectile nuclide
_Ex - excitation in MeV of residual nucleus
Returns:
Q-value for reaction to specified state of residual nucleus
Throws:
NuclearException - DOCUMENT ME!

getResidual

public static Nucleus getResidual(Nucleus _target,
                                  Nucleus _beam,
                                  Nucleus _projectile,
                                  UncertainNumber _Ex)
                           throws NuclearException
DOCUMENT ME!

Parameters:
_target - target nuclide
_beam - beam nuclide
_projectile - projectile nuclide
_Ex - excitation in MeV of residual nucleus
Returns:
residual nucleus for hypothetical reaction
Throws:
NuclearException

getAngleDegeneracy

public int getAngleDegeneracy()
Returns 0,1, or 2, for the number of CM angles corresponding to the lab angle in this reaction. Zero is returned in the case of the lab angle requested being over a maximum limiting angle.

Returns:
number of solutions

getCMAngleProjectile

public double getCMAngleProjectile(int which)
Returns the angle in degrees in the CM system of the projectile.

Parameters:
which - which of the solutions to return
Returns:
CM angle in degrees

getLabEnergyProjectile

public double getLabEnergyProjectile(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLabEnergyProjectile

public UncertainNumber getLabEnergyProjectile(int which,
                                              int options)
                                       throws KinematicsException
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
options - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
KinematicsException - DOCUMENT ME!

getTotalEnergyProjectile

public double getTotalEnergyProjectile(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getTotalEnergyResidual

public double getTotalEnergyResidual(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLabAngleResidual

public double getLabAngleResidual(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLabEnergyResidual

public double getLabEnergyResidual(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLabGammaResidual

public double getLabGammaResidual(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLabBetaResidual

public double getLabBetaResidual(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getLabMomentumResidual

public double getLabMomentumResidual(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getJacobianProjectile

public double getJacobianProjectile(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getFocusParameter

public double getFocusParameter(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getQBrho

public double getQBrho(int which)
DOCUMENT ME!

Parameters:
which - DOCUMENT ME!
Returns:
DOCUMENT ME!

getQBrho

public static double getQBrho(Nucleus nuke,
                              double KE)
DOCUMENT ME!

Parameters:
nuke - DOCUMENT ME!
KE - DOCUMENT ME!
Returns:
DOCUMENT ME!

getQBrho

public static UncertainNumber getQBrho(Nucleus nuke,
                                       UncertainNumber KE,
                                       boolean varyMass)
DOCUMENT ME!

Parameters:
nuke - DOCUMENT ME!
KE - DOCUMENT ME!
varyMass - DOCUMENT ME!
Returns:
DOCUMENT ME!

getKE

public static double getKE(Nucleus nuke,
                           double qbr)
DOCUMENT ME!

Parameters:
nuke - DOCUMENT ME!
qbr - DOCUMENT ME!
Returns:
DOCUMENT ME!

getBeta

public static double getBeta(NuclearParticle p,
                             double KE)
DOCUMENT ME!

Parameters:
p - DOCUMENT ME!
KE - DOCUMENT ME!
Returns:
DOCUMENT ME!

toString

public java.lang.String toString()
DOCUMENT ME!

Overrides:
toString in class java.lang.Object
Returns:
DOCUMENT ME!

main

public static void main(java.lang.String[] args)
DOCUMENT ME!

Parameters:
args - DOCUMENT ME!