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;
29  KVIonRangeTableMaterial* GetMaterialWithNameOrType(const Char_t* material) const override;
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 override;
41 
42  KVIonRangeTableMaterial* AddElementalMaterial(Int_t z, Int_t a = 0) const override;
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 override;
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 override;
50  void Print(Option_t* = "") const override;
51  TObjArray* GetListOfMaterials() override;
52  Bool_t CheckIon(Int_t, Int_t) const override
53  {
54  return kTRUE;
55  }
56  Bool_t ReadMaterials(const Char_t* filename) const override;
57 
58  ClassDefOverride(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 ClassDefOverride(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 override
void Copy(TObject &) const override
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
Bool_t ReadMaterials(const Char_t *filename) const override
Read materials from file whose name is given.
void SaveMaterial(KVIonRangeTableMaterial *mat) const
void Print(Option_t *="") const override
KVIonRangeTableMaterial * GetMaterialWithNameOrType(const Char_t *material) const override
TObjArray * GetListOfMaterials() override
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 override
KVIonRangeTableMaterial * AddElementalMaterial(Int_t z, Int_t a=0) const override
Bool_t CheckIon(Int_t, Int_t) const override
Definition: KVRangeYanez.h:52
KVIonRangeTableMaterial * MakeNaturallyOccuringElementMixture(Int_t z, Int_t &a) const
void CheckMaterialsList() const