|
BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
|
Tool class to calculate the non-ionising radiation damage on the STS silicon. More...
#include <CbmStsRadTool.h>
Public Member Functions | |
| CbmStsRadTool () | |
| Constructor. | |
| virtual | ~CbmStsRadTool () |
| Destructor. | |
| Double_t | GetLeakageCurrent (Double_t fluence, Double_t volume, Double_t temperature) |
| Get leakage current. | |
| Double_t | GetNiel (Int_t type, Double_t energy) |
| Get NIEL factor. | |
| Double_t | GetVfd (Double_t fluence, Double_t d) |
| Get full depletion voltage. | |
| CbmStsRadTool () | |
| Constructor. | |
| virtual | ~CbmStsRadTool () |
| Destructor. | |
| Double_t | GetLeakageCurrent (Double_t fluence, Double_t volume, Double_t temperature) |
| Get leakage current. | |
| Double_t | GetNiel (Int_t type, Double_t energy) |
| Get NIEL factor. | |
| Double_t | GetVfd (Double_t fluence, Double_t d) |
| Get full depletion voltage. | |
| 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 | Clear (Option_t *="") |
| virtual TObject * | Clone (const char *newname="") const |
| virtual Int_t | Compare (const TObject *obj) const |
| virtual void | Copy (TObject &object) 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 const char * | GetName () const |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
| virtual Option_t * | GetOption () const |
| virtual const char * | GetTitle () const |
| virtual UInt_t | GetUniqueID () const |
| virtual Bool_t | HandleTimer (TTimer *timer) |
| virtual ULong_t | Hash () const |
| 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 TClass * | IsA () const |
| Bool_t | IsDestructed () const |
| virtual Bool_t | IsEqual (const TObject *obj) const |
| virtual Bool_t | IsFolder () const |
| R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
| virtual Bool_t | IsSortable () const |
| R__ALWAYS_INLINE Bool_t | IsZombie () const |
| virtual void | ls (Option_t *option="") 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 void | Print (Option_t *option="") const |
| 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 | Streamer (TBuffer &) |
| 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 Member Functions | |
| void | Init () |
| Initialisation. | |
| void | ReadData (const char *file, map< Double_t, Double_t > &map) |
| Read data from file. | |
| void | Init () |
| Initialisation. | |
| void | ReadData (const char *file, map< Double_t, Double_t > &map) |
| Read data from file. | |
Private Attributes | |
| map< Double_t, Double_t > | niel_neutron |
| Tables of NIEL factors as fnct. | |
| map< Double_t, Double_t > | niel_proton |
| map< Double_t, Double_t > | niel_pion |
| map< Double_t, Double_t > | niel_electron |
| Double_t | fIAlpha |
| Proportionality constant of leakage current and fluence. | |
| Double_t | fEGap0 |
| Constants for temperature dependence of leakage current. | |
| Double_t | fEGapAlpha |
| Double_t | fEGapBeta |
| Double_t | fNeff0 |
| Constants for effective doping concentration as function of fluence. | |
| Double_t | fNeffC |
| Double_t | fNeffGc |
| Double_t | fEpsilon |
| Permittivity of Silicon. | |
Additional Inherited Members | |
| Public Types inherited from TObject | |
| enum | EDeprecatedStatusBits |
| enum | EStatusBits |
| 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) |
| Public Attributes inherited from TObject | |
| kIsOnHeap | |
| kNotDeleted | |
| kZombie | |
| kInconsistent | |
| kBitMask | |
| kSingleKey | |
| kOverwrite | |
| kWriteDelete | |
| kObjInCanvas | |
| kCanDelete | |
| kMustCleanup | |
| kIsReferenced | |
| kHasUUID | |
| kCannotPick | |
| kNoContextMenu | |
| kInvalidObject | |
| Protected Member Functions inherited from TObject | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
| void | MakeZombie () |
| Static Protected Member Functions inherited from TObject | |
| static void | SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE) |
| static void | SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr) |
| static TString | SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Bool_t empty_line=kFALSE) |
| Protected Attributes inherited from TObject | |
| kOnlyPrepStep | |
This class provides some functionality to calculate the effects of non-ionising irradiation on Silicon.
While the calculation of the NIEL factor is independent of the type of silicon used, those of leakage current and full depletion voltage depend on the specific silicon properties (effective doping concentration 9 x 10^11 cm^-3).
Definition at line 29 of file CbmStsRadTool.h.
| CbmStsRadTool::CbmStsRadTool | ( | ) |
Definition at line 15 of file CbmStsRadTool.cxx.
References TObject::TObject(), fEGap0, fEGapAlpha, fEGapBeta, fEpsilon, fIAlpha, fNeff0, fNeffC, fNeffGc, Init(), niel_electron, niel_neutron, niel_pion, and niel_proton.
Referenced by ReadData().
|
virtual |
Definition at line 35 of file CbmStsRadTool.cxx.
| CbmStsRadTool::CbmStsRadTool | ( | ) |
|
virtual |
| Double_t CbmStsRadTool::GetLeakageCurrent | ( | Double_t | fluence, |
| Double_t | volume, | ||
| Double_t | temperature ) |
| [in] | fluence | Fluence [neq/cm^2] |
| [in] | volume | Volume [cm^3] |
| [in] | temperature | Temperature [K] |
Calculates the leakage current in Silicon as function of irradiation fluence, volume and temperature.
Formulae provided by S. Chatterji.
Definition at line 39 of file CbmStsRadTool.cxx.
References TMath::Exp(), fEGap0, fEGapAlpha, fEGapBeta, fIAlpha, TMath::K(), and TMath::Qe().
| Double_t CbmStsRadTool::GetLeakageCurrent | ( | Double_t | fluence, |
| Double_t | volume, | ||
| Double_t | temperature ) |
| [in] | fluence | Fluence [neq/cm^2] |
| [in] | volume | Volume [cm^3] |
| [in] | temperature | Temperature [K] |
Calculates the leakage current in Silicon as function of irradiation fluence, volume and temperature.
Formulae provided by S. Chatterji.
| type | Particle Id (PDG code) |
| energy | Energy in GeV |
Calculates the NIEL factor for a given particle type and energy from interpolation of the values tabulated in http://sesam.desy.de/members/gunnar/Si-dfuncs.htm
Will return 0 for particle types other than proton, neutron, pion or electron, or if the energy is below the lowest tabulated value. Will return an asymptotic value if the energy is above the highest tabulated value.
Definition at line 60 of file CbmStsRadTool.cxx.
References TMath::Abs(), niel_electron, niel_neutron, niel_pion, niel_proton, and v.
| type | Particle Id (PDG code) |
| energy | Energy in GeV |
Calculates the NIEL factor for a given particle type and energy from interpolation of the values tabulated in http://sesam.desy.de/members/gunnar/Si-dfuncs.htm
Will return 0 for particle types other than proton, neutron, pion or electron, or if the energy is below the lowest tabulated value. Will return an asymptotic value if the energy is above the highest tabulated value.
| fluence | Fluence [neq/cm^2] |
| d | Thickness [cm] |
Calculates the full depletion voltage of Silicon as function of non-ionising dose and thickness.
Formulae and values provided by S. Chatterji.
Definition at line 136 of file CbmStsRadTool.cxx.
References d, TMath::Exp(), fEpsilon, fNeff0, fNeffC, fNeffGc, and TMath::Qe().
| fluence | Fluence [neq/cm^2] |
| d | Thickness [cm] |
Calculates the full depletion voltage of Silicon as function of non-ionising dose and thickness.
Formulae and values provided by S. Chatterji.
References d, fEGap0, fEGapAlpha, fEGapBeta, fEpsilon, fIAlpha, fNeff0, fNeffC, fNeffGc, niel_electron, niel_neutron, niel_pion, and niel_proton.
|
private |
Reads in tabulated NIEL factors from file and sets proper constants for Silicon.
Definition at line 152 of file CbmStsRadTool.cxx.
References fEGap0, fEGapAlpha, fEGapBeta, fEpsilon, fIAlpha, fNeff0, fNeffC, fNeffGc, niel_electron, niel_neutron, niel_pion, niel_proton, and ReadData().
Referenced by CbmStsRadTool().
|
private |
Reads in tabulated NIEL factors from file and sets proper constants for Silicon.
| file | File name (in directory input) |
| map | Map to be filled |
Definition at line 186 of file CbmStsRadTool.cxx.
References TString::Data(), TObject::Fatal(), and v.
Referenced by Init().
| file | File name (in directory input) |
| map | Map to be filled |
References CbmStsRadTool().
|
private |
Definition at line 91 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetLeakageCurrent(), GetVfd(), and Init().
|
private |
Definition at line 92 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetLeakageCurrent(), GetVfd(), and Init().
|
private |
Definition at line 93 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetLeakageCurrent(), GetVfd(), and Init().
|
private |
Definition at line 103 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetVfd(), and Init().
|
private |
Definition at line 88 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetLeakageCurrent(), GetVfd(), and Init().
|
private |
Definition at line 98 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetVfd(), and Init().
|
private |
Definition at line 99 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetVfd(), and Init().
|
private |
Definition at line 100 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetVfd(), and Init().
Definition at line 85 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetNiel(), GetVfd(), and Init().
of energy
Definition at line 82 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetNiel(), GetVfd(), and Init().
Definition at line 84 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetNiel(), GetVfd(), and Init().
Definition at line 83 of file CbmStsRadTool.h.
Referenced by CbmStsRadTool(), GetNiel(), GetVfd(), and Init().