KaliVeda
Toolkit for HIC analysis
KVRangeYanez.h
1 
4 #ifndef __KVRANGEYANEZ_H
5 #define __KVRANGEYANEZ_H
6 
7 #include "KVIonRangeTable.h"
8 #include "KVHashList.h"
9 
11 
26 class KVRangeYanez : public KVIonRangeTable {
28  void CheckMaterialsList() const;
32  void SaveMaterial(KVIonRangeTableMaterial* mat) const;
33 
34 public:
35 
36  KVRangeYanez();
37  KVRangeYanez(const KVRangeYanez&) ;
38  ROOT_COPY_ASSIGN_OP(KVRangeYanez)
39  virtual ~KVRangeYanez() {}
40  void Copy(TObject&) const;
41 
44  const Char_t* name, const Char_t* symbol,
45  Int_t nelem, Int_t* z, Int_t* a, Int_t* natoms, Double_t density = -1.0) const;
47  const Char_t* name, const Char_t* symbol,
48  Int_t nelem, Int_t* z, Int_t* a, Int_t* natoms, Double_t* weight, Double_t density = -1.0) const;
50  void Print(Option_t* = "") const;
53  {
54  return kTRUE;
55  }
56  Bool_t ReadMaterials(const Char_t* filename) const;
57 
58  ClassDef(KVRangeYanez, 1) //Interface to Range dE/dx and range library (Ricardo Yanez)
59 };
60 
61 #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 absorber for the Range dE/dx and range library.
Interface to Range dE/dx and range library.
Definition: KVRangeYanez.h:26
virtual KVIonRangeTableMaterial * AddMixedMaterial(const Char_t *name, const Char_t *symbol, Int_t nelem, Int_t *z, Int_t *a, Int_t *natoms, Double_t *weight, Double_t density=-1.0) const
Bool_t fDoNotSaveMaterials
Definition: KVRangeYanez.h:31
TString fLocalMaterialsDirectory
Definition: KVRangeYanez.h:30
static KVHashList * fMaterials
static list of all currently defined materials
Definition: KVRangeYanez.h:27
void SaveMaterial(KVIonRangeTableMaterial *mat) const
TObjArray * GetListOfMaterials()
KVIonRangeTableMaterial * GetMaterialWithNameOrType(const Char_t *material) const
void Print(Option_t *="") const
void Copy(TObject &) const
Bool_t ReadMaterials(const Char_t *filename) const
Read materials from file whose name is given.
virtual KVIonRangeTableMaterial * AddCompoundMaterial(const Char_t *name, const Char_t *symbol, Int_t nelem, Int_t *z, Int_t *a, Int_t *natoms, Double_t density=-1.0) const
KVIonRangeTableMaterial * MakeNaturallyOccuringElementMixture(Int_t z, Int_t &a) const
virtual KVIonRangeTableMaterial * AddElementalMaterial(Int_t z, Int_t a=0) const
void CheckMaterialsList() const
Bool_t CheckIon(Int_t, Int_t) const
Definition: KVRangeYanez.h:52