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

Detailed Description

Material for use in energy loss & range calculations.

See also
KVIonRangeTable

Definition at line 27 of file KVIonRangeTableMaterial.h.

#include <KVIonRangeTableMaterial.h>

Inheritance diagram for KVIonRangeTableMaterial:

Public Member Functions

 KVIonRangeTableMaterial ()
 Default constructor.
 
 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.
 
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)
 
void Copy (TObject &) const
 
KVListGetComposition () const
 
Double_t GetDeltaEFromEResOfIon (Int_t Z, Int_t A, Double_t ERes, Double_t e, Double_t isoAmat=0.)
 
virtual TF1GetDeltaEFunction (Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0)=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 GetEIncFromEResOfIon (Int_t Z, Int_t A, Double_t Eres, Double_t e, 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 TF1GetEResFunction (Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0)=0
 
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 TF1GetRangeFunction (Int_t Z, Int_t A, Double_t isoAmat=0)=0
 
virtual Double_t GetRangeOfIon (Int_t Z, Int_t A, Double_t E, Double_t isoAmat=0.)
 
Double_t GetRangeOfLastDE () const
 
virtual TF1GetStoppingFunction (Int_t Z, Int_t A, Double_t isoAmat=0)=0
 
const Char_tGetSymbol () const
 
const KVIonRangeTableGetTable () const
 
TGeoMaterialGetTGeoMaterial () const
 
Double_t GetZ () const
 
virtual void Initialize ()
 
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.
 
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.
 
 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.
 
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
 

Private Attributes

Double_t fAmat
 effective mass number of material
 
KVListfComposition
 composition of compound/mixture
 
Bool_t fCompound
 
TF1fDeltaE
 function parameterising energy loss in material
 
Double_t fDens
 density of material in g/cm**3
 
TF1fEres
 function parameterising residual energy after crossing material
 
Bool_t fMixture
 
Double_t fMoleWt
 mass of one mole of substance in grammes
 
TF1fRange
 function parameterising range of charged particles in material
 
Double_t fRangeOfLastDE
 range corresponding to last calculated DE
 
TString fState
 state of material = "solid", "liquid", "gas", "unknown"
 
TF1fStopping
 function parameterising stopping power of charged particles in material
 
const KVIonRangeTablefTable
 parent range table
 
Double_t fZmat
 effective atomic number of material
 

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.
 
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)
 
- 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
 

Constructor & Destructor Documentation

◆ KVIonRangeTableMaterial() [1/3]

KVIonRangeTableMaterial::KVIonRangeTableMaterial ( )

Default constructor.

Definition at line 20 of file KVIonRangeTableMaterial.cpp.

◆ KVIonRangeTableMaterial() [2/3]

KVIonRangeTableMaterial::KVIonRangeTableMaterial ( const KVIonRangeTable tab,
const Char_t name,
const Char_t symbol,
const Char_t state,
Double_t  density = -1,
Double_t  Z = -1,
Double_t  A = -1 
)

Create new material with given (long) name and symbol symbol convention: for elements, use element symbol. for compounds, use chemical formula. e.g. silicon: name="Silicon" symbol="Si" C4H10: name="Isobutane", symbol="C4H10" state="solid", "liquid", "gas"

Density [g/cm**3] must be given for solid compounds/mixtures. Densities of atomic elements are known (gNDTManager->GetValue(z, a, "ElementDensity")), they will be used automatically, unless a different value is given here. Densities of gases are calculated from the molar weight, temperature and pressure.

Definition at line 53 of file KVIonRangeTableMaterial.cpp.

◆ KVIonRangeTableMaterial() [3/3]

KVIonRangeTableMaterial::KVIonRangeTableMaterial ( const KVIonRangeTableMaterial 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 102 of file KVIonRangeTableMaterial.cpp.

◆ ~KVIonRangeTableMaterial()

KVIonRangeTableMaterial::~KVIonRangeTableMaterial ( )
virtual

Destructor.

Definition at line 131 of file KVIonRangeTableMaterial.cpp.

Member Function Documentation

◆ AddCompoundElement()

void KVIonRangeTableMaterial::AddCompoundElement ( Int_t  Z,
Int_t  A,
Int_t  Natoms 
)

Add an element to a compound material Example: to define C3F8 gas: toto.AddCompoundElement(6,12,3); toto.AddCompoundElement(9,19,8);

Definition at line 173 of file KVIonRangeTableMaterial.cpp.

◆ AddMixtureElement()

void KVIonRangeTableMaterial::AddMixtureElement ( Int_t  Z,
Int_t  A,
Int_t  Natoms,
Double_t  Proportion 
)

Add an element to a mixed material Example: to define air, assuming 78% nitrogen (N2) and 21% oxygen (O2) and 1% argon (Ar): toto.AddMixtureElement(7,14, 2, 0.78); toto.AddMixtureElement(8,16, 2, 0.21); toto.AddMixtureElement(18, 40, 2, 0.01);

Definition at line 206 of file KVIonRangeTableMaterial.cpp.

◆ Copy()

void KVIonRangeTableMaterial::Copy ( TObject obj) const
virtual

This method copies the current state of 'this' object into 'obj' You should add here any member variables, for example: (supposing a member variable KVIonRangeTableMaterial::fToto) CastedObj.fToto = fToto; or CastedObj.SetToto( GetToto() );

Reimplemented from KVBase.

Reimplemented in KVRangeYanezMaterial.

Definition at line 152 of file KVIonRangeTableMaterial.cpp.

◆ GetComposition()

KVList * KVIonRangeTableMaterial::GetComposition ( ) const
inline

return list of elements in compound material

Definition at line 130 of file KVIonRangeTableMaterial.h.

◆ GetDeltaEFromEResOfIon()

Double_t KVIonRangeTableMaterial::GetDeltaEFromEResOfIon ( Int_t  Z,
Int_t  A,
Double_t  ERes,
Double_t  e,
Double_t  isoAmat = 0. 
)
inline

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

Definition at line 164 of file KVIonRangeTableMaterial.h.

◆ GetDeltaEFunction()

virtual TF1 * KVIonRangeTableMaterial::GetDeltaEFunction ( Double_t  e,
Int_t  Z,
Int_t  A,
Double_t  isoAmat = 0 
)
pure virtual

◆ GetDeltaEOfIon()

Double_t KVIonRangeTableMaterial::GetDeltaEOfIon ( Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  e,
Double_t  isoAmat = 0. 
)
virtual

Returns energy lost (in MeV) by ion (Z,A) with energy E (MeV) after thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material,

Reimplemented in KVedaLossMaterial.

Definition at line 409 of file KVIonRangeTableMaterial.cpp.

◆ GetDensity()

Double_t KVIonRangeTableMaterial::GetDensity ( ) const
inline

return density of material in g/cm**3. for gaseous materials, you must call SetGasDensity(T,P) first in order to define the temperature and pressure of the gas.

Definition at line 88 of file KVIonRangeTableMaterial.h.

◆ GetEIncFromDeltaEOfIon()

Double_t KVIonRangeTableMaterial::GetEIncFromDeltaEOfIon ( Int_t  Z,
Int_t  A,
Double_t  DeltaE,
Double_t  e,
enum KVIonRangeTable::SolType  type = KVIonRangeTable::kEmax,
Double_t  isoAmat = 0. 
)
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 512 of file KVIonRangeTableMaterial.cpp.

◆ GetEIncFromEResOfIon()

Double_t KVIonRangeTableMaterial::GetEIncFromEResOfIon ( Int_t  Z,
Int_t  A,
Double_t  Eres,
Double_t  e,
Double_t  isoAmat = 0. 
)
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,

Reimplemented in KVedaLossMaterial, and KVRangeYanezMaterial.

Definition at line 478 of file KVIonRangeTableMaterial.cpp.

◆ GetEIncOfMaxDeltaEOfIon()

Double_t KVIonRangeTableMaterial::GetEIncOfMaxDeltaEOfIon ( Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0. 
)
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 610 of file KVIonRangeTableMaterial.cpp.

◆ GetEmaxValid()

virtual Float_t KVIonRangeTableMaterial::GetEmaxValid ( Int_t  ,
Int_t   
) const
inlinevirtual

Reimplemented in KVedaLossMaterial.

Definition at line 61 of file KVIonRangeTableMaterial.h.

◆ GetEminValid()

virtual Float_t KVIonRangeTableMaterial::GetEminValid ( Int_t  ,
Int_t   
) const
inlinevirtual

Reimplemented in KVedaLossMaterial.

Definition at line 65 of file KVIonRangeTableMaterial.h.

◆ GetEResFunction()

virtual TF1 * KVIonRangeTableMaterial::GetEResFunction ( Double_t  e,
Int_t  Z,
Int_t  A,
Double_t  isoAmat = 0 
)
pure virtual

◆ GetEResOfIon()

Double_t KVIonRangeTableMaterial::GetEResOfIon ( Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  e,
Double_t  isoAmat = 0. 
)
virtual

Returns energy lost (in MeV) by ion (Z,A) with energy E (MeV) after thickness e (in g/cm**2). Give Amat to change default (isotopic) mass of material,

Reimplemented in KVedaLossMaterial.

Definition at line 443 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearDeltaEFromEResOfIon()

Double_t KVIonRangeTableMaterial::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. 
)
inline

Calculates energy loss (in MeV) of an ion (Z,A) from 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 171 of file KVIonRangeTableMaterial.h.

◆ GetLinearDeltaEOfIon()

Double_t KVIonRangeTableMaterial::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

Returns energy lost (in MeV) by ion (Z,A) with energy E (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 425 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearEIncFromDeltaEOfIon()

Double_t KVIonRangeTableMaterial::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

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 537 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearEIncFromEResOfIon()

Double_t KVIonRangeTableMaterial::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

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 494 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearEIncOfMaxDeltaEOfIon()

Double_t KVIonRangeTableMaterial::GetLinearEIncOfMaxDeltaEOfIon ( 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 645 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearEResOfIon()

Double_t KVIonRangeTableMaterial::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

Returns energy lost (in MeV) by ion (Z,A) with energy E (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 460 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearMaxDeltaEOfIon()

Double_t KVIonRangeTableMaterial::GetLinearMaxDeltaEOfIon ( 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 626 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearPunchThroughEnergy()

Double_t KVIonRangeTableMaterial::GetLinearPunchThroughEnergy ( 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 576 of file KVIonRangeTableMaterial.cpp.

◆ GetLinearRangeOfIon()

Double_t KVIonRangeTableMaterial::GetLinearRangeOfIon ( Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  isoAmat = 0,
Double_t  T = -1.,
Double_t  P = -1. 
)
virtual

Returns 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 392 of file KVIonRangeTableMaterial.cpp.

◆ GetMass()

Double_t KVIonRangeTableMaterial::GetMass ( ) const
inline

Definition at line 75 of file KVIonRangeTableMaterial.h.

◆ GetMaxDeltaEOfIon()

Double_t KVIonRangeTableMaterial::GetMaxDeltaEOfIon ( Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0. 
)
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 595 of file KVIonRangeTableMaterial.cpp.

◆ GetMoleWt()

Double_t KVIonRangeTableMaterial::GetMoleWt ( ) const
inline

mass of 1 mole of substance in grammes

Definition at line 83 of file KVIonRangeTableMaterial.h.

◆ GetPunchThroughEnergy()

Double_t KVIonRangeTableMaterial::GetPunchThroughEnergy ( Int_t  Z,
Int_t  A,
Double_t  e,
Double_t  isoAmat = 0. 
)
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.

Reimplemented in KVedaLossMaterial.

Definition at line 557 of file KVIonRangeTableMaterial.cpp.

◆ GetRangeFunction()

virtual TF1 * KVIonRangeTableMaterial::GetRangeFunction ( Int_t  Z,
Int_t  A,
Double_t  isoAmat = 0 
)
pure virtual

◆ GetRangeOfIon()

Double_t KVIonRangeTableMaterial::GetRangeOfIon ( Int_t  Z,
Int_t  A,
Double_t  E,
Double_t  isoAmat = 0. 
)
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,

Reimplemented in KVedaLossMaterial.

Definition at line 376 of file KVIonRangeTableMaterial.cpp.

◆ GetRangeOfLastDE()

Double_t KVIonRangeTableMaterial::GetRangeOfLastDE ( ) const
inline

Returns range (in g/cm) of particle of last calculated dE Divide by density of material to get range in cm.

Definition at line 188 of file KVIonRangeTableMaterial.h.

◆ GetStoppingFunction()

virtual TF1 * KVIonRangeTableMaterial::GetStoppingFunction ( Int_t  Z,
Int_t  A,
Double_t  isoAmat = 0 
)
pure virtual

◆ GetSymbol()

const Char_t * KVIonRangeTableMaterial::GetSymbol ( ) const
inline

Definition at line 71 of file KVIonRangeTableMaterial.h.

◆ GetTable()

const KVIonRangeTable * KVIonRangeTableMaterial::GetTable ( ) const
inline

Definition at line 54 of file KVIonRangeTableMaterial.h.

◆ GetTGeoMaterial()

TGeoMaterial * KVIonRangeTableMaterial::GetTGeoMaterial ( ) const

Create and return pointer to a TGeoMaterial or TGeoMixture (for compound materials) with the properties of this material. gGeoManager must exist.

Definition at line 664 of file KVIonRangeTableMaterial.cpp.

◆ GetZ()

Double_t KVIonRangeTableMaterial::GetZ ( ) const
inline

Definition at line 79 of file KVIonRangeTableMaterial.h.

◆ Initialize()

void KVIonRangeTableMaterial::Initialize ( )
virtual

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 in KVRangeYanezMaterial.

Definition at line 237 of file KVIonRangeTableMaterial.cpp.

◆ IsCompound()

Bool_t KVIonRangeTableMaterial::IsCompound ( ) const
inline

returns kTRUE if material is a compound, kFALSE if it is an element or a mixture

Definition at line 119 of file KVIonRangeTableMaterial.h.

◆ IsGas()

Bool_t KVIonRangeTableMaterial::IsGas ( ) const
inline

returns kTRUE if material is in gaseous state

Definition at line 113 of file KVIonRangeTableMaterial.h.

◆ IsMixture()

Bool_t KVIonRangeTableMaterial::IsMixture ( ) const
inline

returns kTRUE if material is a mixture, kFALSE if it is an element or a compound

Definition at line 124 of file KVIonRangeTableMaterial.h.

◆ ls()

void KVIonRangeTableMaterial::ls ( Option_t = "") const
virtual

Reimplemented from TObject.

Definition at line 279 of file KVIonRangeTableMaterial.cpp.

◆ Print()

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

Reimplemented from KVBase.

Definition at line 289 of file KVIonRangeTableMaterial.cpp.

◆ PrintComposition()

void KVIonRangeTableMaterial::PrintComposition ( std::ostream &  ) const

Print to stream the composition of this material, in a format compatible with the VEDALOSS parameter file.

Definition at line 350 of file KVIonRangeTableMaterial.cpp.

◆ PrintRangeTable()

void KVIonRangeTableMaterial::PrintRangeTable ( Int_t  Z,
Int_t  A,
Double_t  isoAmat = 0,
Double_t  units = KVUnits::cm,
Double_t  T = -1,
Double_t  P = -1 
)

Print range of element (in g/cm**2) as a function of incident energy (in MeV). For solid elements, print also the linear range (in cm). To change the default units, set optional argument units (e.g. to have linear range in microns, call with units = KVUnits::um). For gaseous elements, give the temperature (in degrees) and the pressure (in torr) in order to print the range in terms of length units.

Definition at line 322 of file KVIonRangeTableMaterial.cpp.

◆ SetDensity()

void KVIonRangeTableMaterial::SetDensity ( Double_t  d)
inline

set density of material in g/cm**3. no effect for gaseous materials.

Definition at line 95 of file KVIonRangeTableMaterial.h.

◆ SetState()

void KVIonRangeTableMaterial::SetState ( const Char_t st)
inline

Set state of material: gas, liquid, solid, ...

Definition at line 108 of file KVIonRangeTableMaterial.h.

◆ SetTemperatureAndPressure()

void KVIonRangeTableMaterial::SetTemperatureAndPressure ( Double_t  T,
Double_t  P 
)
inline

for a gaseous material, calculate density in g/cm**3 according to given conditions of temperature (T, in degrees celsius) and pressure (P, in Torr)

Definition at line 101 of file KVIonRangeTableMaterial.h.

Member Data Documentation

◆ fAmat

Double_t KVIonRangeTableMaterial::fAmat
private

effective mass number of material

Definition at line 36 of file KVIonRangeTableMaterial.h.

◆ fComposition

KVList* KVIonRangeTableMaterial::fComposition
private

composition of compound/mixture

Definition at line 31 of file KVIonRangeTableMaterial.h.

◆ fCompound

Bool_t KVIonRangeTableMaterial::fCompound
private

Definition at line 32 of file KVIonRangeTableMaterial.h.

◆ fDeltaE

TF1* KVIonRangeTableMaterial::fDeltaE
private

function parameterising energy loss in material

Definition at line 41 of file KVIonRangeTableMaterial.h.

◆ fDens

Double_t KVIonRangeTableMaterial::fDens
private

density of material in g/cm**3

Definition at line 34 of file KVIonRangeTableMaterial.h.

◆ fEres

TF1* KVIonRangeTableMaterial::fEres
private

function parameterising residual energy after crossing material

Definition at line 42 of file KVIonRangeTableMaterial.h.

◆ fMixture

Bool_t KVIonRangeTableMaterial::fMixture
private

Definition at line 33 of file KVIonRangeTableMaterial.h.

◆ fMoleWt

Double_t KVIonRangeTableMaterial::fMoleWt
private

mass of one mole of substance in grammes

Definition at line 37 of file KVIonRangeTableMaterial.h.

◆ fRange

TF1* KVIonRangeTableMaterial::fRange
private

function parameterising range of charged particles in material

Definition at line 43 of file KVIonRangeTableMaterial.h.

◆ fRangeOfLastDE

Double_t KVIonRangeTableMaterial::fRangeOfLastDE
private

range corresponding to last calculated DE

Definition at line 39 of file KVIonRangeTableMaterial.h.

◆ fState

TString KVIonRangeTableMaterial::fState
private

state of material = "solid", "liquid", "gas", "unknown"

Definition at line 30 of file KVIonRangeTableMaterial.h.

◆ fStopping

TF1* KVIonRangeTableMaterial::fStopping
private

function parameterising stopping power of charged particles in material

Definition at line 44 of file KVIonRangeTableMaterial.h.

◆ fTable

const KVIonRangeTable* KVIonRangeTableMaterial::fTable
private

parent range table

Definition at line 29 of file KVIonRangeTableMaterial.h.

◆ fZmat

Double_t KVIonRangeTableMaterial::fZmat
private

effective atomic number of material

Definition at line 35 of file KVIonRangeTableMaterial.h.