KaliVeda
Toolkit for HIC analysis
|
Description of physical materials used to construct detectors & targets; interface to range tables.
KVMaterial is a class for describing the properties of physical materials with which charged nuclear species may interact in the course of heavy-ion reactions. It is the base class for all detector and target classes. It provides an easy-to-use interface to range tables and energy loss calculations for charged particles.
The list of available material types depends on the underlying range table: this list can be obtained or visualised like so:
Materials can be created in a variety of ways, using either the full name or symbolic name from the previous list:
Once defined, energy loss calculations can be easily performed:
Several methods are also provided in order to deduce either incident energy, \(E_{inc}\), energy loss \(\Delta E\), or residual energy, \(E_{res}=E_{inc}-\Delta E\), from one of the others. All such methods are summarized in the following table:
calculate \(E_{inc}\) | calculate \(\Delta E\) | calculate \(E_{res}\) | |
---|---|---|---|
from \(E_{inc}\) | - | GetDeltaE() | GetERes() |
GetELostByParticle() | |||
from \(\Delta E\) | GetIncidentEnergy() | - | GetEResFromDeltaE() |
from \(E_{res}\) | GetIncidentEnergyFromERes() | GetDeltaEFromERes() | - |
GetParticleEIncFromERes() |
For more details on the underlying range tables, see Energy Loss & Range Calculations
Definition at line 94 of file KVMaterial.h.
#include <KVMaterial.h>
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 | |
KVMaterial () | |
default ctor | |
KVMaterial (const Char_t *gas, const Double_t thick, const Double_t pressure, const Double_t temperature=19.0) | |
KVMaterial (const Char_t *type, const Double_t thick=0.0) | |
Create material with given type and linear thickness in cm. | |
KVMaterial (const KVMaterial &) | |
Copy ctor. | |
KVMaterial (Double_t area_density, const Char_t *type) | |
Create material with given area density in \(g/cm^{2}\) and given type. | |
virtual | ~KVMaterial () |
Destructor. | |
virtual void | Clear (Option_t *opt="") |
Reset absorber - set stored energy lost by particles in absorber to zero. | |
virtual void | Copy (TObject &obj) const |
Make a copy of this material object. | |
virtual void | DetectParticle (KVNucleus *, TVector3 *norm=nullptr) |
virtual TGeoVolume * | GetAbsGeoVolume () const |
virtual KVMaterial * | GetActiveLayer () const |
Double_t | GetAreaDensity () const |
virtual Double_t | GetDeltaE (Int_t Z, Int_t A, Double_t Einc) |
virtual Double_t | GetDeltaEFromERes (Int_t Z, Int_t A, Double_t Eres) |
Double_t | GetDensity () const |
Double_t | GetEffectiveAreaDensity (TVector3 &norm, TVector3 &direction) |
Double_t | GetEffectiveThickness (TVector3 &norm, TVector3 &direction) |
virtual Double_t | GetEIncOfMaxDeltaE (Int_t Z, Int_t A) |
virtual Double_t | GetELostByParticle (KVNucleus *, TVector3 *norm=nullptr) |
Double_t | GetEmaxValid (Int_t Z, Int_t A) |
virtual Double_t | GetEnergyLoss () const |
virtual Double_t | GetERes (Int_t Z, Int_t A, Double_t Einc) |
virtual Double_t | GetEResFromDeltaE (Int_t Z, Int_t A, Double_t dE=-1.0, enum SolType type=kEmax) |
virtual TGeoMedium * | GetGeoMedium (const Char_t *="") |
virtual TGraph * | GetGraphOfDeltaEVsE (const KVNucleus &nuc, Int_t npts, Double_t Emin, Double_t Emax) |
virtual Double_t | GetIncidentEnergy (Int_t Z, Int_t A, Double_t delta_e=-1.0, enum SolType type=kEmax) |
virtual Double_t | GetIncidentEnergyFromERes (Int_t Z, Int_t A, Double_t Eres) |
virtual Double_t | GetLinearRange (Int_t Z, Int_t A, Double_t Einc) |
Double_t | GetMass () const |
virtual Double_t | GetMaxDeltaE (Int_t Z, Int_t A) |
virtual Double_t | GetParticleEIncFromERes (KVNucleus *, TVector3 *norm=nullptr) |
virtual Double_t | GetPressure () const |
virtual Double_t | GetPunchThroughEnergy (Int_t Z, Int_t A) |
virtual Double_t | GetRange (Int_t Z, Int_t A, Double_t Einc) |
virtual Double_t | GetTemperature () const |
virtual Double_t | GetThickness () const |
Double_t | GetZ () const |
void | init () |
Bool_t | IsGas () const |
Bool_t | IsIsotopic () const |
Bool_t | IsNat () const |
virtual void | Print (Option_t *option="") const |
Show information on this material. | |
virtual void | SetAbsGeoVolume (TGeoVolume *v) |
void | SetAreaDensity (Double_t dens) |
virtual void | SetEnergyLoss (Double_t e) const |
void | SetMass (Int_t a) |
virtual void | SetMaterial (const Char_t *type) |
virtual void | SetPressure (Double_t) |
virtual void | SetTemperature (Double_t) |
virtual void | SetThickness (Double_t thick) |
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 () |
const Char_t * | GetLabel () const |
UInt_t | GetNumber () const |
UInt_t | GetNumberOfObjects () const |
virtual TObject * | GetObject () const |
virtual const Char_t * | GetType () const |
Bool_t | HasLabel () const |
virtual Bool_t | IsCalled (const Char_t *name) const |
Bool_t | IsLabelled (const Char_t *l) const |
virtual Bool_t | IsType (const Char_t *typ) const |
virtual void | List () |
KVBase & | operator= (const KVBase &) |
copy assignment operator | |
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 |
TObject * | Clone (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 |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
TNamed & | operator= (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 TObject * | DrawClone (Option_t *option="") const |
virtual void | Dump () const |
virtual void | Error (const char *method, const char *msgfmt,...) const |
virtual void | Execute (const char *method, const char *params, Int_t *error=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 TObject * | FindObject (const char *name) const |
virtual TObject * | FindObject (const TObject *obj) const |
virtual Option_t * | GetDrawOption () const |
virtual const char * | GetIconName () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
virtual Bool_t | HandleTimer (TTimer *timer) |
Bool_t | HasInconsistentHash () const |
virtual void | Info (const char *method, const char *msgfmt,...) const |
virtual Bool_t | InheritsFrom (const char *classname) const |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
virtual void | Inspect () const |
void | InvertBit (UInt_t f) |
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) |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
virtual void | Paint (Option_t *option="") |
virtual void | Pop () |
virtual Int_t | Read (const char *name) |
virtual void | RecursiveRemove (TObject *obj) |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
virtual void | SetDrawOption (Option_t *option="") |
virtual void | SetUniqueID (UInt_t uid) |
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 KVIonRangeTable * | ChangeRangeTable (const Char_t *name) |
static KVIonRangeTable * | GetRangeTable () |
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_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval) |
static Double_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t defval) |
static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build time. | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
static void | OpenTempFile (TString &base, std::ofstream &fp) |
static void | PrintSplashScreen () |
Prints welcome message and infos on version etc. | |
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_t * | WorkingDirectory () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
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 Attributes | |
TGeoVolume * | fAbsorberVolume |
pointer to corresponding volume in ROOT geometry | |
Int_t | fAmasr |
isotopic mass of element | |
Double_t | fELoss |
total of energy lost by all particles traversing absorber | |
Double_t | fPressure |
gas pressure in torr | |
Double_t | fTemp |
gas temperature in degrees celsius | |
Double_t | fThick |
area density of absorber in g/cm**2 | |
Static Private Attributes | |
static KVIonRangeTable * | fIonRangeTable = 0x0 |
pointer to class used to calculate charged particle ranges & energy losses | |
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 | |
enum KVMaterial::SolType |
Enumerator | |
---|---|
kEmax | |
kEmin |
Definition at line 111 of file KVMaterial.h.
KVMaterial::KVMaterial | ( | ) |
default ctor
Definition at line 77 of file KVMaterial.cpp.
Create material with given type and linear thickness in cm.
Definition at line 88 of file KVMaterial.cpp.
KVMaterial::KVMaterial | ( | const Char_t * | gas, |
const Double_t | thick, | ||
const Double_t | pressure, | ||
const Double_t | temperature = 19.0 |
||
) |
Create gaseous material with given type, linear thickness in cm, pressure in Torr, and temperature in degrees C (default value 19°C).
Examples
Definition at line 124 of file KVMaterial.cpp.
Create material with given area density in \(g/cm^{2}\) and given type.
Definition at line 102 of file KVMaterial.cpp.
KVMaterial::KVMaterial | ( | const KVMaterial & | obj | ) |
Copy ctor.
Definition at line 149 of file KVMaterial.cpp.
|
virtual |
Destructor.
Definition at line 273 of file KVMaterial.cpp.
|
static |
Changes the default range table used for energy loss calculations.
The name must correspond to a Plugin defined for class KVIonRangeTable - see list given by
Definition at line 187 of file KVMaterial.cpp.
Reset absorber - set stored energy lost by particles in absorber to zero.
Reimplemented from KVBase.
Reimplemented in KVFAZIADetector, KVDetector, and KVTarget.
Definition at line 1247 of file KVMaterial.cpp.
Make a copy of this material object.
Reimplemented from KVBase.
Reimplemented in KVFAZIADetector, KVDetector, and KVTarget.
Definition at line 1259 of file KVMaterial.cpp.
[in] | kvp | pointer to a KVNucleus object describing a charged ion |
[in] | norm | [optional] vector normal to the material, oriented from the origin towards the material |
The energy loss \(\Delta E\) of a charged particle traversing the absorber is calculated, and the particle is slowed down by a corresponding amount (the kinetic energy of the KVNucleus object passed as argument will be reduced by \(\Delta E\), possibly to zero).
If the unit normal vector is given, the effective thickness of the material 'seen' by the particle depending on the orientation of its direction of motion with respect to the absorber is used for the calculation, rather than the nominal thickness corresponding to ions impinging perpendicularly.
Reimplemented in KVDetector, and KVTarget.
Definition at line 1210 of file KVMaterial.cpp.
|
inlinevirtual |
Returns pointer to volume representing this absorber in a ROOT geometry.
Definition at line 208 of file KVMaterial.h.
|
inlinevirtual |
Reimplemented in KVDetector.
Definition at line 185 of file KVMaterial.h.
Double_t KVMaterial::GetAreaDensity | ( | ) | const |
Return area density of material in \(g/cm^{2}\)
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 556 of file KVMaterial.cpp.
[in] | Z | atomic number of incident ion |
[in] | A | mass number of incident ion |
[in] | Einc | kinetic energy of incident ion |
Reimplemented in KVSilicon, and KVDetector.
Definition at line 835 of file KVMaterial.cpp.
[in] | Z | atomic number of incident ion |
[in] | A | mass number of incident ion |
[in] | Eres | residual kinetic energy of ion after impinging on the absorber |
Example of use:
Reimplemented in KVDetector.
Definition at line 949 of file KVMaterial.cpp.
Double_t KVMaterial::GetDensity | ( | ) | const |
Returns density of material in \(g/cm^{3}\).
For a gas, density is calculated from current pressure & temperature according to ideal gas law
\[ \rho = \frac{pM}{RT} \]
with \(M\) the mass of one mole of the gas, and \(R\) the ideal gas constant.
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 421 of file KVMaterial.cpp.
[in] | norm | vector normal to the material, oriented from the origin towards the material |
[in] | direction | direction of motion of an ion |
Definition at line 723 of file KVMaterial.cpp.
[in] | norm | vector normal to the material, oriented from the origin towards the material |
[in] | direction | direction of motion of an ion |
Definition at line 700 of file KVMaterial.cpp.
[in] | Z,A | atomic and mass number of impinging ion |
Reimplemented in KVDetector.
Definition at line 1299 of file KVMaterial.cpp.
[in] | kvp | pointer to a KVNucleus object describing a charged ion |
[in] | norm | [optional] vector normal to the material, oriented from the origin towards the material |
If the unit normal vector is given, the effective thickness of the material 'seen' by the particle depending on the orientation of its direction of motion with respect to the absorber is used for the calculation, rather than the nominal thickness corresponding to ions impinging perpendicularly.
Reimplemented in KVDetector, and KVTarget.
Definition at line 769 of file KVMaterial.cpp.
[in] | Z,A | atomic & mass numbers of ion |
Definition at line 1462 of file KVMaterial.cpp.
|
inlinevirtual |
Returns total energy loss [MeV] of charged particles in the absorber, which may be defined either by a call to SetEnergyLoss(), either by repeated calls to DetectParticle(). In the latter case, if DetectParticle() is called several times for different charged particles, this method returns the sum of all energy losses for all charged particles.
The total energy loss is set to zero by calling method Clear().
Reimplemented in KVDetector.
Definition at line 144 of file KVMaterial.h.
[in] | Z | atomic number of incident ion |
[in] | A | mass number of incident ion |
[in] | Einc | kinetic energy of incident ion |
Example of use:
Reimplemented in KVDetector.
Definition at line 1161 of file KVMaterial.cpp.
|
virtual |
[in] | Z,A | atomic and mass number of nucleus |
[in] | dE | [optional] energy loss of nucleus in absorber |
[in] | type | Determine the type of solution to use. Possible values are:
|
Example of use:
Definition at line 1019 of file KVMaterial.cpp.
|
virtual |
By default, return pointer to TGeoMedium corresponding to this KVMaterial.
[in] | med_name | [optional] if it corresponds to the name of an already existing medium, we return a pointer to this medium, or a nullptr if it does not exist. |
med_name = "Vacuum"
is a special case: if the "Vacuum" does not exist, we create it.
Instance of geometry manager class TGeoManager must be created before calling this method, otherwise nullptr will be returned.
If the required TGeoMedium is not already available in the TGeoManager, we create a new TGeoMedium corresponding to the properties of this KVMaterial. The name of the TGeoMedium (and associated TGeoMaterial) is the name of the KVMaterial.
Definition at line 1358 of file KVMaterial.cpp.
|
virtual |
[in] | nuc | definition of charged particle |
[in] | npts | number of points to use |
[in] | Emin | minimum incident energy \(E\) |
[in] | Emax | maximum incident energy \(E\) |
Definition at line 1436 of file KVMaterial.cpp.
|
virtual |
[in] | Z,A | atomic and mass number of nucleus |
[in] | delta_e | [optional] energy loss of nucleus in absorber \(\Delta E\) [MeV] |
[in] | type | Determine the type of solution to use. Possible values are:
|
Example of use:
Reimplemented in KVDetector.
Definition at line 1095 of file KVMaterial.cpp.
[in] | Z,A | atomic & mass numbers of incident ion |
[in] | Eres | residual energy of ion after absorber |
Reimplemented in KVDetector, and KVTarget.
Definition at line 1281 of file KVMaterial.cpp.
[in] | Z | atomic number of incident ion |
[in] | A | mass number of incident ion |
[in] | Einc | kinetic energy of incident ion |
Different units can be used with KVUnits:
Reimplemented in KVDetector.
Definition at line 902 of file KVMaterial.cpp.
Double_t KVMaterial::GetMass | ( | ) | const |
Returns atomic mass of material.
For detectors, this is the mass of the material composing the active layer (see KVDetector).
Definition at line 305 of file KVMaterial.cpp.
[in] | Z,A | atomic and mass number of the nucleus |
Reimplemented in KVDetector.
Definition at line 1321 of file KVMaterial.cpp.
[in] | kvn | KVNucleus describing properties of incident ion ( \(Z,A\) and with kinetic energy \(E_{res}\)) |
[in] | norm | [optional] vector normal to the material, oriented from the origin towards the material. |
If norm is given, the effective thickness of the material 'seen' by the particle depending on its direction of motion is used for the calculation.
Reimplemented in KVDetector, and KVTarget.
Definition at line 804 of file KVMaterial.cpp.
|
virtual |
Returns the pressure of a gas (in torr). If the material is not a gas - see IsGas() - value is zero.
For detectors, the material in question is that of the active layer (see KVDetector).
Reimplemented in KVChIo.
Definition at line 620 of file KVMaterial.cpp.
[in] | Z,A | atomic & mass numbers of ion |
Reimplemented in KVDetector.
Definition at line 1480 of file KVMaterial.cpp.
[in] | Z | atomic number of incident ion |
[in] | A | mass number of incident ion |
[in] | Einc | kinetic energy of incident ion |
Different units can be used with KVUnits:
Reimplemented in KVDetector.
Definition at line 865 of file KVMaterial.cpp.
|
static |
Static method
Definition at line 166 of file KVMaterial.cpp.
|
virtual |
Returns temperature of material in degrees celsius (only gaseous materials).
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 680 of file KVMaterial.cpp.
|
virtual |
Returns the linear thickness of the material in cm. Use KVUnits to translate from one unit to another, e.g.
For detectors, the material in question is that of the active layer (see KVDetector).
Reimplemented in KVSilicon, and KVTarget.
Definition at line 487 of file KVMaterial.cpp.
Double_t KVMaterial::GetZ | ( | ) | const |
Returns atomic number of material.
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 393 of file KVMaterial.cpp.
Default initialisations.
No properties are set for the material (except standard temperature (19°C) and pressure (1 atm)).
Default range table is generated if not already done. By default it is the VEDALOSS table implemented in KVedaLoss. You can change this by changing the value of environment variable KVMaterial.IonRangeTable
or by calling static method ChangeRangeTable() before creating any materials.
Definition at line 50 of file KVMaterial.cpp.
Bool_t KVMaterial::IsGas | ( | ) | const |
Returns kTRUE for gaseous material.
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 374 of file KVMaterial.cpp.
Bool_t KVMaterial::IsIsotopic | ( | ) | const |
Returns kTRUE if a specific isotope has been chosen for the material using SetMass(), e.g.
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 327 of file KVMaterial.cpp.
Bool_t KVMaterial::IsNat | ( | ) | const |
Returns kFALSE if a specific isotope has been chosen for the material using SetMass() e.g.
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 352 of file KVMaterial.cpp.
Show information on this material.
Reimplemented from KVBase.
Reimplemented in KVTarget, and KVDetector.
Definition at line 742 of file KVMaterial.cpp.
|
inlinevirtual |
Link this material to a volume in a ROOT geometry
Definition at line 203 of file KVMaterial.h.
Set area density in \(g/cm^{2}\).
For solids, area density can only be changed by changing the thickness of the material.
For gases, the density depends on temperature and pressure - see GetDensity(). This method leaves temperature and pressure unchanged, therefore for gases also this method will effectively modify the linear dimension of the gas cell.
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 523 of file KVMaterial.cpp.
Define the total energy loss [MeV] of charged particles in the absorber
Reimplemented in KVDetector.
Definition at line 154 of file KVMaterial.h.
Define a specific isotopic mass for the material, e.g. for isotopically pure targets.
For detectors, this changes the mass of the material composing the active layer (see KVDetector).
Definition at line 285 of file KVMaterial.cpp.
Intialise material of a given type, which must exist in the currently used range table.
The list of available material types depends on the underlying range table: this list can be obtained or visualised like so:
For materials which are elements of the periodic table you can specify the isotope such as "64Ni"
, "13C"
, "natSn"
, etc. etc.
Reimplemented in KVDetector, and KVTarget.
Definition at line 225 of file KVMaterial.cpp.
Set the pressure of a gaseous material (in torr). The linear dimension (thickness) is kept constant, the area density changes.
For detectors, the material in question is that of the active layer (see KVDetector).
Reimplemented in KVChIo.
Definition at line 583 of file KVMaterial.cpp.
Set temperature of material in degrees celsius.
This only has an effect on gaseous materials, where the resulting change in density changes the area density of the absorber (for fixed linear dimension).
For detectors, the material in question is that of the active layer (see KVDetector).
Definition at line 649 of file KVMaterial.cpp.
Set the linear thickness of the material in cm, e.g.
For detectors, the material in question is that of the active layer (see KVDetector).
Reimplemented in KVINDRADetector, KVSilicon, and KVDetector.
Definition at line 454 of file KVMaterial.cpp.
|
private |
pointer to corresponding volume in ROOT geometry
Definition at line 99 of file KVMaterial.h.
|
private |
isotopic mass of element
Definition at line 104 of file KVMaterial.h.
|
mutableprivate |
total of energy lost by all particles traversing absorber
Definition at line 108 of file KVMaterial.h.
|
staticprivate |
pointer to class used to calculate charged particle ranges & energy losses
Definition at line 97 of file KVMaterial.h.
|
private |
gas pressure in torr
Definition at line 106 of file KVMaterial.h.
|
private |
gas temperature in degrees celsius
Definition at line 107 of file KVMaterial.h.
|
private |
area density of absorber in g/cm**2
Definition at line 105 of file KVMaterial.h.