KaliVeda
1.12/06
Heavy-Ion Analysis Toolkit
|
Description of absorber for the Range dE/dx and range library.
Created by KVClassFactory on Thu Sep 27 14:50:08 2012 Author: John Frankland,,,
Definition at line 17 of file KVRangeYanezMaterial.h.
Classes | |
struct | Elem |
Public Member Functions | |
KVRangeYanezMaterial () | |
Default constructor. More... | |
KVRangeYanezMaterial (const KVIonRangeTable *t, const Char_t *name, const Char_t *symbol, const Char_t *state, Double_t density=-1, Int_t Z=-1, Int_t A=-1) | |
Create material (single-element absorber) More... | |
KVRangeYanezMaterial (const KVRangeYanezMaterial &) | |
virtual | ~KVRangeYanezMaterial () |
Destructor. More... | |
void | Copy (TObject &) const |
TF1 * | GetDeltaEFunction (Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0) |
virtual Double_t | GetEIncFromEResOfIon (Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat=0.) |
TF1 * | GetEResFunction (Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0) |
Int_t | GetNElem () const |
TF1 * | GetRangeFunction (Int_t Z, Int_t A, Double_t isoAmat=0) |
TF1 * | GetStoppingFunction (Int_t, Int_t, Double_t=0) |
void | Initialize () |
void | SaveMaterial (ofstream &matfile) |
void | SetTableType (int type) |
Public Member Functions inherited from KVIonRangeTableMaterial | |
KVIonRangeTableMaterial () | |
Default constructor. More... | |
KVIonRangeTableMaterial (const KVIonRangeTable *, const Char_t *name, const Char_t *symbol, const Char_t *state, Double_t density=-1, Double_t Z=-1, Double_t A=-1) | |
KVIonRangeTableMaterial (const KVIonRangeTableMaterial &) | |
virtual | ~KVIonRangeTableMaterial () |
Destructor. More... | |
void | AddCompoundElement (Int_t Z, Int_t A, Int_t Natoms) |
void | AddMixtureElement (Int_t Z, Int_t A, Int_t Natoms, Double_t Proportion) |
KVList * | GetComposition () const |
Double_t | GetDeltaEFromEResOfIon (Int_t Z, Int_t A, Double_t ERes, Double_t e, Double_t isoAmat=0.) |
virtual Double_t | GetDeltaEOfIon (Int_t Z, Int_t A, Double_t E, Double_t e, Double_t isoAmat=0.) |
Double_t | GetDensity () const |
virtual Double_t | GetEIncFromDeltaEOfIon (Int_t Z, Int_t A, Double_t DeltaE, Double_t e, enum KVIonRangeTable::SolType type=KVIonRangeTable::kEmax, Double_t isoAmat=0.) |
virtual Double_t | GetEIncOfMaxDeltaEOfIon (Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0.) |
virtual Float_t | GetEmaxValid (Int_t, Int_t) const |
virtual Float_t | GetEminValid (Int_t, Int_t) const |
virtual Double_t | GetEResOfIon (Int_t Z, Int_t A, Double_t E, Double_t e, Double_t isoAmat=0.) |
Double_t | GetLinearDeltaEFromEResOfIon (Int_t Z, Int_t A, Double_t ERes, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearDeltaEOfIon (Int_t Z, Int_t A, Double_t E, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEIncFromDeltaEOfIon (Int_t Z, Int_t A, Double_t DeltaE, Double_t e, enum KVIonRangeTable::SolType type=KVIonRangeTable::kEmax, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEIncFromEResOfIon (Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEIncOfMaxDeltaEOfIon (Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearEResOfIon (Int_t Z, Int_t A, Double_t E, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearMaxDeltaEOfIon (Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearPunchThroughEnergy (Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.) |
virtual Double_t | GetLinearRangeOfIon (Int_t Z, Int_t A, Double_t E, Double_t isoAmat=0, Double_t T=-1., Double_t P=-1.) |
Double_t | GetMass () const |
virtual Double_t | GetMaxDeltaEOfIon (Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0.) |
Double_t | GetMoleWt () const |
virtual Double_t | GetPunchThroughEnergy (Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0.) |
virtual Double_t | GetRangeOfIon (Int_t Z, Int_t A, Double_t E, Double_t isoAmat=0.) |
Double_t | GetRangeOfLastDE () const |
const Char_t * | GetSymbol () const |
const KVIonRangeTable * | GetTable () const |
TGeoMaterial * | GetTGeoMaterial () const |
Double_t | GetZ () const |
Bool_t | IsCompound () const |
Bool_t | IsGas () const |
Bool_t | IsMixture () const |
void | ls (Option_t *="") const |
void | Print (Option_t *="") const |
void | PrintComposition (std::ostream &) const |
Print to stream the composition of this material, in a format compatible with the VEDALOSS parameter file. More... | |
void | PrintRangeTable (Int_t Z, Int_t A, Double_t isoAmat=0, Double_t units=KVUnits::cm, Double_t T=-1, Double_t P=-1) |
void | SetDensity (Double_t d) |
void | SetState (const Char_t *st) |
void | SetTemperatureAndPressure (Double_t T, Double_t P) |
Public Member Functions inherited from KVBase | |
KVBase () | |
Default constructor. More... | |
KVBase (const Char_t *name, const Char_t *title="") | |
Ctor for object with given name and type. More... | |
KVBase (const KVBase &) | |
copy ctor More... | |
virtual | ~ KVBase () |
virtual void | Clear (Option_t *opt="") |
Clear object properties : name, type/title, number, label. More... | |
const Char_t * | GetLabel () const |
UInt_t | GetNumber () const |
UInt_t | GetNumberOfObjects () const |
virtual TObject * | GetObject () const |
const Char_t * | GetType () const |
Bool_t | HasLabel () const |
virtual Bool_t | IsCalled (const Char_t *name) const |
Bool_t | IsLabelled (const Char_t *l) const |
virtual Bool_t | IsType (const Char_t *typ) const |
virtual void | List () |
KVBase & | operator= (const KVBase &) |
copy assignment operator More... | |
Double_t | ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const |
void | SetLabel (const Char_t *lab) |
virtual void | SetNumber (UInt_t num) |
virtual void | SetType (const Char_t *str) |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
virtual TObject * | Clone (const char *newname="") const |
virtual Int_t | Compare (const TObject *obj) const |
virtual void | FillBuffer (char *&buffer) |
virtual const char * | GetName () const |
virtual const char * | GetTitle () const |
virtual ULong_t | Hash () const |
virtual Bool_t | IsSortable () const |
TNamed & | operator= (const TNamed &rhs) |
virtual void | SetName (const char *name) |
virtual void | SetNameTitle (const char *name, const char *title) |
virtual void | SetTitle (const char *title="") |
virtual Int_t | Sizeof () const |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
virtual | ~TObject () |
void | AbstractMethod (const char *method) const |
virtual void | AppendPad (Option_t *option="") |
virtual void | Browse (TBrowser *b) |
ULong_t | CheckedHash () |
virtual const char * | ClassName () const |
virtual void | Delete (Option_t *option="") |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
virtual void | Draw (Option_t *option="") |
virtual void | DrawClass () const |
virtual TObject * | DrawClone (Option_t *option="") const |
virtual void | Dump () const |
virtual void | Error (const char *method, const char *msgfmt,...) const |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
virtual TObject * | FindObject (const char *name) const |
virtual TObject * | FindObject (const TObject *obj) const |
virtual Option_t * | GetDrawOption () const |
virtual const char * | GetIconName () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
virtual Bool_t | HandleTimer (TTimer *timer) |
Bool_t | HasInconsistentHash () const |
virtual void | Info (const char *method, const char *msgfmt,...) const |
virtual Bool_t | InheritsFrom (const char *classname) const |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
virtual void | Inspect () const |
void | InvertBit (UInt_t f) |
virtual Bool_t | IsEqual (const TObject *obj) const |
virtual Bool_t | IsFolder () const |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
virtual Bool_t | Notify () |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
void | operator delete (void *ptr) |
void | operator delete[] (void *ptr) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
virtual void | Paint (Option_t *option="") |
virtual void | Pop () |
virtual Int_t | Read (const char *name) |
virtual void | RecursiveRemove (TObject *obj) |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
virtual void | SetDrawOption (Option_t *option="") |
virtual void | SetUniqueID (UInt_t uid) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Protected Member Functions | |
Double_t | DeltaEFunc (Double_t *, Double_t *) |
Double_t | EResFunc (Double_t *, Double_t *) |
void | MakeFunctionObjects () |
void | PrepareRangeLibVariables (Int_t Z, Int_t A) |
Double_t | RangeFunc (Double_t *, Double_t *) |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
Private Attributes | |
Int_t | Ap |
Z,A of incident projectile ion. More... | |
Double_t | error |
calculated error in MeV More... | |
struct KVRangeYanezMaterial::Elem | fAbsorb [10] |
list of elements More... | |
Int_t | fNelem |
number of elements in material More... | |
Int_t | fTableType |
=0 for Northcliffe-Schilling (<12 MeV/u), =1 for Hubert et al (2.5<E/A<500 MeV), =2 for interpolated (0<E/A<500 MeV) More... | |
Int_t | iabso |
value of iabso argument for function calls More... | |
Double_t | thickness |
in g/cm**2 More... | |
Int_t | Zp |
Additional Inherited Members | |
Public Types inherited from KVBase | |
enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
Public Types inherited from TObject | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
Static Public Member Functions inherited from KVBase | |
static Bool_t | AreEqual (Double_t x, Double_t y, Long64_t maxdif=1) |
Comparison between two 64-bit floating-point values. More... | |
static void | BackupFileWithDate (const Char_t *path) |
static void | CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE) |
static void | Deprecated (const char *method, const char *advice) |
static Bool_t | FindClassSourceFiles (const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".") |
static Bool_t | FindExecutable (TString &exec, const Char_t *path="$(PATH)") |
static const Char_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval) |
static Double_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval) |
static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More... | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. More... | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. More... | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build date. More... | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. More... | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. More... | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. More... | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. More... | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. More... | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
static void | OpenTempFile (TString &base, std::ofstream &fp) |
static void | PrintSplashScreen () |
Prints welcome message and infos on version etc. More... | |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0) |
static Bool_t | SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="") |
static const Char_t * | WorkingDirectory () |
Static Public Member Functions inherited from TObject | |
static Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
Public Attributes inherited from TObject | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
Protected Attributes inherited from KVIonRangeTableMaterial | |
Double_t | fAmat |
effective mass number of material More... | |
KVList * | fComposition |
composition of compound/mixture More... | |
Bool_t | fCompound |
TF1 * | fDeltaE |
function parameterising energy loss in material More... | |
Double_t | fDens |
density of material in g/cm**3 More... | |
TF1 * | fEres |
function parameterising residual energy after crossing material More... | |
Bool_t | fMixture |
Double_t | fMoleWt |
mass of one mole of substance in grammes More... | |
TF1 * | fRange |
function parameterising range of charged particles in material More... | |
Double_t | fRangeOfLastDE |
range corresponding to last calculated DE More... | |
TString | fState |
state of material = "solid", "liquid", "gas", "unknown" More... | |
TF1 * | fStopping |
function parameterising stopping power of charged particles in material More... | |
const KVIonRangeTable * | fTable |
parent range table More... | |
Double_t | fZmat |
effective atomic number of material More... | |
Protected Attributes inherited from KVBase | |
TString | fLabel |
label for the object More... | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TObject | |
kOnlyPrepStep | |
#include <KVRangeYanezMaterial.h>
KVRangeYanezMaterial::KVRangeYanezMaterial | ( | ) |
Default constructor.
Definition at line 51 of file KVRangeYanezMaterial.cpp.
KVRangeYanezMaterial::KVRangeYanezMaterial | ( | const KVRangeYanezMaterial & | obj | ) |
Copy constructor This ctor is used to make a copy of an existing object (for example when a method returns an object), and it is always a good idea to implement it. If your class allocates memory in its constructor(s) then it is ESSENTIAL :-)
Definition at line 87 of file KVRangeYanezMaterial.cpp.
KVRangeYanezMaterial::KVRangeYanezMaterial | ( | const KVIonRangeTable * | t, |
const Char_t * | name, | ||
const Char_t * | symbol, | ||
const Char_t * | state, | ||
Double_t | density = -1 , |
||
Int_t | Z = -1 , |
||
Int_t | A = -1 |
||
) |
Create material (single-element absorber)
Definition at line 61 of file KVRangeYanezMaterial.cpp.
|
virtual |
Destructor.
Definition at line 104 of file KVRangeYanezMaterial.cpp.
This method copies the current state of 'this' object into 'obj' You should add here any member variables, for example: (supposing a member variable KVRangeYanezMaterial::fToto) CastedObj.fToto = fToto; or CastedObj.SetToto( GetToto() );
Reimplemented from KVIonRangeTableMaterial.
Definition at line 120 of file KVRangeYanezMaterial.cpp.
Function parameterising the energy loss of charged particles in this material. This is simply an interface to the passage() function of the Range C library. The incident energy E[0] is given in MeV. The energy loss is calculated in MeV. To avoid divergences as E->0, for any incident energy E<=1.e-3MeV (i.e. 1keV) we return dE=E i.e. all particles with E<=1keV are stopped.
Definition at line 163 of file KVRangeYanezMaterial.cpp.
Function parameterising the residual energy of charged particles after traversing this material. This is simply an interface to the passage() function of the Range C library. The incident energy E[0] is given in MeV. The residual energy is calculated in MeV. To avoid divergences as E->0, for any incident energy E<=1.e-3MeV (i.e. 1keV) we return Eres=0 i.e. all particles with E<=1keV are stopped.
Definition at line 185 of file KVRangeYanezMaterial.cpp.
|
virtual |
Return function giving energy loss (in MeV) as a function of incident energy (in MeV) for charged particles (Z,A) traversing (or not) the thickness e (in g/cm**2) of this material. isotopic mass isoAmat argument is not used.
Implements KVIonRangeTableMaterial.
Definition at line 250 of file KVRangeYanezMaterial.cpp.
|
virtual |
Overrides KVIonRangeTableMaterial method to use the egassap() function of the Range C library. Calculates incident energy (in MeV) of an ion (Z,A) with residual energy Eres (MeV) after thickness e (in g/cm**2). isotopic mass isoAmat argument is not used.
Reimplemented from KVIonRangeTableMaterial.
Definition at line 344 of file KVRangeYanezMaterial.cpp.
|
virtual |
Return function giving residual energy (in MeV) as a function of incident energy (in MeV) for charged particles (Z,A) traversing (or not) the thickness e (in g/cm**2) of this material. isotopic mass isoAmat argument is not used.
Implements KVIonRangeTableMaterial.
Definition at line 269 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 63 of file KVRangeYanezMaterial.h.
Return function giving range (in g/cm**2) as a function of incident energy (in MeV) for charged particles (Z,A) traversing this material. isotopic mass isoAmat argument is not used.
Implements KVIonRangeTableMaterial.
Definition at line 288 of file KVRangeYanezMaterial.cpp.
Implements KVIonRangeTableMaterial.
Definition at line 51 of file KVRangeYanezMaterial.h.
Correctly initialize material ready for use For compound or mixed materials, calculate normalised weights of components, effective Z and A, and molar weight of substance
Reimplemented from KVIonRangeTableMaterial.
Definition at line 308 of file KVRangeYanezMaterial.cpp.
|
protected |
Definition at line 137 of file KVRangeYanezMaterial.cpp.
Definition at line 226 of file KVRangeYanezMaterial.cpp.
Function parameterising the range of charged particles in this material. This is simply an interface to the rangen() function of the Range C library. The incident energy E[0] is given in MeV. The range is calculated in g/cm**2. To avoid divergences as E->0, for any incident energy E<=1.e-3MeV (i.e. 1keV) we return range=0 i.e. all particles with E<=1keV are stopped.
Definition at line 208 of file KVRangeYanezMaterial.cpp.
void KVRangeYanezMaterial::SaveMaterial | ( | ofstream & | matfile | ) |
Write definition of material in a file in the directory
/range_yanez/[name].dat
All files in this directory are read when the table is initialised
Definition at line 362 of file KVRangeYanezMaterial.cpp.
|
inline |
Definition at line 56 of file KVRangeYanezMaterial.h.
|
private |
Z,A of incident projectile ion.
Definition at line 28 of file KVRangeYanezMaterial.h.
|
private |
calculated error in MeV
Definition at line 29 of file KVRangeYanezMaterial.h.
|
private |
list of elements
|
private |
number of elements in material
Definition at line 20 of file KVRangeYanezMaterial.h.
|
private |
=0 for Northcliffe-Schilling (<12 MeV/u), =1 for Hubert et al (2.5<E/A<500 MeV), =2 for interpolated (0<E/A<500 MeV)
Definition at line 18 of file KVRangeYanezMaterial.h.
|
private |
value of iabso argument for function calls
Definition at line 21 of file KVRangeYanezMaterial.h.
|
private |
in g/cm**2
Definition at line 27 of file KVRangeYanezMaterial.h.
|
private |
Definition at line 28 of file KVRangeYanezMaterial.h.