KaliVeda  1.12/06
Heavy-Ion Analysis Toolkit
KVRangeYanezMaterial.h
Go to the documentation of this file.
1 
4 #ifndef __KVRANGEYANEZMATERIAL_H
5 #define __KVRANGEYANEZMATERIAL_H
15 using namespace std;
16 
19 
22  struct Elem {
26  } fAbsorb[10];
28  Int_t Zp, Ap;
30 
31 protected:
32  void PrepareRangeLibVariables(Int_t Z, Int_t A);
33  Double_t DeltaEFunc(Double_t*, Double_t*);
34  Double_t RangeFunc(Double_t*, Double_t*);
35  Double_t EResFunc(Double_t*, Double_t*);
36 
37  void MakeFunctionObjects();
38 
39 public:
42  KVRangeYanezMaterial(const KVIonRangeTable* t, const Char_t* name, const Char_t* symbol, const Char_t* state,
43  Double_t density = -1, Int_t Z = -1, Int_t A = -1);
44  virtual ~KVRangeYanezMaterial();
45  void Copy(TObject&) const;
46  void Initialize();
47 
48  TF1* GetDeltaEFunction(Double_t e, Int_t Z, Int_t A, Double_t isoAmat = 0);
49  TF1* GetRangeFunction(Int_t Z, Int_t A, Double_t isoAmat = 0);
50  TF1* GetEResFunction(Double_t e, Int_t Z, Int_t A, Double_t isoAmat = 0);
52  {
53  Warning("GetStoppingFunction", "Not available for Yanez Range tables");
54  return 0;
55  };
56  void SetTableType(int type)
57  {
58  fTableType = type;
59  };
60 
61  virtual Double_t GetEIncFromEResOfIon(Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat = 0.);
62 
63  Int_t GetNElem() const
64  {
65  return fNelem;
66  }
67  void SaveMaterial(ofstream& matfile);
68 
69  ClassDef(KVRangeYanezMaterial, 1) //Description of absorber for the Range dE/dx and range library (Ricardo Yanez)
70 };
71 
72 #endif
int Int_t
char Char_t
double Double_t
#define ClassDef(name, id)
int type
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.
Int_t Ap
Z,A of incident projectile ion.
Double_t thickness
in g/cm**2
Int_t fNelem
number of elements in material
Int_t fTableType
=0 for Northcliffe-Schilling (<12 MeV/u), =1 for Hubert et al (2.5<E/A<500 MeV), =2 for interpolated ...
Int_t iabso
value of iabso argument for function calls
TF1 * GetStoppingFunction(Int_t, Int_t, Double_t=0)
Double_t error
calculated error in MeV
void Copy(void *source, void *dest)
void Warning(const char *location, const char *va_(fmt),...)
void Initialize(Bool_t useTMVAStyle=kTRUE)