#include "hhyplist.h"

HHypList


class description - source file - inheritance tree (.pdf)

class HHypList : public TObject

Inheritance Chart:
TObject
<-
HHypList

    public:
HHypList() HHypList(HHypList* HypList, Int_t IdxHypKine = -1) HHypList(HHypComb* HypComb, Int_t IdxHypKine = -1) HHypList(Int_t Idx_HypComb, Int_t IdxHypKine = -1) HHypList(const HHypList&) ~HHypList() static HCategory* buildLinearCat(Text_t* Calssname) static TClass* Class() virtual void Clear(Option_t* opt) Bool_t CombIterator() Bool_t CombIteratorReset() Float_t getBeta(char* name, Int_t num) Float_t getBeta(Int_t Icomb, Int_t Ipart) Float_t getBeta(Int_t Ipart) Int_t getIdxHypComb() Int_t getIdxHypKine() Int_t getIdxPidPart(Int_t Icomb, Int_t Ipart) Int_t getIdxPidPart(Int_t Ipart) Int_t getIdxPidPart(char* name, Int_t) Bool_t getIterStatus() Int_t getListId() TVector3 getMomentum(Int_t Ipart) TVector3 getMomentum(Int_t Icomb, Int_t Ipart) Int_t getNcomb() Int_t getNpart() Int_t getOrder() HHypList* getParent() Int_t getPid(Int_t Icomb, Int_t Ipart) Int_t getPid(Int_t Ipart) HPidParticle* getPidParticle(Int_t Ipart) Float_t getProbAlg(Int_t Icomb) Float_t getProbAlg() Float_t getProbComb(Int_t Icomb) TLorentzVector getTLorentzVector(Int_t Icomb, Int_t Ipart) TLorentzVector getTLorentzVector(char*, Int_t) TLorentzVector getTLorentzVector(Int_t Ipart) Bool_t getUserValue(Int_t valueID, Float_t& value, Int_t my_iter = -1) Bool_t initcopyMomentum() virtual TClass* IsA() const Bool_t Join(HHypList* addthis) void KeepBestComb() HHypList& operator=(const HHypList&) Bool_t prepareHypList() Bool_t print() Bool_t ReadNumberedUserValues(Int_t i, Int_t& my_iter, Int_t& valueID, Float_t& value) void removeComb() Bool_t resetProbAlg(Float_t Prob) void Restore() Bool_t setIdxHypComb(Int_t Idx) Bool_t setIdxHypKine(Int_t Idx) Bool_t setListId(Int_t Id_list) Bool_t setMomentum(Int_t Icomb, Int_t Ipart, TVector3 vect) Bool_t setMomentum(Int_t Ipart, TVector3 vect) Bool_t setMomentum(char* name, Int_t num, TVector3 vect) Bool_t setProbAlg(Int_t Icomb, Float_t Prob) void setUserValue(Int_t valueID, Float_t value, Int_t my_iter = -1) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Bool_t writeUserValues()

Data Members

    private:
Int_t idx_hypkine index of HHypKine container ( -1 -> don't use kine ) Int_t idx_hypcomb index of HHypComb container Int_t idx_hyplist index of "parent" HHypList container ( -1 -> no parent ) Int_t id_list channel list ID (see hypchannel) TArrayF fprobalg probability calculated by algorythm for given combination TArrayF fvaluealg storing USER defined values (up to nvaluealg) TArrayI fuseralg storing USER defined values: row0->ncomb, row1->valueID (up to 2*nvaluealg) Int_t nvaluealg number of columns of fvaluealg Float_t c_fvaluealg[500] !caching table, avoids delete/new op. of TArray Int_t c_fuseralg[1000] !caching table Int_t c_nvaluealg ! number of columns of c_fvaluealg HHypComb* p_hypcomb ! pointer to HHypComb container (! -> don't strem p_hypcomb) Int_t comb_iter ! for the iterator Bool_t status ! exit status Bool_t iterstatus ! exit status

Class Description

///////////////////////////////////////////////////////////////////sea

 HHypList

 container class for HADES EVENT HYPOTHESIS

       This is the MAIN container for the HYP framework

 Class keeps HHypComb and table of probabilities (given by algorithms)
 coresponding to each combination of particles
 (index to HHypComb and fprobalg[] )
 HHypList object is created for every new algorithm

 User Alg's should use the list and NEVER hypcomb or hypkine
 -> This is the front-end class for all HYP actions!



HHypList(HHypList * OldList, Int_t IdxHypKine)
 Constructor
 ===========

 Input parameters:
       OldList    : pointer to the parent HHypList object.
                    New HHypList inherits HHypComb container from OldList
                    also fprobalg values are copied
       IdxHypKine : Index to HHypKine container; put -1 to have the same as the OldList has
                    (if does not have the new HHypList will not have too)


HHypList(HHypComb * HypComb, Int_t IdxHypKine)
 Constructor
 ===========

 Input parameters:
       HypComb    : pointer to the HHypComb object.
                    New HHypList base on the HypComb
       IdxHypKine : Index to HHypKine container; put -1 to have the same as the OldList has
                    (if does not have the new HHypList will not have too)

HHypList(Int_t Idx_HypComb, Int_t IdxHypKine)
 Constructor
 ===========

 Input parameters:
             Idx_HypComb : index to HHypComb container
             IdxHypKine  : index to HHypKine container
             see previous constructors

Bool_t Join(HHypList *addme)

void Clear(Option_t *opt)
 opt -> for future :)
 set size of 3 TArray objects to 0

void Restore(void)
restore pointer after reading from root file

Bool_t setListId(Int_t Id_list)
 set id of the HHypList

Int_t getListId()
 returns id of the HHypList

HHypList* getParent()
 returns index of parent HHypList if exist
 if does not returns NULL

Bool_t prepareHypList()
 set variables : Ncomb, fprobalg size
 copy fprobalg from old HHypComb container to the actual one

void setUserValue(Int_t valueID, Float_t value, Int_t my_iter)
 set user value

Bool_t getUserValue(Int_t valueID, Float_t & value, Int_t my_iter)
This returns user values from this list or any parent list
Int_t valueID: see hypinfodef.h
Float_t & value: return user value
Int_t my_iter: Iteration (comb_iter by default, to be used in Iterator)
return Bool_t: success or not...

Bool_t ReadNumberedUserValues(Int_t i,Int_t &my_iter,Int_t &valueID,Float_t &value)
 now the arrayed vars

Bool_t writeUserValues(void)
 copy values from c_fuseralg to fuseralg
         and from c_fvaluealg to fuseralg
 from "cached" variables to dynamic Arrays

HPidParticle* getPidParticle(Int_t Ipart)
 returns HPidParticle for certain particle position
 iterates over combination !!!

Int_t getNcomb()
 returns number of possible combination

Int_t getNpart()
 returns number of particles in each single combination

Float_t getProbComb(Int_t Icomb)
 returns probability of given combination

Int_t getOrder(void)
 returns integer from 1 to NConb
 1 - for the combination with the highest probability
 Note: same Probability will result in same order number!!!

TLorentzVector getTLorentzVector(Int_t Icomb, Int_t Ipart)
 returns TLorentzVector for given cell
      x,y,z momentum components are taken from HPidParticle object
      mass taken according to assumed pid of the particle
     if kine container exist take momenta from this container

TLorentzVector getTLorentzVector(Int_t num)
 returns TLorentzVector for given num (number of particle)
 iterates over combinations
      x,y,z momentum components are taken from HPidParticle object
      mass taken according to assumed pid of the particle
      if kine container exist take momenta from this container

TLorentzVector getTLorentzVector(char *name, Int_t num)
 returns TLorentzVector for given name of particle (i.e "p")
 num is number in order : use 1 for first "p" , 2 for secound ....
 iterates over combinations
      x,y,z momentum components are taken from HPidParticle object
      mass taken according to assumed pid of the particle
      if kine container exist take momenta from this container

Int_t getIdxPidPart(Int_t Icomb, Int_t Ipart)
 returns PidParticle object index for certain cell

Int_t getIdxPidPart(Int_t Ipart)
 returns index to HPidParticle for certain particle position
 iterates over combination

Int_t getIdxPidPart(char *name, Int_t num)
 returns index to HPidParticle for given particle name and number in order
 iterates over combination

Bool_t initcopyMomentum(void)
 Inits (and if necs. copies) momentum
 This fcuntion should be called at the beginning of every
 algo which uses setMomentum
 if not there is the *possibility* that one algo is
 overwriting the momentum another algo might need

Bool_t setMomentum(Int_t Icomb, Int_t Ipart, TVector3 vect)
 set momentum of particle for given cell (in HHypKine)
 vect=(px,py,pz) (HHypKine is created if does not exist)

Bool_t setMomentum(Int_t Ipart, TVector3 vect)
 set momentum of particle for given particle number (in HHypKine)
 vect=(px,py,pz) (HHypKine is created if does not exist)
 iterate over combinations

Bool_t setMomentum(char *name, Int_t num, TVector3 vect)
 set momentum of particle for given particle name (in HHypKine) and number in order
 i.e num=1 for first "p" , num=2 for secound "p"
 vect=(px,py,pz) (HHypKine is created if does not exist)
 iterate over combinations

TVector3 getMomentum(Int_t Icomb, Int_t Ipart)
 return TVector3 (px,py,pz) - 3-momentum components
 if HHypKine exist take TVector3 from HHypKine

TVector3 getMomentum(Int_t num)
 return TVector3 (px,py,pz) - 3-momentum components
 if HHypKine exist take TVector3 from HHypKine
 num : x position of paticle in HypComb table
 iterate over combination

Float_t getBeta(char *name, Int_t num)
 returns beta for given name of particle (i.e "p")
 num is number in order : use 1 for first "p" , 2 for secound ....
 iterates over combinations

Float_t getBeta(Int_t Icomb, Int_t Ipart)
 return beta of given particle according to applied algorithm
 for particle on position Ipart in combination Icomb

Float_t getBeta(Int_t num)
 return beta of given particle according to applied algorithm
 for particle on position Ipart
 iterate over combination

Bool_t setProbAlg(Int_t Icomb, Float_t Prob)
 set probability Prob given by algorithm for combination number Icomb

Float_t getProbAlg(Int_t Icomb)
 returns probability given by algotrythm for  combination number Icomb

Float_t getProbAlg(void)
 returns probability given by algorythm for combination
 iterate over combination

void removeComb(void)
 Use this function inside a selector to remove current combination.

void KeepBestComb(void)
 Remove all combinations, keep only the best one

Bool_t resetProbAlg(Float_t Prob)
 This function sets a new probability inside the Iterator()
 [Ingo]

Int_t getPid(Int_t Icomb, Int_t Ipart)
 returns assumed pid for given cell

Int_t getPid(Int_t num)
 returns assumed pid for given num (number of particle)
 iterates over combinations

Bool_t setIdxHypComb(Int_t Idx)
 set index to the HHypComb

Int_t getIdxHypComb()
 returns index to the HHypComb

Bool_t setIdxHypKine(Int_t Idx)
 set index to the HHypKine

Int_t getIdxHypKine()
 returns index to the HHypKine

Bool_t CombIteratorReset(void)
 reset comb_iter

Bool_t getIterStatus(void)

Bool_t CombIterator(void)
 This is the only legal method how to scan the valid
 combinations. A combination is valid, if probAlg is equal or more
 than zero. It is unvalid, if probAlg is SMALLER than zero.

Bool_t print()
 use while debuging to print HHypComb table with indexes and pids

HCategory* buildLinearCat(Text_t * classname)
 build linear category

void Streamer(TBuffer & R__b)
 Stream an object of class HHypList.



Inline Functions


               void ~HHypList()
           HHypList HHypList(Int_t Idx_HypComb, Int_t IdxHypKine = -1)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void StreamerNVirtual(TBuffer& b)
           HHypList HHypList(const HHypList&)
          HHypList& operator=(const HHypList&)


Last update: 09.02.2005 by Marcin Wisniowski


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.