12 #ifndef ROOT_TTreeFormulaManager
13 #define ROOT_TTreeFormulaManager
30 class TTreeFormulaManager :
public TObject {
38 Int_t fCumulUsedSizes[kMAXFORMDIM+1];
39 TArrayI *fCumulUsedVarDims;
41 Int_t fUsedSizes[kMAXFORMDIM+1];
42 TArrayI *fVarDims[kMAXFORMDIM+1];
43 Int_t fVirtUsedSizes[kMAXFORMDIM+1];
47 friend class TTreeFormula;
51 TTreeFormulaManager(
const TTreeFormulaManager&) =
delete;
52 TTreeFormulaManager& operator=(
const TTreeFormulaManager&) =
delete;
56 virtual void AddVarDims(Int_t virt_dim);
57 virtual void CancelDimension(Int_t virt_dim);
58 virtual void EnableMultiVarDims();
59 virtual void UpdateUsedSize(Int_t &virt_dim, Int_t vsize);
62 TTreeFormulaManager();
63 ~TTreeFormulaManager();
65 virtual void Add(TTreeFormula*);
66 virtual Int_t GetMultiplicity()
const {
return fMultiplicity;}
67 virtual Int_t GetNdata(Bool_t forceLoadDim = kFALSE);
68 virtual Bool_t Notify() { UpdateFormulaLeaves();
return kTRUE; }
69 virtual void Remove(TTreeFormula*);
70 virtual Bool_t Sync();
71 virtual void UpdateFormulaLeaves();
73 ClassDef(TTreeFormulaManager,0)
77 #endif // ROOT_TTreeFormulaManager