KaliVeda
Toolkit for HIC analysis
|
C++ implementation of VEDALOSS stopping power calculation.
Based on the original Fortran code VEDALOSS written by Roland Dayras (CEA/SPhN Saclay) and Enrico de Filippo (INFN LNS Catania), KVedaLoss provides range tables for the stopping of charged ions in a large variety of pre-defined solid and gaseous media. It can be used to calculated energy losses, residual energies, ranges, and the corresponding inverse calculations.
The code interpolates the range tables of Northcliffe and Schilling (NCS) with those of Hubert, Bimbot and Gauvin (HBG) in order to calculate ranges based on data valid in the energy range \(0.1\leq E/A\leq 250\) MeV/nucleon. For \(E/A<2.5\) MeV/nucleon ranges are taken from NCS (which include the contribution from nuclear stopping), while at higher energies ranges are taken from HBG. It should be noted that the ranges of HBG were calculated from 2.5 MeV/nucleon upwards taking the NCS range at 2.5 MeV/nucleon as starting point.
For each material, the interpolated range for each ion from \(Z=1\) to \(Z=100\) is parametrised as
\[ \log R = \sum_{i=0}^{5}a_{i}\left(\log\epsilon\right)^{i} \]
where \(R\) is the range [ \(g/cm^{2}\)] of the ion and \(\epsilon\) its incident energy [MeV/nucleon]. The six parameters \(a_{i}\) for each atomic number \(Z\) (for a reference isotope mass number \(A\)) were found by fitting the range data taken from NS and HBG. Such fits can be realized using the KVedaLossRangeFitter class.
See here for comparisons of the fitted ranges with the original values from NCS and HBG.
KVedaLoss provides methods to add new absorber definitions using interpolations of the NCS and HBG range tables provided by KVRangeYanez. See below for methods to add new absorbers composed of single elements, compounds, or mixtures.
For full explanations and examples of how to use this facility, see Energy Loss & Range Calculations
Normally all range, \(dE\), \(E_{res}\) functions are limited to range \(0\leq E\leq E_{max}\), where \(E_{max}\) is nominal maximum energy for which range tables are valid (usually 400MeV/u for \(Z<3\), 250MeV/u for \(Z>3\)).
If higher energies are required, call static method KVedaLoss::SetIgnoreEnergyLimits() BEFORE ANY MATERIALS ARE CREATED in order to recalculate the \(E_{max}\) limits in such a way that:
Then, at the most, the new limit will be 1 GeV/nucleon, or at the least, it will remain at the nominal (400 or 250 MeV/nucleon) level.
Definition at line 63 of file KVedaLoss.h.
#include <KVedaLoss.h>
Public Member Functions | |
KVedaLoss () | |
Default constructor. | |
virtual | ~KVedaLoss () |
Destructor. | |
KVIonRangeTableMaterial * | AddCompoundMaterial (const Char_t *, const Char_t *, Int_t, Int_t *, Int_t *, Int_t *, Double_t=-1.0) const |
KVIonRangeTableMaterial * | AddElementalMaterial (Int_t Z, Int_t A=0) const |
KVIonRangeTableMaterial * | AddMixedMaterial (const Char_t *, const Char_t *, Int_t, Int_t *, Int_t *, Int_t *, Double_t *, Double_t=-1.0) const |
Bool_t | AddRANGEMaterial (const Char_t *name) const |
If the given material is defined in the RANGE tables, import it into VEDALOSS. | |
Bool_t | CheckIon (Int_t Z, Int_t A) const |
TObjArray * | GetListOfMaterials () |
void | Print (Option_t *="") const |
Bool_t | ReadMaterials (const Char_t *path) const |
Read and add range tables for materials in file. | |
Public Member Functions inherited from KVIonRangeTable | |
KVIonRangeTable (const Char_t *name="", const Char_t *title="") | |
Default constructor. | |
virtual | ~KVIonRangeTable () |
Destructor. | |
virtual Double_t | GetAtomicMass (const Char_t *) |
Returns atomic mass of a material in the range tables. | |
virtual Double_t | GetDeltaEFromEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t ERes, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t r, Double_t Amat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetDensity (const Char_t *) |
Returns density (g/cm**3) of a material in the range tables. | |
virtual Double_t | GetEIncFromDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t DeltaE, Double_t e, enum SolType type=kEmax, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetEIncFromEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetEIncOfMaxDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetEmaxValid (const Char_t *material, Int_t Z, Int_t A) |
virtual Double_t | GetEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t r, Double_t Amat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearDeltaEFromEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t ERes, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t d, Double_t Amat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEIncFromDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t DeltaE, Double_t e, enum SolType type=kEmax, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEIncFromEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEIncOfMaxDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t d, Double_t Amat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearMaxDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearPunchThroughEnergy (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearRangeOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t Amat=0., Double_t T=-1., Double_t P=-1.) |
KVIonRangeTableMaterial * | GetMaterial (const Char_t *material) const |
Returns pointer to material of given name or type. | |
KVIonRangeTableMaterial * | GetMaterial (TGeoMaterial *) const |
virtual const Char_t * | GetMaterialName (const Char_t *) |
Return name of material of given type or name if it is in range tables. | |
virtual Double_t | GetMaxDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetPunchThroughEnergy (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetRangeOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t Amat=0., Double_t T=-1., Double_t P=-1.) |
virtual TGeoMaterial * | GetTGeoMaterial (const Char_t *material) |
Create and return pointer to TGeoMaterial/Mixture corresponding to material. | |
virtual Double_t | GetZ (const Char_t *) |
Returns atomic number of a material in the range tables. | |
virtual Bool_t | IsMaterialGas (const Char_t *) |
Return kTRUE if material is gaseous. | |
virtual Bool_t | IsMaterialKnown (const Char_t *) |
Return kTRUE if material is in range tables. | |
virtual Bool_t | IsMaterialKnown (TGeoMaterial *) |
Returns kTRUE if material corresponding to TGeoMaterial name or type is in range table. | |
virtual void | SetTemperatureAndPressure (const Char_t *, Double_t temperature, Double_t pressure) |
Public Member Functions inherited from KVBase | |
KVBase () | |
Default constructor. | |
KVBase (const Char_t *name, const Char_t *title="") | |
Ctor for object with given name and type. | |
KVBase (const KVBase &) | |
copy ctor | |
virtual | ~KVBase () |
virtual void | Clear (Option_t *opt="") |
Clear object properties : name, type/title, number, label. | |
virtual void | Copy (TObject &) const |
Make a copy of this object. | |
const Char_t * | GetLabel () const |
UInt_t | GetNumber () const |
UInt_t | GetNumberOfObjects () const |
virtual TObject * | GetObject () const |
virtual const Char_t * | GetType () const |
Bool_t | HasLabel () const |
virtual Bool_t | IsCalled (const Char_t *name) const |
Bool_t | IsLabelled (const Char_t *l) const |
virtual Bool_t | IsType (const Char_t *typ) const |
virtual void | List () |
KVBase & | operator= (const KVBase &) |
copy assignment operator | |
Double_t | ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const |
void | SetLabel (const Char_t *lab) |
virtual void | SetNumber (UInt_t num) |
virtual void | SetType (const Char_t *str) |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
void | Clear (Option_t *option="") override |
TObject * | Clone (const char *newname="") const override |
Int_t | Compare (const TObject *obj) const override |
void | Copy (TObject &named) const override |
virtual void | FillBuffer (char *&buffer) |
const char * | GetName () const override |
const char * | GetTitle () const override |
ULong_t | Hash () const override |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
TNamed & | operator= (const TNamed &rhs) |
void | Print (Option_t *option="") const override |
virtual void | SetName (const char *name) |
virtual void | SetNameTitle (const char *name, const char *title) |
virtual void | SetTitle (const char *title="") |
virtual Int_t | Sizeof () const |
void | Streamer (TBuffer &) override |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
virtual | ~TObject () |
void | AbstractMethod (const char *method) const |
virtual void | AppendPad (Option_t *option="") |
virtual void | Browse (TBrowser *b) |
ULong_t | CheckedHash () |
virtual const char * | ClassName () const |
virtual void | Delete (Option_t *option="") |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
virtual void | Draw (Option_t *option="") |
virtual void | DrawClass () const |
virtual TObject * | DrawClone (Option_t *option="") const |
virtual void | Dump () const |
virtual void | Error (const char *method, const char *msgfmt,...) const |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
virtual TObject * | FindObject (const char *name) const |
virtual TObject * | FindObject (const TObject *obj) const |
virtual Option_t * | GetDrawOption () const |
virtual const char * | GetIconName () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
virtual Bool_t | HandleTimer (TTimer *timer) |
Bool_t | HasInconsistentHash () const |
virtual void | Info (const char *method, const char *msgfmt,...) const |
virtual Bool_t | InheritsFrom (const char *classname) const |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
virtual void | Inspect () const |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
virtual Bool_t | IsEqual (const TObject *obj) const |
virtual Bool_t | IsFolder () const |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
virtual Bool_t | Notify () |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *vp) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, void *vp) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
virtual void | Paint (Option_t *option="") |
virtual void | Pop () |
virtual Int_t | Read (const char *name) |
virtual void | RecursiveRemove (TObject *obj) |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
virtual void | SetDrawOption (Option_t *option="") |
virtual void | SetUniqueID (UInt_t uid) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Static Public Member Functions | |
static Bool_t | IsUseNewRangeInversion () |
static void | SetIgnoreEnergyLimits (Bool_t yes=kTRUE) |
static void | SetUseNewRangeInversion (Bool_t yes=kTRUE) |
Static Public Member Functions inherited from KVIonRangeTable | |
static KVIonRangeTable * | GetRangeTable (const Char_t *name) |
Generates an instance of the KVIonRangeTable plugin class corresponding to given name. | |
Static Public Member Functions inherited from KVBase | |
static Bool_t | AreEqual (Double_t x, Double_t y, Long64_t maxdif=1) |
Comparison between two 64-bit floating-point values. | |
static void | BackupFileWithDate (const Char_t *path) |
static void | CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE) |
static void | Deprecated (const char *method, const char *advice) |
static Bool_t | FindClassSourceFiles (const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".") |
static Bool_t | FindExecutable (TString &exec, const Char_t *path="$(PATH)") |
static const Char_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval) |
static Double_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval) |
static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build time. | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
static void | OpenTempFile (TString &base, std::ofstream &fp) |
static void | PrintSplashScreen () |
Prints welcome message and infos on version etc. | |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="") |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="") |
static const Char_t * | WorkingDirectory () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
Private Member Functions | |
void | AddMaterial (KVIonRangeTableMaterial *) const |
Bool_t | CheckMaterialsList () const |
KVIonRangeTableMaterial * | GetMaterialWithNameOrType (const Char_t *material) const |
Returns pointer to material of given name or type. | |
Bool_t | init_materials () const |
Private Attributes | |
TString | fLocalMaterialsDirectory |
Static Private Attributes | |
static Bool_t | fgNewRangeInversion = kTRUE |
static flag for using new KVedaLossInverseRangeFunction | |
static KVHashList * | fMaterials = 0x0 |
static list of all known materials | |
Additional Inherited Members | |
Public Types inherited from KVIonRangeTable | |
enum | SolType { kEmax , kEmin } |
Public Types inherited from KVBase | |
enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
Public Types inherited from TObject | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
Public Attributes inherited from TObject | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TObject | |
kOnlyPrepStep | |
KVedaLoss::KVedaLoss | ( | ) |
Default constructor.
Definition at line 69 of file KVedaLoss.cpp.
|
virtual |
Destructor.
Definition at line 86 of file KVedaLoss.cpp.
|
virtual |
Use the RANGE tables (see KVRangeYanez) to add a compound material with a simple formula composed of different elements
[in] | name | name for the new compound (no spaces) |
[in] | symbol | chemical symbol for compound |
[in] | nelem | number of elements in compound |
[in] | z[nelem] | atomic numbers of elements |
[in] | a[nelem] | mass numbers of elements |
[in] | natoms[nelem] | number of atoms of each element |
[in] | density | in \(g/cm^{3}\), only required if compound is a solid |
Reimplemented from KVIonRangeTable.
Definition at line 252 of file KVedaLoss.cpp.
|
virtual |
Use the RANGE tables (see KVRangeYanez) to generate a new material composed of a single chemical element.
[in] | Z | atomic number of element \(Z\) |
[in] | A | [optional] mass number of isotope \(A\) |
If the isotope A is not specified, we create a material containing the naturally occuring isotopes of the given element, weighted according to their natural abundances.
If the element name is "X", this material will be called "natX", for "naturally-occuring X".
Reimplemented from KVIonRangeTable.
Definition at line 204 of file KVedaLoss.cpp.
|
private |
Add a material (taken from a different range table) to VEDALOSS This means fitting the ranges for Z=1-100 and writing the parameters in a file which will be stored in
/VEDALOSS/[name].dat
which will be read at each initialisation to include the new material
Definition at line 330 of file KVedaLoss.cpp.
|
virtual |
Use the RANGE tables (see KVRangeYanez) to add a material which is a mixture of either elements or compounds:
[in] | name | name for the new mixture (no spaces) |
[in] | symbol | chemical symbol for mixture |
[in] | nel | number of elements in mixture |
[in] | z[nel] | atomic numbers of elements |
[in] | a[nel] | mass numbers of elements |
[in] | nat[nel] | number of atoms of each element |
[in] | prop[nel] | proportion by mass in mixture of element |
[in] | density | in \(g/cm^{3}\), if mixture is a solid |
Reimplemented from KVIonRangeTable.
Definition at line 284 of file KVedaLoss.cpp.
If the given material is defined in the RANGE tables, import it into VEDALOSS.
Definition at line 227 of file KVedaLoss.cpp.
Reimplemented from KVIonRangeTable.
Definition at line 59 of file KVedaLoss.cpp.
|
inlineprivate |
Definition at line 68 of file KVedaLoss.h.
|
virtual |
Create and fill a list of all materials for which range tables exist. Each entry is a TNamed with the name and type (title) of the material. User's responsibility to delete list after use (it owns its objects).
Implements KVIonRangeTable.
Definition at line 372 of file KVedaLoss.cpp.
|
privatevirtual |
Returns pointer to material of given name or type.
Implements KVIonRangeTable.
Definition at line 309 of file KVedaLoss.cpp.
|
private |
PRIVATE method - called to initialize fMaterials list of all known materials properties
Any files in /vedaloss.dat will also be read, these contain materials added by the user(s)
Definition at line 99 of file KVedaLoss.cpp.
|
inlinestatic |
Definition at line 92 of file KVedaLoss.h.
Reimplemented from KVIonRangeTable.
Definition at line 358 of file KVedaLoss.cpp.
Read and add range tables for materials in file.
Implements KVIonRangeTable.
Definition at line 136 of file KVedaLoss.cpp.
Call this static method with yes=kTRUE in order to recalculate the nominal limits on incident ion energies for which the range tables are valid.
Normally all range, \(dE\), \(E_{res}\) functions are limited to range \(0\leq E\leq E_{max}\), where \(E_{max}\) is nominal maximum energy for which range tables are valid (usually 400MeV/u for \(Z<3\), 250MeV/u for \(Z>3\)).
If higher energies are required, call static method KVedaLoss::SetIgnoreEnergyLimits() BEFORE ANY MATERIALS ARE CREATED in order to recalculate the \(E_{max}\) limits in such a way that:
Then, at the most, the new limit will be 1 GeV/nucleon, or at the least, it will remain at the nominal (400 or 250 MeV/nucleon) level.
Definition at line 36 of file KVedaLoss.cpp.
Definition at line 88 of file KVedaLoss.h.
static flag for using new KVedaLossInverseRangeFunction
Definition at line 74 of file KVedaLoss.h.
|
private |
Definition at line 65 of file KVedaLoss.h.
|
staticprivate |
static list of all known materials
Definition at line 64 of file KVedaLoss.h.