library: libTreePlayer #include "TTreeFormulaManager.h"

# TTreeFormulaManager

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

## class TTreeFormulaManager : public TObject

| Inheritance Chart:
`TObject`
| <- | `TTreeFormulaManager` |

        private:

                               TTreeFormulaManager(const TTreeFormulaManager&)
                               ~TTreeFormulaManager()
          TTreeFormulaManager& operator=(const TTreeFormulaManager&)

        protected:

          virtual void AddVarDims(Int_t virt_dim)
          virtual void CancelDimension(Int_t virt_dim)
          virtual void EnableMultiVarDims()
          virtual void UpdateUsedSize(Int_t& virt_dim, Int_t vsize)

        public:

                              TTreeFormulaManager()
                 virtual void Add(TTreeFormula*)
               static TClass* Class()
                virtual Int_t GetMultiplicity() const
                virtual Int_t GetNdata(Bool_t forceLoadDim = kFALSE)
              virtual TClass* IsA() const
               virtual Bool_t Notify()
                 virtual void Remove(TTreeFormula*)
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)
               virtual Bool_t Sync()
                 virtual void UpdateFormulaLeaves()

### Data Members

        private:

          TObjArray fFormulas
              Int_t fMultiplicity       Indicator of the variability of the formula
             Bool_t fMultiVarDim        True if one of the variable has 2 variable size dimensions.
              Int_t fNdata              ! Last value calculated by GetNdata
              Int_t fCumulUsedSizes[6]  Accumulated size of lower dimensions as seen for this entry
           TArrayI* fCumulUsedVarDims   fCumulUsedSizes(1) for multi variable dimensions case
              Int_t fUsedSizes[6]       Actual size of the dimensions as seen for this entry.
           TArrayI* fVarDims[6]         List of variable sizes dimensions.
              Int_t fVirtUsedSizes[6]   Virtual size of lower dimensions as seen for this formula
             Bool_t fNeedSync           Indicate whether a new formula has been added since the last synchronization

## Class Description

         A TreeFormulaManager is used to coordinate one or more TTreeFormula objecs

      In particular it makes sure that the dimensions and size of all the formulas
      is properly coordinated.

TTreeFormulaManager() : TObject()

    *-*-*-*-*-*-*-*-*-*-*Tree FormulaManger default constructor*-*-*-*-*-*-*-*-*-*
    *-*                  ======================================

~TTreeFormulaManager()

    *-*-*-*-*-*-*-*-*-*-*Tree FormulaManager default destructor*-*-*-*-*-*-*-*-*-*
    *-*                  ======================================

void Remove(TTreeFormula* adding)

     Remove a formula from this manager

void Add(TTreeFormula* adding)

     Add a new formula to the list of formulas managed
     The manager of the formula will be changed and the old one will be deleted
     if it is empty.

void AddVarDims(Int_t virt_dim)

     Add a variable dimension

void CancelDimension(Int_t virt_dim)

     Cancel a dimension.  This is usually called when an out-of-bounds index
     is used.

void EnableMultiVarDims()

Int_t GetNdata(Bool_t forceLoadDim)

    *-*-*-*-*-*-*-*Return number of available instances in the formulas*-*-*-*-*-*
    *-*            ====================================================

Bool_t Sync()

void UpdateFormulaLeaves()

     this function could be called TTreePlayer::UpdateFormulaLeaves, itself
     called by TChain::LoadTree when a new Tree is loaded.
     Because Trees in a TChain may have a different list of leaves, one
     must update the leaves numbers in the TTreeFormula used by the TreePlayer.

void UpdateUsedSize(Int_t &virt_dim, Int_t vsize)

### Inline Functions

            TTreeFormulaManager& operator=(const TTreeFormulaManager&)
             TTreeFormulaManager TTreeFormulaManager()
                           Int_t GetMultiplicity() const
                          Bool_t Notify()
                         TClass* Class()
                         TClass* IsA() const
                            void ShowMembers(TMemberInspector& insp, char* parent)
                            void Streamer(TBuffer& b)
                            void StreamerNVirtual(TBuffer& b)

Author: Philippe Canal 20/03/02
Last update: root/treeplayer:$Name: $:$Id: TTreeFormulaManager.cxx,v 1.6 2004/08/12 04:33:45 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers and al. *