GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TSingleDecay Class Reference

Definition at line 111 of file TDecay.h.

Public Member Functions

 TSingleDecay ()
 
 TSingleDecay (UInt_t generation, TSingleDecay *parent, Double_t tlow=0, Double_t thigh=10)
 
 TSingleDecay (TSingleDecay *parent, Double_t tlow=0, Double_t thigh=10)
 
 ~TSingleDecay () override
 
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 (const Double_t &decayrate)
 
void FixDecayRate ()
 
void FixHalfLife (const Double_t &halflife)
 
void FixHalfLife ()
 
void FixIntensity (const Double_t &intensity)
 
void FixIntensity ()
 
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 ()
 
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

TDecayFit const * GetFitFunction () override
 
void SetChainId (Int_t id)
 
void SetDecayRateError (Double_t err)
 
void SetIntensityError (Double_t err)
 
void UpdateDecays ()
 

Private Attributes

Int_t fChainId
 
TSingleDecayfDaughter
 
TDecayFitfDecayFunc
 
Double_t fDetectionEfficiency
 
TSingleDecayfFirstParent
 
UInt_t fGeneration {0}
 
TSingleDecayfParent
 
TDecayFitfTotalDecayFunc
 
Int_t fUnId {0}
 

Static Private Attributes

static UInt_t fCounter = 0
 

Friends

class TDecay
 
class TDecayChain
 
class TDecayFit
 

#include <TDecay.h>

+ Inheritance diagram for TSingleDecay:
+ Collaboration diagram for TSingleDecay:

Constructor & Destructor Documentation

◆ TSingleDecay() [1/3]

TSingleDecay::TSingleDecay ( )
inline

Definition at line 118 of file TDecay.h.

◆ TSingleDecay() [2/3]

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

◆ TSingleDecay() [3/3]

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

◆ ~TSingleDecay()

TSingleDecay::~TSingleDecay ( )
override

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

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

Referenced by TSingleDecay().

◆ Draw()

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

Definition at line 354 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 120 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 360 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 367 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 455 of file TDecay.cxx.

References FixHalfLife(), and FixIntensity().

◆ FixDecayRate() [1/2]

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

Definition at line 169 of file TDecay.h.

References fDecayFunc, and UpdateDecays().

◆ FixDecayRate() [2/2]

void TSingleDecay::FixDecayRate ( )
inline

Definition at line 174 of file TDecay.h.

References fDecayFunc, GetDecayRate(), and UpdateDecays().

◆ FixHalfLife() [1/2]

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

Definition at line 159 of file TDecay.h.

References fDecayFunc, and UpdateDecays().

◆ FixHalfLife() [2/2]

void TSingleDecay::FixHalfLife ( )
inline

Definition at line 164 of file TDecay.h.

References fDecayFunc, GetHalfLife(), and UpdateDecays().

Referenced by Fix().

◆ FixIntensity() [1/2]

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

Definition at line 179 of file TDecay.h.

References fDecayFunc.

◆ FixIntensity() [2/2]

void TSingleDecay::FixIntensity ( )
inline

Definition at line 180 of file TDecay.h.

References fDecayFunc, and GetIntensity().

Referenced by Fix(), and TSingleDecay().

◆ GetChainId()

Int_t TSingleDecay::GetChainId ( ) const
inline

Definition at line 225 of file TDecay.h.

References fChainId.

◆ GetDaughterDecay()

TSingleDecay * TSingleDecay::GetDaughterDecay ( )

Definition at line 349 of file TDecay.cxx.

References fDaughter.

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

◆ GetDecayFunc()

const TDecayFit* TSingleDecay::GetDecayFunc ( ) const
inline

Definition at line 227 of file TDecay.h.

References fDecayFunc.

Referenced by SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayId()

Int_t TSingleDecay::GetDecayId ( ) const
inline

Definition at line 224 of file TDecay.h.

References fUnId.

Referenced by Print().

◆ GetDecayRate()

Double_t TSingleDecay::GetDecayRate ( ) const
inline

Definition at line 134 of file TDecay.h.

References fDecayFunc.

Referenced by FixDecayRate(), GetHalfLifeError(), SetTotalDecayParameters(), and UpdateDecays().

◆ GetDecayRateError()

Double_t TSingleDecay::GetDecayRateError ( ) const
inline

Definition at line 141 of file TDecay.h.

References fDecayFunc.

Referenced by GetHalfLifeError().

◆ GetDecayRateLimits()

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

Definition at line 339 of file TDecay.cxx.

References fDecayFunc.

◆ GetEfficiency()

Double_t TSingleDecay::GetEfficiency ( ) const
inline

Definition at line 136 of file TDecay.h.

References fDetectionEfficiency.

Referenced by ActivityFunc(), and Print().

◆ GetFitFunction()

TDecayFit const* TSingleDecay::GetFitFunction ( )
inlineoverrideprivatevirtual

Implements TVirtualDecay.

Definition at line 242 of file TDecay.h.

References fTotalDecayFunc, and SetTotalDecayParameters().

◆ GetGeneration()

UInt_t TSingleDecay::GetGeneration ( ) const
inline

Definition at line 129 of file TDecay.h.

References fGeneration.

Referenced by ActivityFunc(), and UpdateDecays().

◆ GetHalfLife()

Double_t TSingleDecay::GetHalfLife ( ) const
inline

Definition at line 130 of file TDecay.h.

References fDecayFunc.

Referenced by FixHalfLife(), GetHalfLifeError(), and Print().

◆ GetHalfLifeError()

Double_t TSingleDecay::GetHalfLifeError ( ) const
inline

Definition at line 137 of file TDecay.h.

References GetDecayRate(), GetDecayRateError(), and GetHalfLife().

Referenced by Print().

◆ GetHalfLifeLimits()

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

Definition at line 321 of file TDecay.cxx.

References fDecayFunc.

◆ GetIntensity()

Double_t TSingleDecay::GetIntensity ( ) const
inline

Definition at line 135 of file TDecay.h.

References fDecayFunc.

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

◆ GetIntensityError()

Double_t TSingleDecay::GetIntensityError ( ) const
inline

Definition at line 142 of file TDecay.h.

References fDecayFunc.

Referenced by Print().

◆ GetIntensityLimits()

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

Definition at line 334 of file TDecay.cxx.

References fDecayFunc, and fFirstParent.

◆ GetLineColor()

Color_t TSingleDecay::GetLineColor ( ) const
inline

Definition at line 199 of file TDecay.h.

References fTotalDecayFunc.

◆ GetParentDecay()

TSingleDecay * TSingleDecay::GetParentDecay ( )

Definition at line 344 of file TDecay.cxx.

References fParent.

Referenced by ActivityFunc(), and TSingleDecay().

◆ GetTotalDecayFunc()

const TDecayFit* TSingleDecay::GetTotalDecayFunc ( )
inline

Definition at line 228 of file TDecay.h.

References fTotalDecayFunc, and SetTotalDecayParameters().

◆ Print()

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

◆ Release()

void TSingleDecay::Release ( )

Definition at line 461 of file TDecay.cxx.

References ReleaseHalfLife(), and ReleaseIntensity().

◆ ReleaseDecayRate()

void TSingleDecay::ReleaseDecayRate ( )
inline

Definition at line 188 of file TDecay.h.

References fDecayFunc.

◆ ReleaseHalfLife()

void TSingleDecay::ReleaseHalfLife ( )
inline

Definition at line 187 of file TDecay.h.

References fDecayFunc.

Referenced by Release().

◆ ReleaseIntensity()

void TSingleDecay::ReleaseIntensity ( )
inline

Definition at line 189 of file TDecay.h.

References fDecayFunc.

Referenced by Release().

◆ SetChainId()

void TSingleDecay::SetChainId ( Int_t  id)
inlineprivate

Definition at line 217 of file TDecay.h.

References fChainId.

◆ SetDaughterDecay()

void TSingleDecay::SetDaughterDecay ( TSingleDecay daughter)
inline

Definition at line 220 of file TDecay.h.

References fDaughter.

Referenced by TSingleDecay().

◆ SetDecayId()

void TSingleDecay::SetDecayId ( Int_t  Id)
inline

Definition at line 223 of file TDecay.h.

References fUnId.

◆ SetDecayRate()

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

Definition at line 148 of file TDecay.h.

References fDecayFunc, and UpdateDecays().

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

◆ SetDecayRateError()

void TSingleDecay::SetDecayRateError ( Double_t  err)
inlineprivate

Definition at line 212 of file TDecay.h.

References fDecayFunc.

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

◆ SetDecayRateLimits()

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

Definition at line 315 of file TDecay.cxx.

References fDecayFunc, and UpdateDecays().

◆ SetEfficiency()

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

Definition at line 158 of file TDecay.h.

References fDetectionEfficiency.

◆ SetHalfLife()

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

Definition at line 143 of file TDecay.h.

References fDecayFunc, and UpdateDecays().

◆ SetHalfLifeLimits()

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

Definition at line 298 of file TDecay.cxx.

References fDecayFunc, and UpdateDecays().

◆ SetIntensity()

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

Definition at line 153 of file TDecay.h.

References fDecayFunc, and UpdateDecays().

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

◆ SetIntensityError()

void TSingleDecay::SetIntensityError ( Double_t  err)
inlineprivate

Definition at line 213 of file TDecay.h.

References fDecayFunc.

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

◆ SetIntensityLimits()

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

Definition at line 309 of file TDecay.cxx.

References fDecayFunc, fFirstParent, and UpdateDecays().

◆ SetLineColor()

void TSingleDecay::SetLineColor ( Color_t  color)
inline

Definition at line 198 of file TDecay.h.

References fTotalDecayFunc.

◆ SetMaximum()

void TSingleDecay::SetMaximum ( Double_t  max)
inline

Definition at line 205 of file TDecay.h.

References fDecayFunc, and fTotalDecayFunc.

◆ SetMinimum()

void TSingleDecay::SetMinimum ( Double_t  min)
inline

Definition at line 200 of file TDecay.h.

References fDecayFunc, and fTotalDecayFunc.

◆ SetName()

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

Definition at line 237 of file TDecay.cxx.

References fDecayFunc, fGeneration, and fTotalDecayFunc.

Referenced by TSingleDecay().

◆ SetParentDecay()

void TSingleDecay::SetParentDecay ( TSingleDecay parent)
inline

Definition at line 221 of file TDecay.h.

References fParent.

◆ SetRange()

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

Definition at line 467 of file TDecay.cxx.

References fDecayFunc, and fTotalDecayFunc.

Referenced by TSingleDecay().

◆ SetTotalDecayParameters()

void TSingleDecay::SetTotalDecayParameters ( )

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

Definition at line 244 of file TDecay.cxx.

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

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

◆ UpdateDecays()

void TSingleDecay::UpdateDecays ( )
private

Friends And Related Function 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().

Member Data Documentation

◆ fChainId

Int_t TSingleDecay::fChainId
private

Definition at line 258 of file TDecay.h.

Referenced by GetChainId(), and SetChainId().

◆ fCounter

UInt_t TSingleDecay::fCounter = 0
staticprivate

Definition at line 257 of file TDecay.h.

Referenced by TSingleDecay().

◆ fDaughter

TSingleDecay* TSingleDecay::fDaughter
private

Definition at line 254 of file TDecay.h.

Referenced by GetDaughterDecay(), Print(), and SetDaughterDecay().

◆ fDecayFunc

◆ fDetectionEfficiency

Double_t TSingleDecay::fDetectionEfficiency
private

Definition at line 250 of file TDecay.h.

Referenced by GetEfficiency(), and SetEfficiency().

◆ fFirstParent

TSingleDecay* TSingleDecay::fFirstParent
private

◆ fGeneration

UInt_t TSingleDecay::fGeneration {0}
private

Definition at line 249 of file TDecay.h.

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

◆ fParent

TSingleDecay* TSingleDecay::fParent
private

Definition at line 253 of file TDecay.h.

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

◆ fTotalDecayFunc

◆ fUnId

Int_t TSingleDecay::fUnId {0}
private

Definition at line 256 of file TDecay.h.

Referenced by GetDecayId(), SetDecayId(), and TSingleDecay().