TTreeFormula


class description - source file - inheritance tree

class TTreeFormula : public TFormula


    protected:
void DefineDimensions(const char* size, Int_t code, Int_t& virt_dim) public:
TTreeFormula TTreeFormula() TTreeFormula TTreeFormula(const char* name, const char* formula, TTree* tree) TTreeFormula TTreeFormula(TTreeFormula&) virtual void ~TTreeFormula() static TClass* Class() virtual Int_t DefinedVariable(TString& variable) virtual Double_t EvalInstance(Int_t i = 0) const TDataMember* GetDataMember(Int_t code) const virtual TLeaf* GetLeaf(Int_t n) const TMethodCall* GetMethodCall(Int_t code) const virtual Int_t GetMultiplicity() const virtual Int_t GetNcodes() const virtual Int_t GetNdata() virtual Double_t GetValueLeafObject(Int_t i, TLeafObject* leaf) const virtual TClass* IsA() const virtual char* PrintValue(Int_t mode = 0) const virtual void SetTree(TTree* tree) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

protected:
TTree* fTree ! pointer to Tree Short_t fCodes[200] List of leaf numbers referenced in formula Int_t fNcodes Number of leaves referenced in formula Int_t fMultiplicity Number of array elements in leaves in case of a TClonesArray Int_t fInstance Instance number for GetValue Int_t fNindex Size of fIndex Int_t* fIndex [fNindex]array of instances numbers TObjArray fLeaves List of leaf used in this formula. TObjArray fDataMembers List of leaf data members TObjArray fMethods List of leaf method calls Int_t fNdimensions[200] Number of array dimensions in each leaf Int_t fCumulSizes[200][5] Accumulated size of lower dimensions for each leaf Int_t fUsedSizes[6] Actual size of the dimensions as seen for this entry. Int_t fCumulUsedSizes[6] Accumulated size of lower dimensions as seen for this entry. Int_t fVirtUsedSizes[6] Virtual size of lower dimensions as seen for this formula Int_t fIndexes[200][5] Index of array selected by user for each leaf TTreeFormula* fVarIndexes[200][5] Pointer to a variable index. public:
static const enum TObject:: kIsCharacter

Class Description

     A TreeFormula is used to pass a selection expression
     to the Tree drawing routine. See TTree::Draw

  A TreeFormula can contain any arithmetic expression including
  standard operators and mathematical functions separated by operators.
  Examples of valid expression:
          "x<y && sqrt(z)>3.2"


TTreeFormula(): TFormula()
*-*-*-*-*-*-*-*-*-*-*Tree Formula default constructor*-*-*-*-*-*-*-*-*-*
*-*                  ================================

TTreeFormula(const char *name,const char *expression, TTree *tree) :TFormula()
*-*-*-*-*-*-*-*-*-*-*Normal Tree Formula constructor*-*-*-*-*-*-*-*-*-*-*
*-*                  ===============================


~TTreeFormula()
*-*-*-*-*-*-*-*-*-*-*Tree Formula default destructor*-*-*-*-*-*-*-*-*-*-*
*-*                  =================================

void DefineDimensions(const char *info, Int_t code, Int_t& virt_dim)
 We assume that there are NO white spaces in the info string

Int_t DefinedVariable(TString &name)
*-*-*-*-*-*Check if name is in the list of Tree/Branch leaves*-*-*-*-*
*-*        ==================================================

   This member function redefines the function in TFormula
   If a leaf has a name corresponding to the argument name, then
   returns a new code.
   A TTreeFormula may contain more than one variable.
   For each variable referenced, the pointers to the corresponding
   branch and leaf is stored in the object arrays fBranches and fLeaves.

   name can be :
      - Leaf_Name (simple variable or data member of a ClonesArray)
      - Branch_Name.Leaf_Name
      - Branch_Name.Method_Name
      - Leaf_Name[index]
      - Branch_Name.Leaf_Name[index]
      - Branch_Name.Leaf_Name[index1]
      - Branch_Name.Leaf_Name[][index2]
      - Branch_Name.Leaf_Name[index1][index2]
   New additions:
      - Branch_Name.Leaf_Name[OtherLeaf_Name]
      - Branch_Name.Datamember_Name
      - '.' can be replaced by '->'
   and
      - Branch_Name[index1].Leaf_Name[index2]
      - Leaf_name[index].Action().OtherAction(param)
      - Leaf_name[index].Action()[val].OtherAction(param)

Double_t EvalInstance(Int_t instance) const
*-*-*-*-*-*-*-*-*-*-*Evaluate this treeformula*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  =========================


TDataMember* GetDataMember(Int_t code) const
*-*-*-*-*-*-*-*Return DataMember corresponding to code*-*-*-*-*-*
*-*            =======================================

  function called by TLeafObject::GetValue
  with the value of fIndex computed in TTreeFormula::DefinedVariable

TLeaf* GetLeaf(Int_t n) const
*-*-*-*-*-*-*-*Return leaf corresponding to serial number n*-*-*-*-*-*
*-*            ============================================


TMethodCall* GetMethodCall(Int_t code) const
*-*-*-*-*-*-*-*Return methodcall corresponding to code*-*-*-*-*-*
*-*            =======================================

  function called by TLeafObject::GetValue
  with the value of fIndex computed in TTreeFormula::DefinedVariable

Int_t GetNdata()
*-*-*-*-*-*-*-*Return number of data words in the leaf*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*Changed to Return number of available instances in the formula*-*-*-*-*-*-*-*
*-*            =======================================


Double_t GetValueLeafObject(Int_t i, TLeafObject *leaf) const
*-*-*-*-*-*-*-*Return result of a leafobject method*-*-*-*-*-*-*-*
*-*            ====================================


char* PrintValue(Int_t mode) const
*-*-*-*-*-*-*-*Return value of variable as a string*-*-*-*-*-*-*-*
*-*            ====================================

      mode = -2 : Print line with ***
      mode = -1 : Print column names
      mode = 0  : Print column values

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



Inline Functions


               Int_t GetMultiplicity() const
               Int_t GetNcodes() const
                void SetTree(TTree* tree)
             TClass* Class()
             TClass* IsA() const
                void ShowMembers(TMemberInspector& insp, char* parent)
                void StreamerNVirtual(TBuffer& b)
        TTreeFormula TTreeFormula(TTreeFormula&)


Author: Rene Brun 19/01/96
Last update: root/treeplayer:$Name: $:$Id: TTreeFormula.cxx,v 1.26 2001/03/05 22:32:06 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - 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.