V1.12

Introduced a new detector type named 'recoil'. These
detectors will only track recoil particles and will
ignore ejectile particles. The recoil type has only
one subtype, 'cylinder', at this time.

Currently, the cylinder subtype only recognizes
particle intersections with the front and back faces.
Intersections with the body of the cylinder are ignored.

Reactions may now be offset from the origin. The
beamspot size parameter now affects where the reaction
takes place within the target.

Particles will now penetrate detectors a random amount
before stopping. Particles are no longer stopped at the
front face of a detector. Neutrons will leave a random
amount of energy in detectors.

Changed 'energy' output to QDC. The QDC value is basically
a random amount of energy left in the detector by a
detected particle.

Introduced a root dictionary to make saving output data
simpler. The dictionary is generated automatically when
making vikar.

Added a new tool named dump, which will dump data from
vectors of doubles (in a root file) to an ascii file.

TODO:
 Calculate energy losses for recoil in target and
 detectors, and for non-neutral ejectiles in detectors.

 Properly transform ejectile and recoil vectors to take
 beam particle direction into account.