KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes | Static Private Attributes | List of all members
KVedaLossMaterial Class Reference

Description of material in the KVedaLoss range table.

See also
KVedaLoss

Definition at line 26 of file KVedaLossMaterial.h.

Public Member Functions

 KVedaLossMaterial ()
 Default constructor. More...
 
 KVedaLossMaterial (const KVIonRangeTable *, const Char_t *name, const Char_t *type, const Char_t *state, Double_t density, Double_t Z, Double_t A, Double_t MoleWt=0.0)
 create new material More...
 
virtual ~KVedaLossMaterial ()
 Destructor. More...
 
virtual TF1GetDeltaEFunction (Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0)
 
virtual Double_t GetDeltaEOfIon (Int_t Z, Int_t A, Double_t E, Double_t e, Double_t isoAmat=0.)
 
virtual Double_t GetEIncFromEResOfIon (Int_t Z, Int_t A, Double_t Eres, Double_t e, Double_t isoAmat=0.)
 
Float_t GetEmaxValid (Int_t Z, Int_t A) const
 
Float_t GetEminValid (Int_t Z, Int_t A) const
 
virtual TF1GetEResFunction (Double_t e, Int_t Z, Int_t A, Double_t isoAmat=0)
 
virtual Double_t GetEResOfIon (Int_t Z, Int_t A, Double_t E, Double_t e, Double_t isoAmat=0.)
 
void GetParameters (Int_t Zion, Int_t &Aion, std::vector< Double_t > &rangepar)
 
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)
 
virtual Double_t GetRangeOfIon (Int_t Z, Int_t A, Double_t E, Double_t isoAmat=0.)
 
virtual TF1GetStoppingFunction (Int_t Z, Int_t A, Double_t isoAmat=0)
 
Bool_t ReadRangeTable (FILE *fp)
 
- 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)
 
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.)
 
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.)
 
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
 
Double_t GetRangeOfLastDE () const
 
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. 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_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 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 TObjectClone (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
 
TNamedoperator= (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 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=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 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)
 
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)
 
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)
 
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
 

Static Public Member Functions

static Bool_t CheckIon (Int_t Z)
 
static void SetNoLimits (Bool_t on=kTRUE)
 
- 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_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.) More...
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date. More...
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build. More...
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time. More...
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More...
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build. More...
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build. More...
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string. More...
 
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. More...
 
static const Char_tgitCommit ()
 Returns last git commit of sources. More...
 
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. More...
 
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 TObject
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 

Protected Member Functions

Double_t DeltaEFunc (Double_t *, Double_t *)
 
Double_t EResFunc (Double_t *, Double_t *)
 
Double_t RangeFunc (Double_t *, Double_t *)
 
Double_t StoppingFunc (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 ()
 

Protected Attributes

std::vector< std::vector< Double_t > > fCoeff
 parameters for range tables More...
 
std::vector< Double_tfEmax
 Z-dependent maximum energy/nucleon for calculation to be valid. More...
 
std::vector< Double_tfEmin
 Z-dependent minimum energy/nucleon for calculation to be valid. More...
 
- Protected Attributes inherited from KVIonRangeTableMaterial
Double_t fAmat
 effective mass number of material More...
 
KVListfComposition
 composition of compound/mixture More...
 
Bool_t fCompound
 
TF1fDeltaE
 function parameterising energy loss in material More...
 
Double_t fDens
 density of material in g/cm**3 More...
 
TF1fEres
 function parameterising residual energy after crossing material More...
 
Bool_t fMixture
 
Double_t fMoleWt
 mass of one mole of substance in grammes More...
 
TF1fRange
 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...
 
TF1fStopping
 function parameterising stopping power of charged particles in material More...
 
const KVIonRangeTablefTable
 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
 

Static Protected Attributes

static Bool_t fNoLimits = kFALSE
 if kTRUE, ignore max E limit for validity of calculation More...
 

Private Attributes

Double_t adm
 
Double_t adn
 
Double_t DLEP
 
Double_t dleps
 
Double_t drande
 
Double_t eps
 
TObjArray fInvRange
 KVedaLossInverseRangeFunction objects. More...
 
std::vector< Double_t > * par
 
Double_t ran
 
Double_t RF_A
 
Double_t RF_Z
 internal variables used by RangeFunc/DeltaEFunc More...
 
Double_t riso
 
Double_t thickness
 in g/cm**2 More...
 

Static Private Attributes

static KVedaLossfgTable = nullptr
 

Additional Inherited Members

- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 

#include <KVedaLossMaterial.h>

Inheritance diagram for KVedaLossMaterial:
Inheritance graph
[legend]

Constructor & Destructor Documentation

◆ KVedaLossMaterial() [1/2]

KVedaLossMaterial::KVedaLossMaterial ( )

Default constructor.

Definition at line 21 of file KVedaLossMaterial.cpp.

◆ KVedaLossMaterial() [2/2]

KVedaLossMaterial::KVedaLossMaterial ( const KVIonRangeTable t,
const Char_t name,
const Char_t type,
const Char_t state,
Double_t  density,
Double_t  Z,
Double_t  A,
Double_t  MoleWt = 0.0 
)

create new material

Definition at line 38 of file KVedaLossMaterial.cpp.

◆ ~KVedaLossMaterial()

KVedaLossMaterial::~KVedaLossMaterial ( )
virtual

Destructor.

Definition at line 57 of file KVedaLossMaterial.cpp.

Member Function Documentation

◆ CheckIon()

static Bool_t KVedaLossMaterial::CheckIon ( Int_t  Z)
inlinestatic

Definition at line 94 of file KVedaLossMaterial.h.

◆ DeltaEFunc()

Double_t KVedaLossMaterial::DeltaEFunc ( Double_t E,
Double_t  
)
protected

Function parameterising the energy loss of charged particles in this material.

Parameters
E[0]incident energy given in MeV.
Returns
energy loss calculated in MeV.

Definition at line 229 of file KVedaLossMaterial.cpp.

◆ EResFunc()

Double_t KVedaLossMaterial::EResFunc ( Double_t E,
Double_t  
)
protected

Function parameterising the residual energy of charged particles in this material.

Parameters
E[0]incident energy given in MeV.
Returns
residual energy calculated in MeV.

Definition at line 247 of file KVedaLossMaterial.cpp.

◆ GetDeltaEFunction()

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

Return function giving energy loss (in MeV) as a function of incident energy (in MeV) for charged particles (Z,A) traversing (or not) material

Parameters
ethickness (in \(g/cm^2\)) of this material.
isoAmatIf required, the isotopic mass of the material can be given.

Implements KVIonRangeTableMaterial.

Definition at line 429 of file KVedaLossMaterial.cpp.

◆ GetDeltaEOfIon()

Double_t KVedaLossMaterial::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)
Parameters
Eincident energy (MeV)
ethickness (in \(g/cm^2\))
isoAmatchange default (isotopic) mass of material,

Reimplemented from KVIonRangeTableMaterial.

Definition at line 487 of file KVedaLossMaterial.cpp.

◆ GetEIncFromEResOfIon()

Double_t KVedaLossMaterial::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\)).

Parameters
isoAmatchange default (isotopic) mass of material,

Reimplemented from KVIonRangeTableMaterial.

Definition at line 549 of file KVedaLossMaterial.cpp.

◆ GetEmaxValid()

Float_t KVedaLossMaterial::GetEmaxValid ( Int_t  Z,
Int_t  A 
) const
inlinevirtual

Reimplemented from KVIonRangeTableMaterial.

Definition at line 57 of file KVedaLossMaterial.h.

◆ GetEminValid()

Float_t KVedaLossMaterial::GetEminValid ( Int_t  Z,
Int_t  A 
) const
inlinevirtual

Reimplemented from KVIonRangeTableMaterial.

Definition at line 61 of file KVedaLossMaterial.h.

◆ GetEResFunction()

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

Return function giving residual energy (in MeV) as a function of incident energy (in MeV) for charged particles (Z,A) traversing (or not) material

Parameters
ethickness (in \(g/cm^2\)) of this material.
isoAmatIf required, the isotopic mass of the material can be given.

Implements KVIonRangeTableMaterial.

Definition at line 450 of file KVedaLossMaterial.cpp.

◆ GetEResOfIon()

Double_t KVedaLossMaterial::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)
Parameters
Eincident energy (MeV)
ethickness (in \(g/cm^2\))
isoAmatchange default (isotopic) mass of material,

Reimplemented from KVIonRangeTableMaterial.

Definition at line 507 of file KVedaLossMaterial.cpp.

◆ GetParameters()

void KVedaLossMaterial::GetParameters ( Int_t  Zion,
Int_t Aion,
std::vector< Double_t > &  rangepar 
)

For the given ion atomic number, give the reference mass used and the six parameters for the range function fit

Parameters
[in]Zionion atomic number
[out]Aionreference mass used by table
[out]rangeparvector containing the six parameters for the range function fit

Definition at line 572 of file KVedaLossMaterial.cpp.

◆ GetPunchThroughEnergy()

Double_t KVedaLossMaterial::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.

Parameters
isoAmatchange default (isotopic) mass of material,

Reimplemented from KVIonRangeTableMaterial.

Definition at line 528 of file KVedaLossMaterial.cpp.

◆ GetRangeFunction()

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

Return function giving range (in \(g/cm^2\)) as a function of energy (in MeV) for charged particles \(Z,A\) in this material.

Parameters
isoAmatIf required, the isotopic mass of the material can be given.

Implements KVIonRangeTableMaterial.

Definition at line 280 of file KVedaLossMaterial.cpp.

◆ GetRangeOfIon()

Double_t KVedaLossMaterial::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.
Parameters
isoAmatchange default (isotopic) mass of material,

Reimplemented from KVIonRangeTableMaterial.

Definition at line 469 of file KVedaLossMaterial.cpp.

◆ GetStoppingFunction()

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

Return function giving stopping power (in \(MeV/(g/cm^2)\)) as a function of energy (in MeV) for charged particles \(Z,A\) in this material.

Parameters
isoAmatIf required, the isotopic mass of the material can be given.

Implements KVIonRangeTableMaterial.

Definition at line 329 of file KVedaLossMaterial.cpp.

◆ RangeFunc()

Double_t KVedaLossMaterial::RangeFunc ( Double_t E,
Double_t  
)
protected

Function parameterising the range of charged particles in this material.

Parameters
E[0]energy is given in MeV.
Returns
range calculated in units of \(g/cm^2\)

Definition at line 367 of file KVedaLossMaterial.cpp.

◆ ReadRangeTable()

Bool_t KVedaLossMaterial::ReadRangeTable ( FILE *  fp)

Read Z- & A-dependent range parameters for material

For each material we create 4 TF1 objects:

  • KVedaLossMaterial:[type]:Range - gives range in g/cm**2 as a function of particle energy
  • KVedaLossMaterial:[type]:StoppingPower - gives dE/dx in MeV/(g/cm**2) as a function of particle energy
  • KVedaLossMaterial:[type]:EnergyLoss - gives dE as a function of particle energy
  • KVedaLossMaterial:[type]:ResidualEnergy - gives energy after material (0 if particle stops)

The TF1::fNpx parameter for these functions is defined by the environment variables

  • KVedaLoss.Range.Npx: 20 also used for StoppingPower
  • KVedaLoss.EnergyLoss.Npx: 50
  • KVedaLoss.ResidualEnergy.Npx: 20

Definition at line 80 of file KVedaLossMaterial.cpp.

◆ SetNoLimits()

static void KVedaLossMaterial::SetNoLimits ( Bool_t  on = kTRUE)
inlinestatic

Normally all range, \(dE\), \(E_{res}\) functions are limited to range \(0\leq E\leq E_{max}\), where \(E_{max}\) is nominal maximum energy for which range tables are valid (usually 400MeV/u for \(Z<3\), 250MeV/u for \(Z>3\)).

If higher energies are required, call static method KVedaLoss::SetIgnoreEnergyLimits() BEFORE ANY MATERIALS ARE CREATED in order to recalculate the \(E_{max}\) limits in such a way that:

  • range function is always monotonically increasing function of \(E_{inc}\);
  • stopping power is concave (i.e. no minimum of stopping power followed by an increase)

Then, at the most, the new limit will be 1 GeV/nucleon, or at the least, it will remain at the nominal (400 or 250 MeV/nucleon) level.

Definition at line 77 of file KVedaLossMaterial.h.

◆ StoppingFunc()

Double_t KVedaLossMaterial::StoppingFunc ( Double_t E,
Double_t  
)
protected

Function parameterising the stopping power of charged particles in this material.

Parameters
E[0]energy is given in MeV.
Returns
stopping power calculated in units of \(Mev/(g/cm^2)\)

Definition at line 397 of file KVedaLossMaterial.cpp.

Member Data Documentation

◆ adm

Double_t KVedaLossMaterial::adm
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ adn

Double_t KVedaLossMaterial::adn
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ DLEP

Double_t KVedaLossMaterial::DLEP
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ dleps

Double_t KVedaLossMaterial::dleps
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ drande

Double_t KVedaLossMaterial::drande
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ eps

Double_t KVedaLossMaterial::eps
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ fCoeff

std::vector< std::vector<Double_t> > KVedaLossMaterial::fCoeff
protected

parameters for range tables

Definition at line 41 of file KVedaLossMaterial.h.

◆ fEmax

std::vector<Double_t> KVedaLossMaterial::fEmax
protected

Z-dependent maximum energy/nucleon for calculation to be valid.

Definition at line 40 of file KVedaLossMaterial.h.

◆ fEmin

std::vector<Double_t> KVedaLossMaterial::fEmin
protected

Z-dependent minimum energy/nucleon for calculation to be valid.

Definition at line 39 of file KVedaLossMaterial.h.

◆ fgTable

KVedaLoss * KVedaLossMaterial::fgTable = nullptr
staticprivate

Definition at line 29 of file KVedaLossMaterial.h.

◆ fInvRange

TObjArray KVedaLossMaterial::fInvRange
private

KVedaLossInverseRangeFunction objects.

Definition at line 36 of file KVedaLossMaterial.h.

◆ fNoLimits

Bool_t KVedaLossMaterial::fNoLimits = kFALSE
staticprotected

if kTRUE, ignore max E limit for validity of calculation

Definition at line 43 of file KVedaLossMaterial.h.

◆ par

std::vector<Double_t>* KVedaLossMaterial::par
private

Definition at line 33 of file KVedaLossMaterial.h.

◆ ran

Double_t KVedaLossMaterial::ran
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ RF_A

Double_t KVedaLossMaterial::RF_A
private

Definition at line 32 of file KVedaLossMaterial.h.

◆ RF_Z

Double_t KVedaLossMaterial::RF_Z
private

internal variables used by RangeFunc/DeltaEFunc

Definition at line 31 of file KVedaLossMaterial.h.

◆ riso

Double_t KVedaLossMaterial::riso
private

Definition at line 34 of file KVedaLossMaterial.h.

◆ thickness

Double_t KVedaLossMaterial::thickness
private

in g/cm**2

Definition at line 35 of file KVedaLossMaterial.h.


The documentation for this class was generated from the following files: