KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVedaLoss.h
1
3
4#ifndef __KVEDALOSS_H
5#define __KVEDALOSS_H
6
7#include "KVIonRangeTable.h"
8#include "KVHashList.h"
9
11class TGeoMaterial;
12
63class KVedaLoss : public KVIonRangeTable {
66
67 Bool_t init_materials() const;
69 {
70 if (!fMaterials) return init_materials();
71 return kTRUE;
72 };
75
77
78public:
79 KVedaLoss();
80 virtual ~KVedaLoss();
81
82
83 void Print(Option_t* = "") const;
85
86 static void SetIgnoreEnergyLimits(Bool_t yes = kTRUE);
87
88 static void SetUseNewRangeInversion(Bool_t yes = kTRUE)
89 {
91 }
93 {
95 }
96
97 Bool_t CheckIon(Int_t Z, Int_t A) const;
98 Bool_t ReadMaterials(const Char_t* path) const;
99
101 Bool_t AddRANGEMaterial(const Char_t* name) const;
103 const Char_t* /*name*/, const Char_t* /* symbol */,
104 Int_t /* nelem */, Int_t* /* z */, Int_t* /* a */, Int_t* /* natoms */, Double_t /* density */ = -1.0) const;
106 const Char_t* /* name */, const Char_t* /* symbol */,
107 Int_t /* nelem */, Int_t* /* z */, Int_t* /* a */, Int_t* /* natoms */, Double_t* /* proportion */,
108 Double_t /* density */ = -1.0) const;
109 ClassDef(KVedaLoss, 1) //C++ implementation of VEDALOSS stopping power calculation
110};
111
112#endif
int Int_t
bool Bool_t
char Char_t
double Double_t
constexpr Bool_t kTRUE
const char Option_t
#define ClassDef(name, id)
Extended version of ROOT THashList.
Definition KVHashList.h:29
Material for use in energy loss & range calculations.
Abstract base class for calculation of range & energy loss of charged particles in matter.
Description of material in the KVedaLoss range table.
C++ implementation of VEDALOSS stopping power calculation.
Definition KVedaLoss.h:63
KVIonRangeTableMaterial * AddCompoundMaterial(const Char_t *, const Char_t *, Int_t, Int_t *, Int_t *, Int_t *, Double_t=-1.0) const
TObjArray * GetListOfMaterials()
Bool_t init_materials() const
Definition KVedaLoss.cpp:99
KVIonRangeTableMaterial * GetMaterialWithNameOrType(const Char_t *material) const
Returns pointer to material of given name or type.
KVedaLoss()
Default constructor.
Definition KVedaLoss.cpp:69
virtual ~KVedaLoss()
Destructor.
Definition KVedaLoss.cpp:86
static KVHashList * fMaterials
static list of all known materials
Definition KVedaLoss.h:64
KVIonRangeTableMaterial * AddElementalMaterial(Int_t Z, Int_t A=0) const
TString fLocalMaterialsDirectory
Definition KVedaLoss.h:65
void AddMaterial(KVIonRangeTableMaterial *) const
static void SetUseNewRangeInversion(Bool_t yes=kTRUE)
Definition KVedaLoss.h:88
Bool_t ReadMaterials(const Char_t *path) const
Read and add range tables for materials in file.
static Bool_t IsUseNewRangeInversion()
Definition KVedaLoss.h:92
Bool_t CheckIon(Int_t Z, Int_t A) const
Definition KVedaLoss.cpp:59
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.
static Bool_t fgNewRangeInversion
static flag for using new KVedaLossInverseRangeFunction
Definition KVedaLoss.h:74
static void SetIgnoreEnergyLimits(Bool_t yes=kTRUE)
Definition KVedaLoss.cpp:36
void Print(Option_t *="") const
Bool_t CheckMaterialsList() const
Definition KVedaLoss.h:68