dwvisser.nuclear
Class PIDsimulation

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

public final class PIDsimulation
extends java.lang.Object

This class will execute a process to simulate the focal plane detector. It is based on the code written by Kazim Yildiz for the Vax machines, which are now dying. It was too difficult and time-consuming to figure out why Kazim's code wouldn't run properly on the Solaris machines.

Version:
1.0
Author:
Dale W Visser

Nested Class Summary
 class PIDsimulation.FileOpenAction
           
 class PIDsimulation.FileQuitAction
           
 
Constructor Summary
PIDsimulation(java.lang.String name)
          This code calculates PID plots for the WNSL Enge spectrograph focal plane detector.
 
Method Summary
 void addReaction(Nucleus target, Nucleus projectile, int Qprojectile)
           
 void calculateElosses()
          Calculate and tabulate energy losses in various detector segments
 void calculateRhoValues()
          Determine possible sets of rho values for various reactions and tabulate them, based on kinematics.
 void initialize(Nucleus beam, double Tbeam, double Bfield, double angle, double rhoMin, double rhoMax, double pressure)
          Sets initial values.
static void main(java.lang.String[] args)
           
 void outputPaw(java.io.File path, java.lang.String outName)
          Produces a text file in the .kumac format, which can be run by the PAW program from CernLib to produce screen graphics and postscript files.
 void setBlockerFoil(Absorber a)
           
 void setEntranceFoil(Absorber a)
           
 void setExitFoil(Absorber a)
           
 void setScintFoil(Absorber a)
           
 void setupGas()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PIDsimulation

public PIDsimulation(java.lang.String name)

This code calculates PID plots for the WNSL Enge spectrograph focal plane detector. The energy loss regions used for calculation are as follows:

0
Blocker Foil
1
Entrance Foil
2
"Dead" gas region up to start of cathode
3
1st part of cathode
4
Anode, 2nd part of cathode
5
3rd part of cathode
6
"Dead" gas region between cathode and exit foil
7
Exit Foil
8
Foil on the scintillator
9
Scintillator

Parameters:
name - the name of the input specification file
Method Detail

initialize

public void initialize(Nucleus beam,
                       double Tbeam,
                       double Bfield,
                       double angle,
                       double rhoMin,
                       double rhoMax,
                       double pressure)
Sets initial values. Assumes isobutane gas in the detector.

Parameters:
beam - species of beam
Tbeam - kinetic energy in MeV
Bfield - of spectrometer in kG
angle - of spectrometer in degrees
rhoMin - lower limit of detector radius
rhoMax - upper limit of detector radius
pressure - gas pressure in torr

setEntranceFoil

public void setEntranceFoil(Absorber a)

setBlockerFoil

public void setBlockerFoil(Absorber a)

setExitFoil

public void setExitFoil(Absorber a)

setScintFoil

public void setScintFoil(Absorber a)

setupGas

public void setupGas()
              throws NuclearException
NuclearException

addReaction

public void addReaction(Nucleus target,
                        Nucleus projectile,
                        int Qprojectile)
                 throws java.lang.Exception
java.lang.Exception

calculateRhoValues

public void calculateRhoValues()
Determine possible sets of rho values for various reactions and tabulate them, based on kinematics.


calculateElosses

public void calculateElosses()
Calculate and tabulate energy losses in various detector segments


outputPaw

public void outputPaw(java.io.File path,
                      java.lang.String outName)
               throws java.io.IOException
Produces a text file in the .kumac format, which can be run by the PAW program from CernLib to produce screen graphics and postscript files.

java.io.IOException

main

public static void main(java.lang.String[] args)
Parameters:
args - the command line arguments