KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVIonRangeTable Class Referenceabstract

Detailed Description

Abstract base class for calculation of range & energy loss of charged particles in matter.

Created by KVClassFactory on Thu Feb 3 10:04:41 2011 Author: frankland,,,,

Definition at line 21 of file KVIonRangeTable.h.

#include <KVIonRangeTable.h>

Inheritance diagram for KVIonRangeTable:

Public Types

enum  SolType { kEmax , kEmin }
 
- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVIonRangeTable (const Char_t *name="", const Char_t *title="")
 Default constructor.
 
virtual ~KVIonRangeTable ()
 Destructor.
 
virtual KVIonRangeTableMaterialAddCompoundMaterial (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
 
virtual KVIonRangeTableMaterialAddElementalMaterial (Int_t z, Int_t a=0) const
 
virtual KVIonRangeTableMaterialAddMixedMaterial (const Char_t *name, const Char_t *symbol, Int_t nelem, Int_t *z, Int_t *a, Int_t *natoms, Double_t *proportion, Double_t density=-1.0) const
 
virtual Bool_t CheckIon (Int_t, Int_t) const
 
virtual Double_t GetAtomicMass (const Char_t *)
 Returns atomic mass of a material in the range tables.
 
virtual Double_t GetDeltaEFromEResOfIon (const Char_t *mat, 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 GetDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t r, Double_t Amat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetDensity (const Char_t *)
 Returns density (g/cm**3) of a material in the range tables.
 
virtual Double_t GetEIncFromDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t DeltaE, Double_t e, enum SolType type=kEmax, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetEIncFromEResOfIon (const Char_t *mat, 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 GetEIncOfMaxDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetEmaxValid (const Char_t *material, Int_t Z, Int_t A)
 
virtual Double_t GetEResOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t r, Double_t Amat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetLinearDeltaEFromEResOfIon (const Char_t *mat, 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 (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t d, Double_t Amat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetLinearEIncFromDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t DeltaE, Double_t e, enum SolType type=kEmax, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetLinearEIncFromEResOfIon (const Char_t *mat, 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 (const Char_t *mat, 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 (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t d, Double_t Amat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetLinearMaxDeltaEOfIon (const Char_t *mat, 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 (const Char_t *mat, 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 (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t Amat=0., Double_t T=-1., Double_t P=-1.)
 
virtual TObjArrayGetListOfMaterials ()=0
 
KVIonRangeTableMaterialGetMaterial (const Char_t *material) const
 Returns pointer to material of given name or type.
 
KVIonRangeTableMaterialGetMaterial (TGeoMaterial *) const
 
virtual const Char_tGetMaterialName (const Char_t *)
 Return name of material of given type or name if it is in range tables.
 
virtual Double_t GetMaxDeltaEOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetPunchThroughEnergy (const Char_t *mat, Int_t Z, Int_t A, Double_t e, Double_t isoAmat=0., Double_t T=-1., Double_t P=-1.)
 
virtual Double_t GetRangeOfIon (const Char_t *mat, Int_t Z, Int_t A, Double_t E, Double_t Amat=0., Double_t T=-1., Double_t P=-1.)
 
virtual TGeoMaterialGetTGeoMaterial (const Char_t *material)
 Create and return pointer to TGeoMaterial/Mixture corresponding to material.
 
virtual Double_t GetZ (const Char_t *)
 Returns atomic number of a material in the range tables.
 
virtual Bool_t IsMaterialGas (const Char_t *)
 Return kTRUE if material is gaseous.
 
virtual Bool_t IsMaterialKnown (const Char_t *)
 Return kTRUE if material is in range tables.
 
virtual Bool_t IsMaterialKnown (TGeoMaterial *)
 Returns kTRUE if material corresponding to TGeoMaterial name or type is in range table.
 
virtual void Print (Option_t *="") const
 
virtual Bool_t ReadMaterials (const Char_t *) const =0
 
virtual void SetTemperatureAndPressure (const Char_t *, Double_t temperature, Double_t pressure)
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor.
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type.
 
 KVBase (const KVBase &)
 copy ctor
 
virtual ~KVBase ()
 
virtual void Clear (Option_t *opt="")
 Clear object properties : name, type/title, number, label.
 
virtual void Copy (TObject &) const
 Make a copy of this object.
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () const
 
virtual TObjectGetObject () const
 
virtual const Char_tGetType () 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 ()
 
KVBaseoperator= (const KVBase &)
 copy assignment operator
 
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 ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
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
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- 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 TObjectDrawClone (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=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () 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)
 
Bool_t IsDestructed () const
 
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 *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (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)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
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=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Static Public Member Functions

static KVIonRangeTableGetRangeTable (const Char_t *name)
 Generates an instance of the KVIonRangeTable plugin class corresponding to given name.
 
- 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.
 
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_tFindFile (const Char_t *search, TString &wfil)
 
static const Char_tGetBINDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetDATABASEFilePath ()
 
static const Char_tGetDATADIRFilePath (const Char_t *namefile="")
 
static Bool_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval)
 
static const Char_tGetDataSetEnv (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_tGetETCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetExampleFilePath (const Char_t *library, const Char_t *namefile)
 Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.)
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date.
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build.
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time.
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...)
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build.
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build.
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string.
 
static const Char_tGetLIBDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetListOfPlugins (const Char_t *base)
 
static const Char_tGetListOfPluginURIs (const Char_t *base)
 
static const Char_tGetPluginURI (const Char_t *base, const Char_t *plugin)
 
static void GetTempFileName (TString &base)
 
static const Char_tGetTEMPLATEDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetWORKDIRFilePath (const Char_t *namefile="")
 
static const Char_tgitBranch ()
 Returns git branch of sources.
 
static const Char_tgitCommit ()
 Returns last git commit of sources.
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static TPluginHandlerLoadPlugin (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.
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="")
 
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_tWorkingDirectory ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 

Private Member Functions

virtual KVIonRangeTableMaterialGetMaterialWithNameOrType (const Char_t *material) const =0
 
virtual KVIonRangeTableMaterialGetMaterialWithPointer (TGeoMaterial *) const
 

Additional Inherited Members

- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Member Enumeration Documentation

◆ SolType

Enumerator
kEmax 
kEmin 

Definition at line 28 of file KVIonRangeTable.h.

Constructor & Destructor Documentation

◆ KVIonRangeTable()

return defval KVIonRangeTable::KVIonRangeTable ( const Char_t name = "",
const Char_t title = "" 
)

Default constructor.

Definition at line 33 of file KVIonRangeTable.cpp.

◆ ~KVIonRangeTable()

KVIonRangeTable::~KVIonRangeTable ( )
virtual

Destructor.

Definition at line 44 of file KVIonRangeTable.cpp.

Member Function Documentation

◆ AddCompoundMaterial()

virtual KVIonRangeTableMaterial * KVIonRangeTable::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
inlinevirtual

Adds a compound material with a simple formula composed of different elements

Parameters
[in]namename for the new compound (no spaces)
[in]symbolchemical symbol for compound
[in]nelemnumber of elements in compound
[in]z[nelem]atomic numbers of elements
[in]a[nelem]mass numbers of elements
[in]natoms[nelem]number of atoms of each element
[in]densityin \(g/cm^{3}\), only required if compound is a solid

Reimplemented in KVedaLoss, and KVRangeYanez.

Definition at line 54 of file KVIonRangeTable.h.

◆ AddElementalMaterial()

virtual KVIonRangeTableMaterial * KVIonRangeTable::AddElementalMaterial ( Int_t  z,
Int_t  a = 0 
) const
inlinevirtual

Adds a material composed of a single chemical element.

Parameters
[in]zatomic number of element \(Z\)
[in]a[optional] mass number of isotope \(A\)

If the isotope a is not specified, we create a material containing the naturally occuring isotopes of the given element, weighted according to their natural abundances.

If the element name is "X", this material will be called "natX", for "naturally-occuring X".

Reimplemented in KVedaLoss, and KVRangeYanez.

Definition at line 38 of file KVIonRangeTable.h.

◆ AddMixedMaterial()

virtual KVIonRangeTableMaterial * KVIonRangeTable::AddMixedMaterial ( const Char_t name,
const Char_t symbol,
Int_t  nelem,
Int_t z,
Int_t a,
Int_t natoms,
Double_t proportion,
Double_t  density = -1.0 
) const
inlinevirtual

Adds a material which is a mixture of either elements or compounds:

Parameters
[in]namename for the new mixture (no spaces)
[in]symbolchemical symbol for mixture
[in]nelemnumber of elements in mixture
[in]z[nelem]atomic numbers of elements
[in]a[nelem]mass numbers of elements
[in]natoms[nelem]number of atoms of each element
[in]proportion[nelem]proportion by mass in mixture of element
[in]densityin \(g/cm^{3}\), if mixture is a solid

Reimplemented in KVedaLoss, and KVRangeYanez.

Definition at line 77 of file KVIonRangeTable.h.

◆ CheckIon()

virtual Bool_t KVIonRangeTable::CheckIon ( Int_t  ,
Int_t   
) const
inlinevirtual

Reimplemented in KVedaLoss, and KVRangeYanez.

Definition at line 191 of file KVIonRangeTable.h.

◆ GetAtomicMass()

Double_t KVIonRangeTable::GetAtomicMass ( const Char_t material)
virtual

Returns atomic mass of a material in the range tables.

Return atomic mass of a material in the range table. "material" can be either the type or the name of the material. Prints a warning and returns 0 if material is unknown.

Definition at line 76 of file KVIonRangeTable.cpp.

◆ GetDeltaEFromEResOfIon()

Double_t KVIonRangeTable::GetDeltaEFromEResOfIon ( const Char_t mat,
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

Calculates incident energy (in MeV) of an ion (Z,A) from energy loss DeltaE (MeV) in thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material,

Definition at line 391 of file KVIonRangeTable.cpp.

◆ GetDeltaEOfIon()

Double_t KVIonRangeTable::GetDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  r,
Double_t  Amat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns energy lost (in MeV) by ion (Z,A) with energy E (MeV) after thickness r (in g/cm**2). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 266 of file KVIonRangeTable.cpp.

◆ GetDensity()

Double_t KVIonRangeTable::GetDensity ( const Char_t mat)
virtual

Returns density (g/cm**3) of a material in the range tables.

Return density of material (g/cm**3) of given type or name if it is in range tables.

Definition at line 200 of file KVIonRangeTable.cpp.

◆ GetEIncFromDeltaEOfIon()

Double_t KVIonRangeTable::GetEIncFromDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  DeltaE,
Double_t  e,
enum SolType  type = kEmax,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculates incident energy (in MeV) of an ion (Z,A) from energy loss DeltaE (MeV) in thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material,

Definition at line 362 of file KVIonRangeTable.cpp.

◆ GetEIncFromEResOfIon()

Double_t KVIonRangeTable::GetEIncFromEResOfIon ( const Char_t mat,
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

Calculates incident energy (in MeV) of an ion (Z,A) with residual energy Eres (MeV) after thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material,

Definition at line 333 of file KVIonRangeTable.cpp.

◆ GetEIncOfMaxDeltaEOfIon()

Double_t KVIonRangeTable::GetEIncOfMaxDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculate incident energy (in MeV) corresponding to maximum energy loss of ion (Z,A) in given thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material.

Definition at line 471 of file KVIonRangeTable.cpp.

◆ GetEmaxValid()

Double_t KVIonRangeTable::GetEmaxValid ( const Char_t mat,
Int_t  Z,
Int_t  A 
)
virtual

Return maximum incident energy (in MeV) for which range table is valid for given material and (Z,A) of incident ion

Returns maximum energy (in MeV) for which range table is valid for given material and incident ion (Z,A)

Definition at line 520 of file KVIonRangeTable.cpp.

◆ GetEResOfIon()

Double_t KVIonRangeTable::GetEResOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  r,
Double_t  Amat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns residual energy (in MeV) of ion (Z,A) with incident energy E (MeV) after thickness r (in g/cm**2). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 300 of file KVIonRangeTable.cpp.

◆ GetLinearDeltaEFromEResOfIon()

Double_t KVIonRangeTable::GetLinearDeltaEFromEResOfIon ( const Char_t mat,
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

Calculates incident energy (in MeV) of an ion (Z,A) from energy loss DeltaE (MeV) in thickness e (in cm). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 405 of file KVIonRangeTable.cpp.

◆ GetLinearDeltaEOfIon()

Double_t KVIonRangeTable::GetLinearDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  d,
Double_t  Amat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns energy lost (in MeV) by ion (Z,A) with energy E (MeV) after thickness d (in cm). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 283 of file KVIonRangeTable.cpp.

◆ GetLinearEIncFromDeltaEOfIon()

Double_t KVIonRangeTable::GetLinearEIncFromDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  deltaE,
Double_t  e,
enum SolType  type = kEmax,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculates incident energy (in MeV) of an ion (Z,A) from energy loss DeltaE (MeV) in thickness e (in cm). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 376 of file KVIonRangeTable.cpp.

◆ GetLinearEIncFromEResOfIon()

Double_t KVIonRangeTable::GetLinearEIncFromEResOfIon ( const Char_t mat,
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

Calculates incident energy (in MeV) of an ion (Z,A) with residual energy Eres (MeV) after thickness e (in cm). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 347 of file KVIonRangeTable.cpp.

◆ GetLinearEIncOfMaxDeltaEOfIon()

Double_t KVIonRangeTable::GetLinearEIncOfMaxDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculate incident energy (in MeV) corresponding to maximum energy loss of ion (Z,A) in given thickness e (in cm). Give Amat to change default (isotopic) mass of material. give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 504 of file KVIonRangeTable.cpp.

◆ GetLinearEResOfIon()

Double_t KVIonRangeTable::GetLinearEResOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  d,
Double_t  Amat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns residual energy (in MeV) of ion (Z,A) with incident energy E (MeV) after thickness d (in cm). Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 317 of file KVIonRangeTable.cpp.

◆ GetLinearMaxDeltaEOfIon()

Double_t KVIonRangeTable::GetLinearMaxDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculate maximum energy loss (in MeV) of ion (Z,A) in given thickness e (in cm). Give Amat to change default (isotopic) mass of material. give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 487 of file KVIonRangeTable.cpp.

◆ GetLinearPunchThroughEnergy()

Double_t KVIonRangeTable::GetLinearPunchThroughEnergy ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculate incident energy (in MeV) for ion (Z,A) for which the range is equal to the given thickness e (in cm). At this energy the residual energy of the ion is (just) zero, for all energies above this energy the residual energy is > 0. Give Amat to change default (isotopic) mass of material. give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 441 of file KVIonRangeTable.cpp.

◆ GetLinearRangeOfIon()

Double_t KVIonRangeTable::GetLinearRangeOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  Amat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns linear range (in cm) of ion (Z,A) with energy E (MeV) in material. Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 249 of file KVIonRangeTable.cpp.

◆ GetListOfMaterials()

virtual TObjArray * KVIonRangeTable::GetListOfMaterials ( )
pure virtual

Create and fill a list of all materials for which range tables exist. Each entry is a TNamed with the name and type (title) of the material.

Implemented in KVedaLoss, and KVRangeYanez.

◆ GetMaterial() [1/2]

KVIonRangeTableMaterial * KVIonRangeTable::GetMaterial ( const Char_t material) const

Returns pointer to material of given name or type.

Definition at line 94 of file KVIonRangeTable.cpp.

◆ GetMaterial() [2/2]

KVIonRangeTableMaterial * KVIonRangeTable::GetMaterial ( TGeoMaterial mat) const

Definition at line 103 of file KVIonRangeTable.cpp.

◆ GetMaterialName()

const Char_t * KVIonRangeTable::GetMaterialName ( const Char_t mat)
virtual

Return name of material of given type or name if it is in range tables.

Definition at line 188 of file KVIonRangeTable.cpp.

◆ GetMaterialWithNameOrType()

virtual KVIonRangeTableMaterial * KVIonRangeTable::GetMaterialWithNameOrType ( const Char_t material) const
privatepure virtual

Implemented in KVedaLoss, and KVRangeYanez.

◆ GetMaterialWithPointer()

KVIonRangeTableMaterial * KVIonRangeTable::GetMaterialWithPointer ( TGeoMaterial material) const
privatevirtual

Returns pointer to material for given TGeoMaterial We try both the name and the title of the TGeoMaterial

Definition at line 114 of file KVIonRangeTable.cpp.

◆ GetMaxDeltaEOfIon()

Double_t KVIonRangeTable::GetMaxDeltaEOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculate maximum energy loss (in MeV) of ion (Z,A) in given thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material.

Definition at line 457 of file KVIonRangeTable.cpp.

◆ GetPunchThroughEnergy()

Double_t KVIonRangeTable::GetPunchThroughEnergy ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Calculate incident energy (in MeV) for ion (Z,A) for which the range is equal to the given thickness e (in g/cm**2). At this energy the residual energy of the ion is (just) zero, for all energies above this energy the residual energy is > 0. Give Amat to change default (isotopic) mass of material. give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 422 of file KVIonRangeTable.cpp.

◆ GetRangeOfIon()

Double_t KVIonRangeTable::GetRangeOfIon ( const Char_t mat,
Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  Amat = 0.,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns range (in g/cm**2) of ion (Z,A) with energy E (MeV) in material. Give Amat to change default (isotopic) mass of material, give temperature (degrees C) & pressure (torr) (T,P) for gaseous materials.

Definition at line 232 of file KVIonRangeTable.cpp.

◆ GetRangeTable()

KVIonRangeTable * KVIonRangeTable::GetRangeTable ( const Char_t name)
static

Generates an instance of the KVIonRangeTable plugin class corresponding to given name.

Definition at line 54 of file KVIonRangeTable.cpp.

◆ GetTGeoMaterial()

TGeoMaterial * KVIonRangeTable::GetTGeoMaterial ( const Char_t mat)
virtual

Create and return pointer to TGeoMaterial/Mixture corresponding to material.

Return pointer to TGeoMaterial corresponding to this material, for use in ROOT geometries, VMC, etc.

Definition at line 535 of file KVIonRangeTable.cpp.

◆ GetZ()

Double_t KVIonRangeTable::GetZ ( const Char_t material)
virtual

Returns atomic number of a material in the range tables.

Return atomic number of a material in the range table. "material" can be either the type or the name of the material. Prints a warning and returns 0 if material is unknown.

Definition at line 131 of file KVIonRangeTable.cpp.

◆ IsMaterialGas()

Bool_t KVIonRangeTable::IsMaterialGas ( const Char_t mat)
virtual

Return kTRUE if material is gaseous.

Returns kTRUE if material of given name or type is gaseous.

Definition at line 176 of file KVIonRangeTable.cpp.

◆ IsMaterialKnown() [1/2]

Bool_t KVIonRangeTable::IsMaterialKnown ( const Char_t material)
virtual

Return kTRUE if material is in range tables.

Returns kTRUE if material of given name or type is in range table.

Definition at line 151 of file KVIonRangeTable.cpp.

◆ IsMaterialKnown() [2/2]

Bool_t KVIonRangeTable::IsMaterialKnown ( TGeoMaterial material)
virtual

Returns kTRUE if material corresponding to TGeoMaterial name or type is in range table.

Definition at line 163 of file KVIonRangeTable.cpp.

◆ Print()

void KVIonRangeTable::Print ( Option_t = "") const
virtual

Reimplemented from KVBase.

Reimplemented in KVedaLoss, and KVRangeYanez.

Definition at line 547 of file KVIonRangeTable.cpp.

◆ ReadMaterials()

virtual Bool_t KVIonRangeTable::ReadMaterials ( const Char_t ) const
pure virtual

Implemented in KVRangeYanez, and KVedaLoss.

◆ SetTemperatureAndPressure()

void KVIonRangeTable::SetTemperatureAndPressure ( const Char_t material,
Double_t  temperature,
Double_t  pressure 
)
virtual

Set temperature (in degrees celsius) and pressure (in torr) for a given material. This usually has no effect except for gaseous materials, for which T & P determine the density (in g/cm**3).

Set temperature (in degrees celsius) and pressure (in torr) for a given material. This has no effect except for gaseous materials, for which T & P determine the density (in g/cm**3).

Definition at line 214 of file KVIonRangeTable.cpp.