GRSISort "v4.1.1.0"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TSingleDecay Class Reference

Detailed Description

Definition at line 111 of file TDecay.h.

Public Member Functions

 TSingleDecay ()
 
 TSingleDecay (const TSingleDecay &)=default
 
 TSingleDecay (TSingleDecay &&) noexcept=default
 
 TSingleDecay (TSingleDecay *parent, Double_t tlow=0, Double_t thigh=10)
 
 TSingleDecay (UInt_t generation, TSingleDecay *parent, Double_t tlow=0, Double_t thigh=10)
 
 ~TSingleDecay ()
 
Double_t ActivityFunc (Double_t *dim, Double_t *par)
 
void Draw (Option_t *option="") override
 
virtual void DrawComponents (Option_t *opt="", Bool_t color_flag=true)
 
Double_t Eval (Double_t t)
 
Double_t EvalPar (const Double_t *x, const Double_t *par=nullptr)
 
TFitResultPtr Fit (TH1 *fithist, Option_t *opt="")
 
void Fix ()
 
void FixDecayRate ()
 
void FixDecayRate (const Double_t &decayrate)
 
void FixHalfLife ()
 
void FixHalfLife (const Double_t &halflife)
 
void FixIntensity ()
 
void FixIntensity (const Double_t &intensity)
 
Int_t GetChainId () const
 
TSingleDecayGetDaughterDecay ()
 
const TDecayFitGetDecayFunc () const
 
Int_t GetDecayId () const
 
Double_t GetDecayRate () const
 
Double_t GetDecayRateError () const
 
void GetDecayRateLimits (Double_t &low, Double_t &high) const
 
Double_t GetEfficiency () const
 
UInt_t GetGeneration () const
 
Double_t GetHalfLife () const
 
Double_t GetHalfLifeError () const
 
void GetHalfLifeLimits (Double_t &low, Double_t &high) const
 
Double_t GetIntensity () const
 
Double_t GetIntensityError () const
 
void GetIntensityLimits (Double_t &low, Double_t &high) const
 
Color_t GetLineColor () const
 
TSingleDecayGetParentDecay ()
 
const TDecayFitGetTotalDecayFunc ()
 
TSingleDecayoperator= (const TSingleDecay &)=default
 
TSingleDecayoperator= (TSingleDecay &&) noexcept=default
 
void Print (Option_t *option="") const override
 
void Release ()
 
void ReleaseDecayRate ()
 
void ReleaseHalfLife ()
 
void ReleaseIntensity ()
 
void SetDaughterDecay (TSingleDecay *daughter)
 
void SetDecayId (Int_t Id)
 
void SetDecayRate (const Double_t &decayrate)
 
void SetDecayRateLimits (const Double_t &low, const Double_t &high)
 
void SetEfficiency (const Double_t &eff)
 
void SetHalfLife (const Double_t &halflife)
 
void SetHalfLifeLimits (const Double_t &low, const Double_t &high)
 
void SetIntensity (const Double_t &intens)
 
void SetIntensityLimits (const Double_t &low, const Double_t &high)
 
void SetLineColor (Color_t color)
 
void SetMaximum (Double_t max)
 
void SetMinimum (Double_t min)
 
void SetName (const char *name) override
 
void SetParentDecay (TSingleDecay *parent)
 
void SetRange (Double_t tlow, Double_t thigh)
 
void SetTotalDecayParameters ()
 

Private Member Functions

const TDecayFitGetFitFunction () override
 
void SetChainId (Int_t id)
 
void SetDecayRateError (Double_t err)
 
void SetIntensityError (Double_t err)
 
void UpdateDecays ()
 

Private Attributes

Int_t fChainId {-1}
 
TSingleDecayfDaughter {nullptr}
 
TDecayFitfDecayFunc {nullptr}
 
Double_t fDetectionEfficiency {0.}
 
TSingleDecayfFirstParent {nullptr}
 
UInt_t fGeneration {0}
 
TSingleDecayfParent {nullptr}
 
TDecayFitfTotalDecayFunc {nullptr}
 
Int_t fUnId {0}
 

Static Private Attributes

static UInt_t fCounter = 0
 

Friends

class TDecay
 
class TDecayChain
 
class TDecayFit
 
+ Inheritance diagram for TSingleDecay:
+ Collaboration diagram for TSingleDecay:

Constructor & Destructor Documentation

◆ TSingleDecay() [1/5]

TSingleDecay::TSingleDecay ( )
inline

Definition at line 118 of file TDecay.h.

◆ TSingleDecay() [2/5]

TSingleDecay::TSingleDecay ( UInt_t generation,
TSingleDecay * parent,
Double_t tlow = 0,
Double_t thigh = 10 )

◆ TSingleDecay() [3/5]

TSingleDecay::TSingleDecay ( TSingleDecay * parent,
Double_t tlow = 0,
Double_t thigh = 10 )
explicit

◆ TSingleDecay() [4/5]

TSingleDecay::TSingleDecay ( const TSingleDecay & )
default

◆ TSingleDecay() [5/5]

TSingleDecay::TSingleDecay ( TSingleDecay && )
defaultnoexcept

◆ ~TSingleDecay()

TSingleDecay::~TSingleDecay ( )

Definition at line 196 of file TDecay.cxx.

References fDecayFunc, and fTotalDecayFunc.

Member Function Documentation

◆ ActivityFunc()

Double_t TSingleDecay::ActivityFunc ( Double_t * dim,
Double_t * par )

The general function for a decay chain par[0] is the intensity par[1*i] is the activity

Definition at line 344 of file TDecay.cxx.

References fGeneration, fTotalDecayFunc, GetEfficiency(), GetGeneration(), and GetParentDecay().

Referenced by TSingleDecay(), and TSingleDecay().

◆ Draw()

void TSingleDecay::Draw ( Option_t * option = "")
override

Definition at line 324 of file TDecay.cxx.

References fTotalDecayFunc, and SetTotalDecayParameters().

◆ DrawComponents()

void TVirtualDecay::DrawComponents ( Option_t * opt = "",
Bool_t color_flag = true )
virtualinherited

Reimplemented in TDecay, and TDecayChain.

Definition at line 103 of file TDecay.cxx.

Referenced by TDecayFit::DrawComponents().

◆ Eval()

Double_t TSingleDecay::Eval ( Double_t t)

Evaluates the activity at a given time, t

Definition at line 330 of file TDecay.cxx.

References fTotalDecayFunc, and SetTotalDecayParameters().

◆ EvalPar()

Double_t TSingleDecay::EvalPar ( const Double_t * x,
const Double_t * par = nullptr )

Evaluates the activity at a given time t using parameters par.

Definition at line 337 of file TDecay.cxx.

References fTotalDecayFunc.

Referenced by TDecayChain::ChainActivityFunc().

◆ Fit()

TFitResultPtr TSingleDecay::Fit ( TH1 * fithist,
Option_t * opt = "" )

◆ Fix()

void TSingleDecay::Fix ( )

Definition at line 426 of file TDecay.cxx.

References FixHalfLife(), and FixIntensity().

◆ FixDecayRate() [1/2]

void TSingleDecay::FixDecayRate ( )
inline

Definition at line 176 of file TDecay.h.

◆ FixDecayRate() [2/2]

void TSingleDecay::FixDecayRate ( const Double_t & decayrate)
inline

Definition at line 171 of file TDecay.h.

◆ FixHalfLife() [1/2]

void TSingleDecay::FixHalfLife ( )
inline

Definition at line 166 of file TDecay.h.

Referenced by Fix().

◆ FixHalfLife() [2/2]

void TSingleDecay::FixHalfLife ( const Double_t & halflife)
inline

Definition at line 161 of file TDecay.h.

◆ FixIntensity() [1/2]

void TSingleDecay::FixIntensity ( )
inline

Definition at line 182 of file TDecay.h.

Referenced by TSingleDecay(), TSingleDecay(), and Fix().

◆ FixIntensity() [2/2]

void TSingleDecay::FixIntensity ( const Double_t & intensity)
inline

Definition at line 181 of file TDecay.h.

◆ GetChainId()

Int_t TSingleDecay::GetChainId ( ) const
inline

Definition at line 218 of file TDecay.h.

◆ GetDaughterDecay()

TSingleDecay * TSingleDecay::GetDaughterDecay ( )

Definition at line 319 of file TDecay.cxx.

References fDaughter.

Referenced by TDecayChain::Fit(), Fit(), SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayFunc()

const TDecayFit * TSingleDecay::GetDecayFunc ( ) const
inline

Definition at line 220 of file TDecay.h.

Referenced by SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayId()

Int_t TSingleDecay::GetDecayId ( ) const
inline

Definition at line 217 of file TDecay.h.

Referenced by Print().

◆ GetDecayRate()

Double_t TSingleDecay::GetDecayRate ( ) const
inline

Definition at line 136 of file TDecay.h.

Referenced by SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayRateError()

Double_t TSingleDecay::GetDecayRateError ( ) const
inline

Definition at line 143 of file TDecay.h.

◆ GetDecayRateLimits()

void TSingleDecay::GetDecayRateLimits ( Double_t & low,
Double_t & high ) const

Definition at line 309 of file TDecay.cxx.

References fDecayFunc.

◆ GetEfficiency()

Double_t TSingleDecay::GetEfficiency ( ) const
inline

Definition at line 138 of file TDecay.h.

Referenced by ActivityFunc(), and Print().

◆ GetFitFunction()

const TDecayFit * TSingleDecay::GetFitFunction ( )
inlineoverrideprivatevirtual

Implements TVirtualDecay.

Definition at line 242 of file TDecay.h.

◆ GetGeneration()

UInt_t TSingleDecay::GetGeneration ( ) const
inline

Definition at line 131 of file TDecay.h.

Referenced by ActivityFunc(), and UpdateDecays().

◆ GetHalfLife()

Double_t TSingleDecay::GetHalfLife ( ) const
inline

Definition at line 132 of file TDecay.h.

Referenced by Print().

◆ GetHalfLifeError()

Double_t TSingleDecay::GetHalfLifeError ( ) const
inline

Definition at line 139 of file TDecay.h.

Referenced by Print().

◆ GetHalfLifeLimits()

void TSingleDecay::GetHalfLifeLimits ( Double_t & low,
Double_t & high ) const

Definition at line 291 of file TDecay.cxx.

References fDecayFunc.

◆ GetIntensity()

Double_t TSingleDecay::GetIntensity ( ) const
inline

Definition at line 137 of file TDecay.h.

Referenced by TSingleDecay(), TSingleDecay(), Print(), SetTotalDecayParameters(), and UpdateDecays().

◆ GetIntensityError()

Double_t TSingleDecay::GetIntensityError ( ) const
inline

Definition at line 144 of file TDecay.h.

Referenced by Print().

◆ GetIntensityLimits()

void TSingleDecay::GetIntensityLimits ( Double_t & low,
Double_t & high ) const

Definition at line 304 of file TDecay.cxx.

References fDecayFunc, and fFirstParent.

◆ GetLineColor()

Color_t TSingleDecay::GetLineColor ( ) const
inline

Definition at line 201 of file TDecay.h.

◆ GetParentDecay()

TSingleDecay * TSingleDecay::GetParentDecay ( )

Definition at line 314 of file TDecay.cxx.

References fParent.

Referenced by TSingleDecay(), TSingleDecay(), and ActivityFunc().

◆ GetTotalDecayFunc()

const TDecayFit * TSingleDecay::GetTotalDecayFunc ( )
inline

Definition at line 221 of file TDecay.h.

◆ operator=() [1/2]

TSingleDecay & TSingleDecay::operator= ( const TSingleDecay & )
default

◆ operator=() [2/2]

TSingleDecay & TSingleDecay::operator= ( TSingleDecay && )
defaultnoexcept

◆ Print()

void TSingleDecay::Print ( Option_t * option = "") const
overridevirtual

◆ Release()

void TSingleDecay::Release ( )

Definition at line 432 of file TDecay.cxx.

References ReleaseHalfLife(), and ReleaseIntensity().

◆ ReleaseDecayRate()

void TSingleDecay::ReleaseDecayRate ( )
inline

Definition at line 190 of file TDecay.h.

◆ ReleaseHalfLife()

void TSingleDecay::ReleaseHalfLife ( )
inline

Definition at line 189 of file TDecay.h.

Referenced by Release().

◆ ReleaseIntensity()

void TSingleDecay::ReleaseIntensity ( )
inline

Definition at line 191 of file TDecay.h.

Referenced by Release().

◆ SetChainId()

void TSingleDecay::SetChainId ( Int_t id)
inlineprivate

Definition at line 240 of file TDecay.h.

◆ SetDaughterDecay()

void TSingleDecay::SetDaughterDecay ( TSingleDecay * daughter)
inline

Definition at line 213 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().

◆ SetDecayId()

void TSingleDecay::SetDecayId ( Int_t Id)
inline

Definition at line 216 of file TDecay.h.

◆ SetDecayRate()

void TSingleDecay::SetDecayRate ( const Double_t & decayrate)
inline

Definition at line 150 of file TDecay.h.

Referenced by TDecayChain::Fit(), and Fit().

◆ SetDecayRateError()

void TSingleDecay::SetDecayRateError ( Double_t err)
inlineprivate

Definition at line 235 of file TDecay.h.

Referenced by TDecayChain::Fit(), and Fit().

◆ SetDecayRateLimits()

void TSingleDecay::SetDecayRateLimits ( const Double_t & low,
const Double_t & high )

Definition at line 285 of file TDecay.cxx.

References fDecayFunc, and UpdateDecays().

◆ SetEfficiency()

void TSingleDecay::SetEfficiency ( const Double_t & eff)
inline

Definition at line 160 of file TDecay.h.

◆ SetHalfLife()

void TSingleDecay::SetHalfLife ( const Double_t & halflife)
inline

Definition at line 145 of file TDecay.h.

◆ SetHalfLifeLimits()

void TSingleDecay::SetHalfLifeLimits ( const Double_t & low,
const Double_t & high )

Definition at line 268 of file TDecay.cxx.

References fDecayFunc, and UpdateDecays().

◆ SetIntensity()

void TSingleDecay::SetIntensity ( const Double_t & intens)
inline

Definition at line 155 of file TDecay.h.

Referenced by TDecayChain::Fit(), and Fit().

◆ SetIntensityError()

void TSingleDecay::SetIntensityError ( Double_t err)
inlineprivate

Definition at line 236 of file TDecay.h.

Referenced by TDecayChain::Fit(), and Fit().

◆ SetIntensityLimits()

void TSingleDecay::SetIntensityLimits ( const Double_t & low,
const Double_t & high )

Definition at line 279 of file TDecay.cxx.

References fDecayFunc, fFirstParent, and UpdateDecays().

◆ SetLineColor()

void TSingleDecay::SetLineColor ( Color_t color)
inline

Definition at line 200 of file TDecay.h.

◆ SetMaximum()

void TSingleDecay::SetMaximum ( Double_t max)
inline

Definition at line 207 of file TDecay.h.

◆ SetMinimum()

void TSingleDecay::SetMinimum ( Double_t min)
inline

Definition at line 202 of file TDecay.h.

◆ SetName()

void TSingleDecay::SetName ( const char * name)
override

Definition at line 205 of file TDecay.cxx.

References fDecayFunc, fGeneration, and fTotalDecayFunc.

Referenced by TSingleDecay(), and TSingleDecay().

◆ SetParentDecay()

void TSingleDecay::SetParentDecay ( TSingleDecay * parent)
inline

Definition at line 214 of file TDecay.h.

◆ SetRange()

void TSingleDecay::SetRange ( Double_t tlow,
Double_t thigh )

Definition at line 438 of file TDecay.cxx.

References fDecayFunc, and fTotalDecayFunc.

Referenced by TSingleDecay(), and TSingleDecay().

◆ SetTotalDecayParameters()

void TSingleDecay::SetTotalDecayParameters ( )

Sets the total fit function to know about the other parmaters in the decay chain.

Definition at line 212 of file TDecay.cxx.

References fFirstParent, fTotalDecayFunc, GetDaughterDecay(), GetDecayFunc(), GetDecayRate(), GetIntensity(), and UpdateDecays().

Referenced by TSingleDecay(), TSingleDecay(), Draw(), Eval(), and Fit().

◆ UpdateDecays()

void TSingleDecay::UpdateDecays ( )
private

Updates the other decays in the chain to know that they have potential updates.

Definition at line 238 of file TDecay.cxx.

References fDecayFunc, fFirstParent, fTotalDecayFunc, GetDaughterDecay(), GetDecayFunc(), GetDecayRate(), GetGeneration(), and GetIntensity().

Referenced by TDecayChain::Fit(), SetDecayRateLimits(), SetHalfLifeLimits(), SetIntensityLimits(), and SetTotalDecayParameters().

Friends And Related Symbol Documentation

◆ TDecay

friend class TDecay
friend

Definition at line 114 of file TDecay.h.

◆ TDecayChain

friend class TDecayChain
friend

Definition at line 112 of file TDecay.h.

◆ TDecayFit

friend class TDecayFit
friend

Definition at line 113 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().

Member Data Documentation

◆ fChainId

Int_t TSingleDecay::fChainId {-1}
private

Definition at line 257 of file TDecay.h.

◆ fCounter

UInt_t TSingleDecay::fCounter = 0
staticprivate

Definition at line 256 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().

◆ fDaughter

TSingleDecay* TSingleDecay::fDaughter {nullptr}
private

Definition at line 253 of file TDecay.h.

Referenced by GetDaughterDecay(), and Print().

◆ fDecayFunc

◆ fDetectionEfficiency

Double_t TSingleDecay::fDetectionEfficiency {0.}
private

Definition at line 249 of file TDecay.h.

◆ fFirstParent

TSingleDecay* TSingleDecay::fFirstParent {nullptr}
private

◆ fGeneration

UInt_t TSingleDecay::fGeneration {0}
private

Definition at line 248 of file TDecay.h.

Referenced by TSingleDecay(), TSingleDecay(), ActivityFunc(), and SetName().

◆ fParent

TSingleDecay* TSingleDecay::fParent {nullptr}
private

Definition at line 252 of file TDecay.h.

Referenced by TSingleDecay(), TSingleDecay(), GetParentDecay(), and Print().

◆ fTotalDecayFunc

TDecayFit* TSingleDecay::fTotalDecayFunc {nullptr}
private

◆ fUnId

Int_t TSingleDecay::fUnId {0}
private

Definition at line 255 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().