dwvisser.nuclear
Class Reaction

java.lang.Object
  |
  +--dwvisser.nuclear.Reaction

public class Reaction
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.

Version:
1.0
Author:
Dale W Visser

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
           
static int UNCERTAIN_PROJECTILE_MASS_OPTION
           
static int UNCERTAIN_RESIDUAL_MASS_OPTION
           
static int UNCERTAIN_TARGET_MASS_OPTION
           
 
Constructor Summary
Reaction(Nucleus target, Nucleus beam, Nucleus projectile)
          Simplified constructor for no excitation in the residual, forward direction for the projectile.
Reaction(Nucleus target, Nucleus beam, Nucleus projectile, double Tbeam, double thetaLab, double residualExcitation)
           
Reaction(Nucleus target, Nucleus beam, Nucleus projectile, double Tbeam, double thetaLab, UncertainNumber residualExcitation)
          Constructor.
Reaction(Reaction r, double residExcite)
           
Reaction(Reaction r, double eBeam, double thetaLab, double residExcite)
          Constructor to make some changes to the parameters of a previous instance.
 
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()
           
 double getBeamEnergy()
          Returns energy of beam in MeV.
static double getBeta(Particle p, double KE)
           
 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)
           
 double getJacobianProjectile(int which)
           
static double getKE(Nucleus nuke, double qbr)
           
 double getLabAngleResidual(int which)
           
 double getLabBetaResidual(int which)
           
 double getLabEnergyProjectile(int which)
           
 UncertainNumber getLabEnergyProjectile(int which, int options)
           
 double getLabEnergyResidual(int which)
           
 double getLabGammaResidual(int which)
           
 double getLabMomentumResidual(int which)
           
 Nucleus getProjectile()
           
 double getQBrho(int which)
           
 UncertainNumber getQBrho(int which, int options)
           
static double getQBrho(Nucleus nuke, double KE)
           
static UncertainNumber getQBrho(Nucleus nuke, UncertainNumber KE, boolean varyMass)
           
 UncertainNumber getQValue()
          Returns the Q-value, which is the net energy released in the reaction.
 Nucleus getResidual()
           
 Nucleus getTarget()
           
 double getThetaLab()
           
 double getTotalEnergyProjectile(int which)
           
 double getTotalEnergyResidual(int which)
           
static void main(java.lang.String[] args)
           
 void printStatus()
          Gives some information on the state of this object.
 java.lang.String toString()
           
 
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

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


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
See Also:
Constant Field Values

UNCERTAIN_TARGET_MASS_OPTION

public static final int UNCERTAIN_TARGET_MASS_OPTION
See Also:
Constant Field Values

UNCERTAIN_PROJECTILE_MASS_OPTION

public static final int UNCERTAIN_PROJECTILE_MASS_OPTION
See Also:
Constant Field Values

UNCERTAIN_RESIDUAL_MASS_OPTION

public static final int UNCERTAIN_RESIDUAL_MASS_OPTION
See Also:
Constant Field Values
Constructor Detail

Reaction

public Reaction(Nucleus target,
                Nucleus beam,
                Nucleus projectile,
                double Tbeam,
                double thetaLab,
                UncertainNumber residualExcitation)
         throws 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

Reaction

public Reaction(Nucleus target,
                Nucleus beam,
                Nucleus projectile,
                double Tbeam,
                double thetaLab,
                double residualExcitation)
         throws KinematicsException

Reaction

public Reaction(Nucleus target,
                Nucleus beam,
                Nucleus projectile)
         throws KinematicsException
Simplified constructor for no excitation in the residual, forward direction for the projectile.

Parameters:
target - nuclear species of the target
beam - nuclear species of the beam
projectile - neuclear species of the projectile into the spectrometer
Throws:
KinematicsException - if a calculation problem occurs

Reaction

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

Parameters:
r - previous Reaction 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

Reaction

public Reaction(Reaction r,
                double residExcite)
         throws KinematicsException
Method Detail

getThetaLab

public double getThetaLab()

getQBrho

public UncertainNumber getQBrho(int which,
                                int options)
                         throws KinematicsException
KinematicsException

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()
Returns:
nuclear species of residual (including excitation energy)

getTarget

public Nucleus getTarget()
Returns:
nuclear species of target

getBeam

public Nucleus getBeam()
Returns:
nuclear species of beam

getProjectile

public Nucleus getProjectile()
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

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)

getLabEnergyProjectile

public UncertainNumber getLabEnergyProjectile(int which,
                                              int options)
                                       throws KinematicsException
KinematicsException

getTotalEnergyProjectile

public double getTotalEnergyProjectile(int which)

getTotalEnergyResidual

public double getTotalEnergyResidual(int which)

getLabAngleResidual

public double getLabAngleResidual(int which)

getLabEnergyResidual

public double getLabEnergyResidual(int which)

getLabGammaResidual

public double getLabGammaResidual(int which)

getLabBetaResidual

public double getLabBetaResidual(int which)

getLabMomentumResidual

public double getLabMomentumResidual(int which)

getJacobianProjectile

public double getJacobianProjectile(int which)

getFocusParameter

public double getFocusParameter(int which)

getQBrho

public double getQBrho(int which)

getQBrho

public static double getQBrho(Nucleus nuke,
                              double KE)

getQBrho

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

getKE

public static double getKE(Nucleus nuke,
                           double qbr)

getBeta

public static double getBeta(Particle p,
                             double KE)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

main

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