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

Detailed Description

Definition at line 116 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 123 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 199 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 347 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 327 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 333 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 340 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 429 of file TDecay.cxx.

References FixHalfLife(), and FixIntensity().

◆ FixDecayRate() [1/2]

void TSingleDecay::FixDecayRate ( )
inline

Definition at line 181 of file TDecay.h.

◆ FixDecayRate() [2/2]

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

Definition at line 176 of file TDecay.h.

◆ FixHalfLife() [1/2]

void TSingleDecay::FixHalfLife ( )
inline

Definition at line 171 of file TDecay.h.

Referenced by Fix().

◆ FixHalfLife() [2/2]

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

Definition at line 166 of file TDecay.h.

◆ FixIntensity() [1/2]

void TSingleDecay::FixIntensity ( )
inline

Definition at line 187 of file TDecay.h.

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

◆ FixIntensity() [2/2]

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

Definition at line 186 of file TDecay.h.

◆ GetChainId()

Int_t TSingleDecay::GetChainId ( ) const
inline

Definition at line 223 of file TDecay.h.

◆ GetDaughterDecay()

TSingleDecay * TSingleDecay::GetDaughterDecay ( )

Definition at line 322 of file TDecay.cxx.

References fDaughter.

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

◆ GetDecayFunc()

const TDecayFit * TSingleDecay::GetDecayFunc ( ) const
inline

Definition at line 225 of file TDecay.h.

Referenced by SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayId()

Int_t TSingleDecay::GetDecayId ( ) const
inline

Definition at line 222 of file TDecay.h.

Referenced by Print().

◆ GetDecayRate()

Double_t TSingleDecay::GetDecayRate ( ) const
inline

Definition at line 141 of file TDecay.h.

Referenced by SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayRateError()

Double_t TSingleDecay::GetDecayRateError ( ) const
inline

Definition at line 148 of file TDecay.h.

◆ GetDecayRateLimits()

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

Definition at line 312 of file TDecay.cxx.

References fDecayFunc.

◆ GetEfficiency()

Double_t TSingleDecay::GetEfficiency ( ) const
inline

Definition at line 143 of file TDecay.h.

Referenced by ActivityFunc(), and Print().

◆ GetFitFunction()

const TDecayFit * TSingleDecay::GetFitFunction ( )
inlineoverrideprivatevirtual

Implements TVirtualDecay.

Definition at line 247 of file TDecay.h.

◆ GetGeneration()

UInt_t TSingleDecay::GetGeneration ( ) const
inline

Definition at line 136 of file TDecay.h.

Referenced by ActivityFunc(), and UpdateDecays().

◆ GetHalfLife()

Double_t TSingleDecay::GetHalfLife ( ) const
inline

Definition at line 137 of file TDecay.h.

Referenced by Print().

◆ GetHalfLifeError()

Double_t TSingleDecay::GetHalfLifeError ( ) const
inline

Definition at line 144 of file TDecay.h.

Referenced by Print().

◆ GetHalfLifeLimits()

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

Definition at line 294 of file TDecay.cxx.

References fDecayFunc.

◆ GetIntensity()

Double_t TSingleDecay::GetIntensity ( ) const
inline

Definition at line 142 of file TDecay.h.

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

◆ GetIntensityError()

Double_t TSingleDecay::GetIntensityError ( ) const
inline

Definition at line 149 of file TDecay.h.

Referenced by Print().

◆ GetIntensityLimits()

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

Definition at line 307 of file TDecay.cxx.

References fDecayFunc, and fFirstParent.

◆ GetLineColor()

Color_t TSingleDecay::GetLineColor ( ) const
inline

Definition at line 206 of file TDecay.h.

◆ GetParentDecay()

TSingleDecay * TSingleDecay::GetParentDecay ( )

Definition at line 317 of file TDecay.cxx.

References fParent.

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

◆ GetTotalDecayFunc()

const TDecayFit * TSingleDecay::GetTotalDecayFunc ( )
inline

Definition at line 226 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 435 of file TDecay.cxx.

References ReleaseHalfLife(), and ReleaseIntensity().

◆ ReleaseDecayRate()

void TSingleDecay::ReleaseDecayRate ( )
inline

Definition at line 195 of file TDecay.h.

◆ ReleaseHalfLife()

void TSingleDecay::ReleaseHalfLife ( )
inline

Definition at line 194 of file TDecay.h.

Referenced by Release().

◆ ReleaseIntensity()

void TSingleDecay::ReleaseIntensity ( )
inline

Definition at line 196 of file TDecay.h.

Referenced by Release().

◆ SetChainId()

void TSingleDecay::SetChainId ( Int_t id)
inlineprivate

Definition at line 245 of file TDecay.h.

◆ SetDaughterDecay()

void TSingleDecay::SetDaughterDecay ( TSingleDecay * daughter)
inline

Definition at line 218 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().

◆ SetDecayId()

void TSingleDecay::SetDecayId ( Int_t Id)
inline

Definition at line 221 of file TDecay.h.

◆ SetDecayRate()

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

Definition at line 155 of file TDecay.h.

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

◆ SetDecayRateError()

void TSingleDecay::SetDecayRateError ( Double_t err)
inlineprivate

Definition at line 240 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 288 of file TDecay.cxx.

References fDecayFunc, and UpdateDecays().

◆ SetEfficiency()

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

Definition at line 165 of file TDecay.h.

◆ SetHalfLife()

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

Definition at line 150 of file TDecay.h.

◆ SetHalfLifeLimits()

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

Definition at line 271 of file TDecay.cxx.

References fDecayFunc, and UpdateDecays().

◆ SetIntensity()

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

Definition at line 160 of file TDecay.h.

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

◆ SetIntensityError()

void TSingleDecay::SetIntensityError ( Double_t err)
inlineprivate

Definition at line 241 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 282 of file TDecay.cxx.

References fDecayFunc, fFirstParent, and UpdateDecays().

◆ SetLineColor()

void TSingleDecay::SetLineColor ( Color_t color)
inline

Definition at line 205 of file TDecay.h.

◆ SetMaximum()

void TSingleDecay::SetMaximum ( Double_t max)
inline

Definition at line 212 of file TDecay.h.

◆ SetMinimum()

void TSingleDecay::SetMinimum ( Double_t min)
inline

Definition at line 207 of file TDecay.h.

◆ SetName()

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

Definition at line 208 of file TDecay.cxx.

References fDecayFunc, fGeneration, and fTotalDecayFunc.

Referenced by TSingleDecay(), and TSingleDecay().

◆ SetParentDecay()

void TSingleDecay::SetParentDecay ( TSingleDecay * parent)
inline

Definition at line 219 of file TDecay.h.

◆ SetRange()

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

Definition at line 441 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 215 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 241 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 119 of file TDecay.h.

◆ TDecayChain

friend class TDecayChain
friend

Definition at line 117 of file TDecay.h.

◆ TDecayFit

friend class TDecayFit
friend

Definition at line 118 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().

Member Data Documentation

◆ fChainId

Int_t TSingleDecay::fChainId {-1}
private

Definition at line 262 of file TDecay.h.

◆ fCounter

UInt_t TSingleDecay::fCounter = 0
staticprivate

Definition at line 261 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().

◆ fDaughter

TSingleDecay* TSingleDecay::fDaughter {nullptr}
private

Definition at line 258 of file TDecay.h.

Referenced by GetDaughterDecay(), and Print().

◆ fDecayFunc

◆ fDetectionEfficiency

Double_t TSingleDecay::fDetectionEfficiency {0.}
private

Definition at line 254 of file TDecay.h.

◆ fFirstParent

TSingleDecay* TSingleDecay::fFirstParent {nullptr}
private

◆ fGeneration

UInt_t TSingleDecay::fGeneration {0}
private

Definition at line 253 of file TDecay.h.

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

◆ fParent

TSingleDecay* TSingleDecay::fParent {nullptr}
private

Definition at line 257 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 260 of file TDecay.h.

Referenced by TSingleDecay(), and TSingleDecay().