![]() |
KaliVeda
Toolkit for HIC analysis
|
Interface to Range dE/dx and range library.
This is a modified version of the Range package developed by Ricardo Yanez. See here for details.
Modifications concern:
Definition at line 26 of file KVRangeYanez.h.
#include <KVRangeYanez.h>

Public Member Functions | |
| KVRangeYanez () | |
| KVRangeYanez (const KVRangeYanez &) | |
| virtual | ~KVRangeYanez () |
| virtual KVIonRangeTableMaterial * | AddCompoundMaterial (const Char_t *name, const Char_t *symbol, const std::vector< CompoundFormulaElement > &elements, Double_t density=-1.0) const override |
| KVIonRangeTableMaterial * | AddElementalMaterial (Int_t z, Int_t a=0) const override |
| virtual KVIonRangeTableMaterial * | AddMixedMaterial (const Char_t *name, const Char_t *symbol, const std::vector< MixtureFormulaElement > &elements, Double_t density=-1.0) const override |
| Bool_t | CheckIon (Int_t, Int_t) const override |
| void | Copy (TObject &) const override |
| TObjArray * | GetListOfMaterials () override |
| KVIonRangeTableMaterial * | MakeNaturallyOccuringElementMixture (Int_t z, Int_t &a) const |
| void | Print (Option_t *="") const override |
| Bool_t | ReadMaterials (const Char_t *filename) const override |
| Read materials from file whose name is given. More... | |
Public Member Functions inherited from KVIonRangeTable | |
| KVIonRangeTable (const Char_t *name="", const Char_t *title="") | |
| Default constructor. More... | |
| virtual | ~KVIonRangeTable () |
| Destructor. More... | |
| std::optional< double > | get_element_density (int z) const |
| std::string | get_element_name (int z) const |
| std::string | get_element_symbol (int z) const |
| virtual Double_t | GetAtomicMass (const Char_t *) |
| Returns atomic mass of a material in the range tables. More... | |
| 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. More... | |
| 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. More... | |
| KVIonRangeTableMaterial * | GetMaterial (TGeoMaterial *) const |
| const Char_t * | GetMaterialName (const Char_t *) |
| Return name of material of given type or name if it is in range tables. More... | |
| const Char_t * | GetMaterialType (const Char_t *) |
| Return type of material of given type or name if it is in range tables. More... | |
| 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. More... | |
| virtual Double_t | GetZ (const Char_t *) |
| Returns atomic number of a material in the range tables. More... | |
| bool | is_gas (int z) const |
| virtual Bool_t | IsMaterialGas (const Char_t *) |
| Return kTRUE if material is gaseous. More... | |
| virtual Bool_t | IsMaterialKnown (const Char_t *) |
| Return kTRUE if material is in range tables. More... | |
| virtual Bool_t | IsMaterialKnown (TGeoMaterial *) |
| Returns kTRUE if material corresponding to TGeoMaterial name or type is in range table. More... | |
| void | Print (Option_t *="") const override |
| virtual void | SetDensity (const Char_t *, Double_t) |
| Changes the density (g/cm**3) of a material in the range tables. More... | |
| virtual void | SetTemperatureAndPressure (const Char_t *, Double_t temperature, Double_t pressure) |
Public Member Functions inherited from KVBase | |
| KVBase () | |
| Default constructor. More... | |
| KVBase (const Char_t *name, const Char_t *title="") | |
| Ctor for object with given name and type. More... | |
| KVBase (const KVBase &) | |
| copy ctor More... | |
| void | Clear (Option_t *opt="") override |
| Clear object properties : name, type/title, number, label. More... | |
| void | Copy (TObject &) const override |
| Make a copy of this object. More... | |
| const Char_t * | GetLabel () const |
| UInt_t | GetNumber () const |
| virtual TObject * | GetObject () const |
| virtual const Char_t * | GetType () const |
| Bool_t | HasLabel () const |
| Bool_t | IsCalled (const Char_t *name, bool case_insensitive=false) const |
| Bool_t | IsLabelled (const Char_t *l, bool case_insensitive=false) const |
| Bool_t | IsType (const Char_t *typ, bool case_insensitive=false) const |
| virtual void | List () |
| KVBase & | operator= (const KVBase &) |
| copy assignment operator More... | |
| void | Print (Option_t *option="") const override |
| void | SetLabel (const Char_t *lab) |
| virtual void | SetNumber (UInt_t num) |
| virtual void | SetType (const Char_t *str) |
Additional Inherited Members | |
Public Types inherited from KVIonRangeTable | |
| enum | SolType { kEmax , kEmin } |
Public Types inherited from KVBase | |
| enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
| enum class | GetX_status { ok , above_maximum , below_minimum , at_maximum , at_minimum } |
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. More... | |
Static Public Member Functions inherited from KVBase | |
| static std::optional< TString > | AbsoluteUnixPath (const TString &) |
| static Bool_t | AreEqual (Double_t x, Double_t y, Long64_t maxdif=1) |
| Comparison between two 64-bit floating-point values. More... | |
| 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 KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &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="") |
| template<typename ValType > | |
| static ValType | GetDataSetEnv (const KVString &dataset, const KVString &type, const ValType &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.) More... | |
| static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetKVBuildDate () |
| Returns KaliVeda build date. More... | |
| static const Char_t * | GetKVBuildDir () |
| Returns top-level directory used for build. More... | |
| static const Char_t * | GetKVBuildTime () |
| Returns KaliVeda build time. More... | |
| static const Char_t * | GetKVBuildType () |
| Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
| static const Char_t * | GetKVBuildUser () |
| Returns username of person who performed build. More... | |
| static int | GetKVMajorVersion () |
| static int | GetKVMinorVersion () |
| static int | GetKVPatchVersion () |
| static const Char_t * | GetKVSourceDir () |
| Returns top-level directory of source tree used for build. More... | |
| static const Char_t * | GetKVVersion () |
| Returns KaliVeda version string. More... | |
| 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. More... | |
| static const Char_t * | gitCommit () |
| Returns last git commit of sources. More... | |
| static void | InitEnvironment () |
| static bool | is_gnuinstall () |
| static Bool_t | IsEnvInit () |
| 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. More... | |
| static Double_t | ProtectedGetX (const TF1 &func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={}) |
| static Double_t | ProtectedGetX (const TF1 *func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={}) |
| 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 () |
| KVRangeYanez::KVRangeYanez | ( | ) |
Default constructor
Predefined materials are created based on the contents of the file(s) whose names are given as values of the variable RANGE.PredefMaterials
A default file is specified in the main .kvrootrc file.
If you want to add your own definitions, just put in your .kvrootrc file:
If you want to override the default definitions:
Definition at line 38 of file KVRangeYanez.cpp.
| KVRangeYanez::KVRangeYanez | ( | const KVRangeYanez & | obj | ) |
Definition at line 90 of file KVRangeYanez.cpp.
|
inlinevirtual |
Definition at line 39 of file KVRangeYanez.h.
|
overridevirtual |
Adds 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] | elements | vector of elemental components |
| [in] | density | in \(g/cm^{3}\), only required if compound is a solid |
Example of use:
Reimplemented from KVIonRangeTable.
Definition at line 251 of file KVRangeYanez.cpp.
|
overridevirtual |
Adds a material composed of a single chemical element.
| [in] | z | atomic number \(Z\) of element |
| [in] | a | [optional] mass number \(A\) of isotope |
If the mass number of the isotope \(A\) is not specified, we create a material containing the naturally occuring isotopes of the given element, weighted according to natural abundance.
If the mass is given, the material name will be "Xxx-A" where Xxx is the name of the element
"Calcium-48", "Tin-124", etc.Otherwise, we just use the element symbol and name for naturally-occurring mixtures of atomic elements ("Ca", "Calcium", etc.).
Reimplemented from KVIonRangeTable.
Definition at line 200 of file KVRangeYanez.cpp.
|
overridevirtual |
Adds 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] | elements | vector of elemental components |
| [in] | density | in \(g/cm^{3}\), if mixture is a solid Example of use: |
Reimplemented from KVIonRangeTable.
Definition at line 299 of file KVRangeYanez.cpp.
|
inlineoverridevirtual |
Reimplemented from KVIonRangeTable.
Definition at line 52 of file KVRangeYanez.h.
|
override |
Definition at line 100 of file KVRangeYanez.cpp.
|
overridevirtual |
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 154 of file KVRangeYanez.cpp.
| KVIonRangeTableMaterial * KVRangeYanez::MakeNaturallyOccuringElementMixture | ( | Int_t | z, |
| Int_t & | a | ||
| ) | const |
Create a material containing the naturally occuring isotopes of the given element, weighted according to their abundance.
| [in] | z | atomic number of element |
| [out] | a | mass number of unique isotope, if 100% abundance |
if there is only one naturally occurring isotope of the element we set a to this isotope and don't create any material
Definition at line 341 of file KVRangeYanez.cpp.
|
override |
Definition at line 133 of file KVRangeYanez.cpp.
|
overridevirtual |
Read materials from file whose name is given.
Implements KVIonRangeTable.
Definition at line 384 of file KVRangeYanez.cpp.