(UNKNOWN PRODUCT) » INCLUDE » PDynamicData

class PDynamicData: public TObject

  Pluto Dynamic Data Wrapper

  Provides wrapper functions to deal with coupled channel
  calculations


                             Author:  IF
                             Written: 23.7.2007
                             Revised:


Function Members (Methods)

public:
virtual~PDynamicData()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
boolCheckSCAbort(Int_t didx)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidDumpPChannels()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TH1*GetBatchHistogram(const char* name)
PParticle*GetBatchParticle(const char* name, Int_t make_val = 1)
doubleGetDecayBR(int, double)
PChannelModel*GetDecayModel(Int_t didx)
PChannelModel*GetDecayModelByKey(Int_t key)
PChannelModel*GetDecayModelByKey(Int_t key, Int_t defkey)
Double_tGetDecayPartialWidth(Double_t mass, Int_t didx)
Double_tGetDecaySCFactor(Int_t didx)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
intGetParticleDepth(const int& id, int flag = 0)
intGetParticleDepth(const char* id, int i = 0)
doubleGetParticleLife(const int& id, double m = 0, int idx = -1)
doubleGetParticleLife(const char* id, double m = 0, int idx = -1)
PChannelModel*GetParticleModel(Int_t pid)
Double_tGetParticleScalingFactor(Int_t didx)
PChannelModel*GetParticleSecondaryModel(const char* name, const char* modelname)
Double_tGetParticleTotalWeight(Double_t mass, Int_t pid, Int_t didx = -1)
Double_tGetParticleTotalWidth(Double_t mass, Int_t pid)
Double_tGetParticleTotalWidthSum(Double_t mass, Int_t id, Int_t flag = 0)
TObject**GetPChannels(Int_t* num)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
voidListDecayBR(const Char_t* pid, double mass)
voidListDecayBR(int pid, double mass)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
PDynamicData&operator=(const PDynamicData&)
PDynamicData&operator=(PDynamicData&&)
virtual voidTObject::Paint(Option_t* option = "")
PDynamicData()
PDynamicData(PDynamicData&&)
PDynamicData(const PDynamicData&)
intPickDecayChannel(const int&, const double&)
intPickDecayChannel(const char* id, const double& m)
intPickDecayChannel(const int&, const double&, int*)
intPickDecayChannel(const char* id, const double& m, int* array)
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
voidPrintDecayByKey(int key)
voidPrintParticle(int pid)
voidPrintParticleByKey(int key)
voidPushPChannel(TObject* obj)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
Bool_tSetBatchHistogram(const char* name, TH1* histo)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
boolSetDecayModel(Int_t didx, PChannelModel* model)
boolSetDecayModelByKey(Int_t didx, PChannelModel* model)
voidSetDecaySCFactor(Int_t didx, Double_t factor)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParticleScalingFactor(Int_t didx, Double_t factor)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
private:
char*c_result
Double_t*d_result
Int_tdidx_param
Int_tenhance_br_param
Int_t*i_result
Int_tlink_param
Int_tmodel_param
Int_tname_param
Int_tnum_pchannels
TObject*pchannel_list[10000]list of all created PChannels for bookkeeping
Int_tpid_param
Int_tpnmodes_param
Int_tsccount_param
Int_tscfactor_param
TObject*t_result

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

PDynamicData()
Double_t GetDecayPartialWidth(Double_t mass, Int_t didx)
returns the partial decay width of the decay channel "didx"
for a given "mass"
If no primary channel model has been found
return the static width
double GetParticleTotalWidthSum(Double_t mass, Int_t id, Int_t flag = 0)
 Total decay width by pid & invariant mass (GeV/c^2).

 For most purposes GetParticleTotalWidth may be used for the total width.
 GetParticleTotalWidthSum should be used instead only for sampling BR's.
 Due to roundoff error in the interpolation, Width() returns a value
 that differs slightly from the sum of the partial widths Width1().
 As a result, small branching ratios (e.g. electromagnetic processes)
 may never be sampled if Width() is used. For this reason, if a BR is
 requested, it is best to calculate the total width explicitly by
 summing the partial widths for any given mass.

 flag=1: take into account only hadronic decays
double GetDecayBR(int , double )
 returns branching ratio by mode index and mass (GeV/c^2)
void ListDecayBR(int pid, double mass)
 list branching ratios of particle id for mass m
int PickDecayChannel(const int& , const double& )
 returns the index of a decay mode for particle pid=id of mass m (GeV/c**2)
 selected randomly, consistent with the branching ratios
int PickDecayChannel(const int& , const double& , int* )
 returns the number and pids of the decay products for the decay
 of particle pid=id of mass m (GeV/c**2), via a mode selected
 randomly, consistent with the branching ratios
 In addition, it does not hurt to return the index (IF)
Double_t GetParticleScalingFactor(Int_t didx)
void SetParticleScalingFactor(Int_t didx, Double_t factor)
Double_t GetDecaySCFactor(Int_t didx)
void SetDecaySCFactor(Int_t didx, Double_t factor)
bool CheckSCAbort(Int_t didx)
to stop endless loops
PChannelModel * GetDecayModel(Int_t didx)
returns the primary decay model
PChannelModel * GetDecayModelByKey(Int_t key)
returns the primary decay model
PChannelModel * GetDecayModelByKey(Int_t key, Int_t defkey)
returns the secondary decay model
PChannelModel * GetParticleModel(Int_t pid)
returns the primary particle model
PChannelModel * GetParticleSecondaryModel(const char* name, const char* modelname)
Double_t GetParticleTotalWidth(Double_t mass, Int_t pid)
returns the particle width if a models exists, if not the static
width
Double_t GetParticleTotalWeight(Double_t mass, Int_t pid, Int_t didx = -1)
return the mass-dependent width if a model exists
no mode: use the fixed Breit-Wigner with the total width
bool SetDecayModel(Int_t didx, PChannelModel* model)
bool SetDecayModelByKey(Int_t didx, PChannelModel* model)
int GetParticleDepth(const int& id, int flag = 0)
 Returns the total number of embedded recursive decays
 (TDepth if flag=0) or the number of embedded recursive
 hadronic decays (HDepth if flag=1).
 The default value 0 means the index has not been accessed yet.
 Zero depth corresponds to index -1.
void PrintParticle(int pid)
void PrintParticleByKey(int key)
void PrintDecayByKey(int key)
PParticle * GetBatchParticle(const char* name, Int_t make_val = 1)
TH1 * GetBatchHistogram(const char* name)
Bool_t SetBatchHistogram(const char* name, TH1* histo)
PDynamicData()
void ListDecayBR(const Char_t* pid, double mass)
 branching ratio by mode index & mass (GeV/c^2)
int PickDecayChannel(const int& , const double& )
 list branching ratios by particle id & mass (GeV/c^2)
int PickDecayChannel(const char* id, const double& m)
 decay index for particle pid of given mass (GeV/c**2),
 randomly selected consistent with the branching ratios
int GetParticleDepth(const int& id, int flag = 0)
double GetParticleLife(const int& id, double m = 0, int idx = -1)
 mean life
 Arguments: 1. id=particle id
            2. m=mass (GeV/c**2)
            3. idx=decay-mode index
double GetParticleLife(const char* id, double m = 0, int idx = -1)
 as above, by particle name
void PushPChannel(TObject* obj)
TObject ** GetPChannels(Int_t* num)
void DumpPChannels(void)