KaliVeda
Toolkit for HIC analysis
|
Energy losses and ranges of charged particles in matter can be calculated for a wide range of materials and ions, principally through the classes KVMaterial, KVDetector and KVTarget:
In actual fact, these classes do not contain the code required to calculate the range or energy loss of particles in matter. They are just an interface to a class derived from KVIonRangeTable, of which two exist in KaliVeda: KVedaLoss (VEDALOSS
) and KVRangeYanez (RANGE
). By default the range table is VEDALOSS
.
VEDALOSS
uses a 6-parameter fit to the range for each \(Z\) from 1 to 100 in any of the predefined materials for which fits are available. The fitted ranges were calculated using Northcliffe-Shilling stopping powers (electronic + nuclear) up to 2.5 MeV/nucleon, and Hubert-Bimbot-Gauvin tables from 2.5 MeV/nucleon upwards.RANGE
can calculate ranges for any ion/material using either the Northcliffe-Schilling or the Hubert-Bimbot-Gauvin tables, or a mix of the two. By default the switch from NS to HBG occurs at 2.5 MeV/nucleon without interpolation. Only 9 predefined compounds/mixtures are available by default.The default range table used can be defined/changed in your .kvrootrc
file:
To know which range table is the current default:
To change the default range table at any time:
New materials can be added to either of the range tables by the user at any time. These new materials will be automatically saved and reloaded the next time that the range table is used. New materials can either be 'elemental' (i.e. composed of a single atomic element), 'compound' or a 'mixture'. An 'elemental' material can either be isotopically pure or composed of a mixture of stable isotopes according to natural abundance. The following 3 methods are defined for all range tables (see KVIonRangeTable class reference for more details):
Adding a new material to the VEDALOSS
range tables means generating the range of ions \(Z=1-100\) in the material and fitting them with the VEDALOSS
parameterisation. This is handled by the KVedaLossRangeFitter class. We use the RANGE
tables to generate any new materials, and in addition you can directly add a material which has already been defined for RANGE
to VEDALOSS
with method
Each new material's definitions will be written in a file [material_name].dat
which will be stored in one of two subdirectories (VEDALOSS
or RANGE
) in your KaliVeda working directory (path returned by KVBase::GetWORKDIRFilePath()), in other words:
Adding such a file to one of these directories from elsewhere will also add the new material to the relevant range table the next time that it is initialised.