KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
KVedaLoss.h
Go to the documentation of this file.
1 
4 #ifndef __KVEDALOSS_H
5 #define __KVEDALOSS_H
6 
7 #include "KVIonRangeTable.h"
8 #include "KVHashList.h"
9 
10 class KVedaLossMaterial;
11 class TGeoMaterial;
12 
62 class KVedaLoss : public KVIonRangeTable {
65 
66  Bool_t init_materials() const;
68  {
69  if (!fMaterials) return init_materials();
70  return kTRUE;
71  };
74 
76 
77 public:
78  KVedaLoss();
79  virtual ~KVedaLoss();
80 
81 
82  void Print(Option_t* = "") const;
84 
85  static void SetIgnoreEnergyLimits(Bool_t yes = kTRUE);
86 
87  static void SetUseNewRangeInversion(Bool_t yes = kTRUE)
88  {
89  fgNewRangeInversion = yes;
90  }
92  {
93  return fgNewRangeInversion;
94  }
95 
96  Bool_t CheckIon(Int_t Z, Int_t A) const;
97  Bool_t ReadMaterials(const Char_t* path) const;
98 
100  Bool_t AddRANGEMaterial(const Char_t* name) const;
102  const Char_t* /*name*/, const Char_t* /* symbol */,
103  Int_t /* nelem */, Int_t* /* z */, Int_t* /* a */, Int_t* /* natoms */, Double_t /* density */ = -1.0) const;
105  const Char_t* /* name */, const Char_t* /* symbol */,
106  Int_t /* nelem */, Int_t* /* z */, Int_t* /* a */, Int_t* /* natoms */, Double_t* /* proportion */,
107  Double_t /* density */ = -1.0) const;
108  ClassDef(KVedaLoss, 1) //C++ implementation of VEDALOSS stopping power calculation
109 };
110 
111 #endif
int Int_t
char Char_t
bool Bool_t
double Double_t
const Bool_t kTRUE
const char Option_t
#define ClassDef(name, id)
Extended version of ROOT THashList.
Definition: KVHashList.h:28
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:62
KVIonRangeTableMaterial * AddCompoundMaterial(const Char_t *, const Char_t *, Int_t, Int_t *, Int_t *, Int_t *, Double_t=-1.0) const
Definition: KVedaLoss.cpp:250
TObjArray * GetListOfMaterials()
Definition: KVedaLoss.cpp:370
Bool_t init_materials() const
Definition: KVedaLoss.cpp:100
KVIonRangeTableMaterial * GetMaterialWithNameOrType(const Char_t *material) const
Returns pointer to material of given name or type.
Definition: KVedaLoss.cpp:307
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:63
KVIonRangeTableMaterial * AddElementalMaterial(Int_t Z, Int_t A=0) const
Definition: KVedaLoss.cpp:202
TString fLocalMaterialsDirectory
Definition: KVedaLoss.h:64
void AddMaterial(KVIonRangeTableMaterial *) const
Definition: KVedaLoss.cpp:328
static void SetUseNewRangeInversion(Bool_t yes=kTRUE)
Definition: KVedaLoss.h:87
Bool_t ReadMaterials(const Char_t *path) const
Read and add range tables for materials in file.
Definition: KVedaLoss.cpp:137
static Bool_t IsUseNewRangeInversion()
Definition: KVedaLoss.h:91
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
Definition: KVedaLoss.cpp:282
Bool_t AddRANGEMaterial(const Char_t *name) const
If the given material is defined in the RANGE tables, import it into VEDALOSS.
Definition: KVedaLoss.cpp:225
static Bool_t fgNewRangeInversion
static flag for using new KVedaLossInverseRangeFunction
Definition: KVedaLoss.h:73
static void SetIgnoreEnergyLimits(Bool_t yes=kTRUE)
Definition: KVedaLoss.cpp:36
void Print(Option_t *="") const
Definition: KVedaLoss.cpp:356
Bool_t CheckMaterialsList() const
Definition: KVedaLoss.h:67