KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVRangeYanezMaterial.h
1
3
4#ifndef __KVRANGEYANEZMATERIAL_H
5#define __KVRANGEYANEZMATERIAL_H
15#include "KVIonRangeTableMaterial.h"
16
17class range; // PIMPL C++ implementation of range library
18
21
32
33 std::unique_ptr<range> range_lib;
34protected:
39
41
42public:
46 KVRangeYanezMaterial(const KVIonRangeTable* t, const Char_t* name, const Char_t* symbol, const Char_t* state,
47 Double_t density = -1, Int_t Z = -1, Int_t A = -1);
48
49 void Copy(TObject&) const;
50 void Initialize();
51
52 TF1* GetDeltaEFunction(Double_t e, Int_t Z, Int_t A, Double_t isoAmat = 0);
53 TF1* GetRangeFunction(Int_t Z, Int_t A, Double_t isoAmat = 0);
54 TF1* GetEResFunction(Double_t e, Int_t Z, Int_t A, Double_t isoAmat = 0);
56 {
57 Warning("GetStoppingFunction", "Not available for Yanez Range tables");
58 return 0;
59 };
60 void SetTableType(int type)
61 {
63 };
64
65 virtual Double_t GetEIncFromEResOfIon(Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat = 0.);
66
68 {
69 return fNelem;
70 }
71 void SaveMaterial(std::ofstream& matfile);
72
73 ClassDef(KVRangeYanezMaterial, 1) //Description of absorber for the Range dE/dx and range library (Ricardo Yanez)
74};
75
76#endif
int Int_t
char Char_t
double Double_t
#define ClassDef(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t 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.
TF1 * GetRangeFunction(Int_t Z, Int_t A, Double_t isoAmat=0)
TF1 * GetEResFunction(Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0)
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 ...
void PrepareRangeLibVariables(Int_t Z, Int_t A)
KVRangeYanezMaterial()
Default constructor.
TF1 * GetDeltaEFunction(Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0)
Int_t iabso
value of iabso argument for function calls
Double_t RangeFunc(Double_t *, Double_t *)
TF1 * GetStoppingFunction(Int_t, Int_t, Double_t=0)
void Copy(TObject &) const
Double_t EResFunc(Double_t *, Double_t *)
std::unique_ptr< range > range_lib
Double_t DeltaEFunc(Double_t *, Double_t *)
Double_t error
calculated error in MeV
struct KVRangeYanezMaterial::Elem fAbsorb[10]
list of elements
virtual Double_t GetEIncFromEResOfIon(Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat=0.)
void SaveMaterial(std::ofstream &matfile)
virtual void Warning(const char *method, const char *msgfmt,...) const