![]() |
KaliVeda
Toolkit for HIC analysis
|
Easily calculate energy losses etc. in a stack of detectors.
A KVDetectorStack is initialised with pointers/references to a set of existing detectors. Particle energy losses, punch-through energies, etc. can then be calculated for the entire stack.
Definition at line 20 of file KVDetectorStack.h.
#include <KVDetectorStack.h>

Public Member Functions | |
| KVDetectorStack ()=default | |
| KVDetectorStack (const KVDetectorStack &)=default | |
| KVDetectorStack (KVDetectorStack &&)=default | |
| void | Add (KVDetector &) |
| void | Add (KVDetector *) |
| void | Clear (Option_t *opt="") override |
| Calls KVDetector::Clear() for each detector in stack. More... | |
| void | DetectParticle (KVNucleus &, TVector3 *=nullptr) |
| Double_t | GetDeltaE (Int_t Z, Int_t A, Double_t Einc) |
| Double_t | GetDeltaEFromERes (Int_t Z, Int_t A, Double_t Eres) |
| Double_t | GetERes (Int_t Z, Int_t A, Double_t Einc) |
| Double_t | GetIncidentEnergyFromERes (Int_t Z, Int_t A, Double_t Eres, std::optional< int >=std::nullopt) |
| Double_t | GetPunchThroughEnergy (Int_t Z, Int_t A) |
| void | Reset (Option_t *opt="") |
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... | |
| void | Clear (Option_t *opt="") override |
| Clear object properties : name, type/title, number, label. More... | |
| void | Copy (TObject &) const override |
| Make a copy of this object. More... | |
| const Char_t * | GetLabel () const |
| UInt_t | GetNumber () const |
| virtual TObject * | GetObject () const |
| virtual const Char_t * | GetType () const |
| Bool_t | HasLabel () const |
| Bool_t | IsCalled (const Char_t *name, bool case_insensitive=false) const |
| Bool_t | IsLabelled (const Char_t *l, bool case_insensitive=false) const |
| Bool_t | IsType (const Char_t *typ, bool case_insensitive=false) const |
| virtual void | List () |
| KVBase & | operator= (const KVBase &) |
| copy assignment operator More... | |
| void | Print (Option_t *option="") const override |
| void | SetLabel (const Char_t *lab) |
| virtual void | SetNumber (UInt_t num) |
| virtual void | SetType (const Char_t *str) |
Additional Inherited Members | |
Public Types inherited from KVBase | |
| enum | EKaliVedaBits { kIsKaliVedaObject = BIT(23) } |
| enum class | GetX_status { ok , above_maximum , below_minimum , at_maximum , at_minimum } |
Static Public Member Functions inherited from KVBase | |
| static std::optional< TString > | AbsoluteUnixPath (const TString &) |
| 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 KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &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="") |
| template<typename ValType > | |
| static ValType | GetDataSetEnv (const KVString &dataset, const KVString &type, const ValType &defval={}) |
| static const Char_t * | GetETCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
| Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More... | |
| static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetKVBuildDate () |
| Returns KaliVeda build date. More... | |
| static const Char_t * | GetKVBuildDir () |
| Returns top-level directory used for build. More... | |
| static const Char_t * | GetKVBuildTime () |
| Returns KaliVeda build time. More... | |
| static const Char_t * | GetKVBuildType () |
| Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
| static const Char_t * | GetKVBuildUser () |
| Returns username of person who performed build. More... | |
| static int | GetKVMajorVersion () |
| static int | GetKVMinorVersion () |
| static int | GetKVPatchVersion () |
| static const Char_t * | GetKVSourceDir () |
| Returns top-level directory of source tree used for build. More... | |
| static const Char_t * | GetKVVersion () |
| Returns KaliVeda version string. More... | |
| static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetListOfPlugins (const Char_t *base) |
| static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
| static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
| static void | GetTempFileName (TString &base) |
| static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
| static const Char_t * | gitBranch () |
| Returns git branch of sources. More... | |
| static const Char_t * | gitCommit () |
| Returns last git commit of sources. More... | |
| static void | InitEnvironment () |
| static bool | is_gnuinstall () |
| static Bool_t | IsEnvInit () |
| static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
| static TPluginHandler * | LoadPlugin (const Char_t *base, const Char_t *uri="0") |
| static Bool_t | OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="") |
| static void | OpenTempFile (TString &base, std::ofstream &fp) |
| static void | PrintSplashScreen () |
| Prints welcome message and infos on version etc. More... | |
| static Double_t | ProtectedGetX (const TF1 &func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={}) |
| static Double_t | ProtectedGetX (const TF1 *func, Double_t val, GetX_status &status, std::optional< Double_t > xmin={}, std::optional< Double_t > xmax={}) |
| 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 () |
|
default |
|
default |
|
default |
| void KVDetectorStack::Add | ( | KVDetector & | D | ) |
Definition at line 18 of file KVDetectorStack.cpp.
| void KVDetectorStack::Add | ( | KVDetector * | D | ) |
Definition at line 9 of file KVDetectorStack.cpp.
|
override |
Calls KVDetector::Clear() for each detector in stack.
Definition at line 158 of file KVDetectorStack.cpp.
| void KVDetectorStack::DetectParticle | ( | KVNucleus & | N, |
| TVector3 * | norm = nullptr |
||
| ) |
Simulate passage of charged particle through the detector stack.
Particle energy will decrease according to energy losses in detectors.
If the optional argument 'norm' is given, it is supposed to be a vector normal to the detectors in the stack, oriented from the origin towards the detectors. In this case the effective thicknesses of the detector's absorbers 'seen' by the particle depending on its direction of motion is used for the calculation.
Definition at line 137 of file KVDetectorStack.cpp.
| Double_t KVDetectorStack::GetDeltaE | ( | Int_t | Z, |
| Int_t | A, | ||
| Double_t | Einc | ||
| ) |
Definition at line 28 of file KVDetectorStack.cpp.
| Double_t KVDetectorStack::GetDeltaEFromERes | ( | Int_t | Z, |
| Int_t | A, | ||
| Double_t | Eres | ||
| ) |
Definition at line 58 of file KVDetectorStack.cpp.
| Double_t KVDetectorStack::GetERes | ( | Int_t | Z, |
| Int_t | A, | ||
| Double_t | Einc | ||
| ) |
Definition at line 46 of file KVDetectorStack.cpp.
| Double_t KVDetectorStack::GetIncidentEnergyFromERes | ( | Int_t | Z, |
| Int_t | A, | ||
| Double_t | Eres, | ||
| std::optional< int > | layers = std::nullopt |
||
| ) |
| layers | optional:
|
Definition at line 74 of file KVDetectorStack.cpp.
| Double_t KVDetectorStack::GetPunchThroughEnergy | ( | Int_t | Z, |
| Int_t | A | ||
| ) |
This is the incident energy required to arrive just before the last detector with the punch through energy for that detector, i.e. having that as residual energy after passing all but the last layer of the stack
Definition at line 113 of file KVDetectorStack.cpp.
|
inline |
Same as Clear()
Definition at line 39 of file KVDetectorStack.h.