ROOT » TREE » TREEPLAYER » TTreeFormula

class TTreeFormula: public ROOT::v5::TFormula


 TTreeFormula now relies on a variety of TFormLeafInfo classes to handle the
 reading of the information.  Here is the list of theses classes:
   TFormLeafInfo
   TFormLeafInfoDirect
   TFormLeafInfoNumerical
   TFormLeafInfoClones
   TFormLeafInfoCollection
   TFormLeafInfoPointer
   TFormLeafInfoMethod
   TFormLeafInfoMultiVarDim
   TFormLeafInfoMultiVarDimDirect
   TFormLeafInfoCast

 The following method are available from the TFormLeafInfo interface:

  AddOffset(Int_t offset, TStreamerElement* element)
  GetCounterValue(TLeaf* leaf) : return the size of the array pointed to.
  GetObjectAddress(TLeafElement* leaf) : Returns the the location of the object pointed to.
  GetMultiplicity() : Returns info on the variability of the number of elements
  GetNdata(TLeaf* leaf) : Returns the number of elements
  GetNdata() : Used by GetNdata(TLeaf* leaf)
  GetValue(TLeaf *leaf, Int_t instance = 0) : Return the value
  GetValuePointer(TLeaf *leaf, Int_t instance = 0) : Returns the address of the value
  GetLocalValuePointer(TLeaf *leaf, Int_t instance = 0) : Returns the address of the value of 'this' LeafInfo
  IsString()
  ReadValue(char *where, Int_t instance = 0) : Internal function to interpret the location 'where'
  Update() : react to the possible loading of a shared library.


Function Members (Methods)

public:
virtual~TTreeFormula()
voidTObject::AbstractMethod(const char* method) const
virtual voidROOT::v5::TFormula::Analyze(const char* schain, Int_t& err, Int_t offset = 0)
virtual Bool_tROOT::v5::TFormula::AnalyzeFunction(TString& chaine, Int_t& err, Int_t offset = 0)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidROOT::v5::TFormula::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Int_tROOT::v5::TFormula::Compile(const char* expression = "")
virtual voidROOT::v5::TFormula::Copy(TObject& formula) const
virtual char*ROOT::v5::TFormula::DefinedString(Int_t code)
virtual Double_tROOT::v5::TFormula::DefinedValue(Int_t code)
virtual Int_tDefinedVariable(TString& variable, Int_t& action)
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
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tROOT::v5::TFormula::Eval(Double_t x, Double_t y = 0, Double_t z = 0, Double_t t = 0) const
virtual TClass*EvalClass() const
virtual Double_tEvalInstance(Int_t i = 0, const char*[] stringStack = 0)
virtual Long64_tEvalInstance64(Int_t i = 0, const char*[] stringStack = 0)
doubleEvalInstance<double>(Int_t i = 0, const char*[] stringStack = 0)
long doubleEvalInstance<long double>(Int_t i = 0, const char*[] stringStack = 0)
Long64_tEvalInstance<long long>(Int_t i = 0, const char*[] stringStack = 0)
virtual LongDouble_tEvalInstanceLD(Int_t i = 0, const char*[] stringStack = 0)
virtual void*EvalObject(Int_t i = 0)
virtual Double_tROOT::v5::TFormula::EvalPar(const Double_t* x, const Double_t* params = 0)
virtual Double_tROOT::v5::TFormula::EvalParOld(const Double_t* x, const Double_t* params = 0)
virtual const char*EvalStringInstance(Int_t i = 0)
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TStringROOT::v5::TFormula::GetExpFormula(Option_t* option = "") const
virtual const char*TObject::GetIconName() const
virtual TLeaf*GetLeaf(Int_t n) const
TFormLeafInfo*GetLeafInfo(Int_t code) const
virtual const TObject*ROOT::v5::TFormula::GetLinearPart(Int_t i)
TTreeFormulaManager*GetManager() const
static voidROOT::v5::TFormula::GetMaxima(Int_t& maxop, Int_t& maxpar, Int_t& maxconst)
TMethodCall*GetMethodCall(Int_t code) const
virtual Int_tGetMultiplicity() const
virtual const char*TNamed::GetName() const
virtual Int_tGetNcodes() const
virtual Int_tGetNdata()
virtual Int_tROOT::v5::TFormula::GetNdim() const
virtual Int_tROOT::v5::TFormula::GetNpar() const
virtual Int_tROOT::v5::TFormula::GetNumber() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tROOT::v5::TFormula::GetParameter(Int_t ipar) const
Double_tROOT::v5::TFormula::GetParameter(const char* name) const
virtual Double_t*ROOT::v5::TFormula::GetParameters() const
virtual voidROOT::v5::TFormula::GetParameters(Double_t* params)
virtual const char*ROOT::v5::TFormula::GetParName(Int_t ipar) const
virtual Int_tROOT::v5::TFormula::GetParNumber(const char* name) const
virtual const char*TNamed::GetTitle() const
virtual TTree*GetTree() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
virtual Bool_tIsInteger(Bool_t fast = kTRUE) const
virtual Bool_tROOT::v5::TFormula::IsLinear() const
virtual Bool_tROOT::v5::TFormula::IsNormalized() const
Bool_tTObject::IsOnHeap() const
Bool_tIsQuickLoad() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tIsString() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tNotify()
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)
voidROOT::v5::TFormula::Optimize()
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidROOT::v5::TFormula::Print(Option_t* option = "") constMENU
virtual char*PrintValue(Int_t mode = 0) const
virtual char*PrintValue(Int_t mode, Int_t instance, const char* decform = "9.9") const
virtual voidROOT::v5::TFormula::ProcessLinear(TString& replaceformula)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidResetLoading()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidSetAxis(TAxis* axis = 0)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidROOT::v5::TFormula::SetMaxima(Int_t maxop = 1000, Int_t maxpar = 1000, Int_t maxconst = 1000)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidROOT::v5::TFormula::SetNumber(Int_t number)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidROOT::v5::TFormula::SetParameter(const char* name, Double_t parvalue)
virtual voidROOT::v5::TFormula::SetParameter(Int_t ipar, Double_t parvalue)
virtual voidROOT::v5::TFormula::SetParameters(const Double_t* params)
virtual voidROOT::v5::TFormula::SetParameters(Double_t p0, Double_t p1, Double_t p2 = 0, Double_t p3 = 0, Double_t p4 = 0, Double_t p5 = 0, Double_t p6 = 0, Double_t p7 = 0, Double_t p8 = 0, Double_t p9 = 0, Double_t p10 = 0)MENU
virtual voidROOT::v5::TFormula::SetParName(Int_t ipar, const char* name)
virtual voidROOT::v5::TFormula::SetParNames(const char* name0 = "p0", const char* name1 = "p1", const char* name2 = "p2", const char* name3 = "p3", const char* name4 = "p4", const char* name5 = "p5", const char* name6 = "p6", const char* name7 = "p7", const char* name8 = "p8", const char* name9 = "p9", const char* name10 = "p10")MENU
voidSetQuickLoad(Bool_t quick)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidSetTree(TTree* tree)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() 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
ROOT::v5::TFormulaROOT::v5::TFormula::TFormula()
ROOT::v5::TFormulaROOT::v5::TFormula::TFormula(const ROOT::v5::TFormula& formula)
ROOT::v5::TFormulaROOT::v5::TFormula::TFormula(const char* name, const char* formula)
TTreeFormula()
TTreeFormula(const char* name, const char* formula, TTree* tree)
virtual voidROOT::v5::TFormula::Update()
virtual voidUpdateFormulaLeaves()
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:
Bool_tBranchHasMethod(TLeaf* leaf, TBranch* branch, const char* method, const char* params, Long64_t readentry) const
virtual Bool_tROOT::v5::TFormula::CheckOperands(Int_t operation, Int_t& err)
virtual Bool_tROOT::v5::TFormula::CheckOperands(Int_t leftoperand, Int_t rightoperartion, Int_t& err)
voidROOT::v5::TFormula::ClearFormula(Option_t* option = "")
virtual voidConvert(UInt_t fromVersion)
Int_tDefineAlternate(const char* expression)
voidDefineDimensions(Int_t code, Int_t size, TFormLeafInfoMultiVarDim* info, Int_t& virt_dim)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual TClass*EvalClass(Int_t oper) const
Double_tROOT::v5::TFormula::EvalParFast(const Double_t* x, const Double_t* params)
Double_tROOT::v5::TFormula::EvalPrimitive(const Double_t* x, const Double_t* params)
Double_tROOT::v5::TFormula::EvalPrimitive0(const Double_t* x, const Double_t* params)
Double_tROOT::v5::TFormula::EvalPrimitive1(const Double_t* x, const Double_t* params)
Double_tROOT::v5::TFormula::EvalPrimitive2(const Double_t* x, const Double_t* params)
Double_tROOT::v5::TFormula::EvalPrimitive3(const Double_t* x, const Double_t* params)
Double_tROOT::v5::TFormula::EvalPrimitive4(const Double_t* x, const Double_t* params)
Int_tFindLeafForExpression(const char* expression, TLeaf*& leaf, TString& leftover, Bool_t& final, UInt_t& paran_level, TObjArray& castqueue, vector<string>& aliasUsed, Bool_t& useLeafCollectionObject, const char* fullExpression)
Short_tROOT::v5::TFormula::GetAction(Int_t code) const
Short_tROOT::v5::TFormula::GetActionOptimized(Int_t code) const
Int_tROOT::v5::TFormula::GetActionParam(Int_t code) const
Int_tROOT::v5::TFormula::GetActionParamOptimized(Int_t code) const
TLeaf*GetLeafWithDatamember(const char* topchoice, const char* nextchice, Long64_t readentry) const
Int_t*ROOT::v5::TFormula::GetOper() const
Int_t*ROOT::v5::TFormula::GetOperOptimized() const
Int_tGetRealInstance(Int_t instance, Int_t codeindex)
virtual Double_tGetValueFromMethod(Int_t i, TLeaf* leaf) const
virtual void*GetValuePointerFromMethod(Int_t i, TLeaf* leaf) const
voidInit(const char* name, const char* formula)
virtual Bool_tIsLeafInteger(Int_t code) const
virtual Bool_tIsLeafString(Int_t code) const
virtual Bool_tIsString(Int_t oper) const
voidLoadBranches()
Bool_tLoadCurrentDim()
voidROOT::v5::TFormula::MakePrimitive(const char* expr, Int_t pos)
voidTObject::MakeZombie()
Int_tParseWithLeaf(TLeaf* leaf, const char* expression, Bool_t final, UInt_t paran_level, TObjArray& castqueue, Bool_t useLeafCollectionObject, const char* fullExpression)
Int_tROOT::v5::TFormula::PreCompile()
Int_tRegisterDimensions(Int_t code, TBranchElement* branch)
Int_tRegisterDimensions(Int_t code, TLeaf* leaf)
Int_tRegisterDimensions(const char* size, Int_t code)
Int_tRegisterDimensions(Int_t code, Int_t size, TFormLeafInfoMultiVarDim* multidim = 0)
Int_tRegisterDimensions(Int_t code, TFormLeafInfo* info, TFormLeafInfo* maininfo, Bool_t useCollectionObject)
voidResetDimensions()
voidROOT::v5::TFormula::SetAction(Int_t code, Int_t value, Int_t param = 0)
voidROOT::v5::TFormula::SetActionOptimized(Int_t code, Int_t value, Int_t param = 0)
virtual Bool_tStringToNumber(Int_t code)
virtual Bool_tSwitchToFormLeafInfo(Int_t code)
TTreeFormula(const char* name, const char* formula, TTree* tree, const vector<string>& aliases)

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 ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kLinear
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kNormalized
static TObject::(anonymous)TObject::kNotDeleted
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kNotGlobal
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TObjArrayfAliases! List of TTreeFormula for each alias used.
vector<string>fAliasesUsed! List of aliases used during the parsing of the expression.
TBitsROOT::v5::TFormula::fAlreadyFound! cache for information
TAxis*fAxis! pointer to histogram axis if this is a string
TObjArrayfBranches! List of branches to read. Similar to fLeaces but duplicates are zeroed out.
Int_tfCodes[500]List of leaf numbers referenced in formula
Double_t*ROOT::v5::TFormula::fConst[fNconst] Array of fNconst formula constants
LongDouble_t*fConstLDlocal version of fConsts able to store bigger numbers
Int_tfCumulSizes[500][5]Accumulated sizes of lower dimensions for each leaf after variable dimensions has been calculated
TObjArrayfDataMembers! List of leaf data members
Bool_tfDidBooleanOptimization! True if we executed one boolean optimization since the last time instance number 0 was evaluated
TList*fDimensionSetup! list of dimension setups, for delayed creation of the dimension information.
TString*ROOT::v5::TFormula::fExpr[fNoper] List of expressions
TString*ROOT::v5::TFormula::fExprOptimized![fNOperOptimized] List of expressions
TObjArrayfExternalCuts! List of TCutG and TEntryList used in the formula
Int_tfFixedSizes[500][5]Physical sizes of lower dimensions for each leaf
TObjArrayROOT::v5::TFormula::fFunctionsArray of function calls to make
Bool_tfHasCastRecord whether the formula contain a cast operation or not
UChar_tfHasMultipleVarDim[500]True if the corresponding variable is an array with more than one variable dimension.
Int_tfIndexes[500][5]Index of array selected by user for each leaf
TObjArrayfLeafNamesList of TNamed describing leaves
TObjArrayfLeaves! List of leaf used in this formula.
TObjArrayROOT::v5::TFormula::fLinearPartsLinear parts if the formula is linear (contains '|' or "++")
Int_t*fLookupType[fNindex] array indicating how each leaf should be looked-up
TTreeFormulaManager*fManager! The dimension coordinator.
TObjArrayfMethods! List of leaf method calls
Int_tfMultiplicityIndicator of the variability of the formula
Int_tROOT::v5::TFormula::fNOperOptimized!Number of operators after optimization
TStringTNamed::fNameobject identifier
TString*ROOT::v5::TFormula::fNames[fNpar] Array of parameter names
Int_tfNcodesNumber of leaves referenced in formula
Int_tROOT::v5::TFormula::fNconstNumber of constants
Int_tfNdata[500]! This caches the physical number of element in the leaf or datamember.
Int_tROOT::v5::TFormula::fNdimDimension of function (1=1-Dim, 2=2-Dim,etc)
Int_tfNdimensions[500]Number of array dimensions in each leaf
Bool_tfNeedLoading! If true, the current entry has not been loaded yet.
Int_tfNindexSize of fIndex
Int_tROOT::v5::TFormula::fNoperNumber of operators
Int_tROOT::v5::TFormula::fNparNumber of parameters
Int_tROOT::v5::TFormula::fNstringNumber of different constants character strings
Int_tROOT::v5::TFormula::fNumberformula number identifier
Int_tROOT::v5::TFormula::fNvalNumber of different variables in expression
ROOT::v5::TOperOffset*ROOT::v5::TFormula::fOperOffset![fNOperOptimized] Offsets of operrands
Int_t*ROOT::v5::TFormula::fOperOptimized![fNOperOptimized] List of operators. (See documentation for changes made at version 7)
ROOT::v5::TFormula::TFuncGROOT::v5::TFormula::fOptimal!pointer to optimal function
Double_t*ROOT::v5::TFormula::fParams[fNpar] Array of fNpar parameters
ROOT::v5::TFormulaPrimitive**ROOT::v5::TFormula::fPredefined![fNPar] predefined function
Bool_tfQuickLoad! If true, branch GetEntry is only called when the entry number changes.
TStringTNamed::fTitleobject title
TTree*fTree! pointer to Tree
TTreeFormula*fVarIndexes[500][5]Pointer to a variable index.
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kAdd
static TTreeFormula::(anonymous)kAlias
static TTreeFormula::(anonymous)kAliasString
static TTreeFormula::(anonymous)kAlternate
static TTreeFormula::(anonymous)kAlternateString
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kAnd
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBinary
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBitAnd
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBitOr
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBoolOptimize
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBoolOptimizeAnd
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBoolOptimizeOr
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kBoolSet
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kConstant
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kData
static TTreeFormula::(anonymous)kDataMember
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kDefinedString
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kDefinedVariable
static TTreeFormula::(anonymous)kDirect
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kDivide
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kEnd
static TTreeFormula::(anonymous)kEntries
static TTreeFormula::(anonymous)kEntryList
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kEqual
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kFD0
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kFD1
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kFD2
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kFD3
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kFDM
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kFunctionCall
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kGreater
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kGreaterThan
static TTreeFormula::(anonymous)kIndexOfEntry
static TTreeFormula::(anonymous)kIndexOfLocalEntry
static TTreeFormula::(anonymous)kIsCharacter
static TTreeFormula::(anonymous)kIsInteger
static TTreeFormula::(anonymous)kIteration
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kJump
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kJumpIf
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kLeftShift
static TTreeFormula::(anonymous)kLength
static TTreeFormula::(anonymous)kLengthFunc
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kLess
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kLessThan
static TTreeFormula::(anonymous)kMax
static TTreeFormula::(anonymous)kMaxIf
static TTreeFormula::(anonymous)kMethod
static TTreeFormula::(anonymous)kMin
static TTreeFormula::(anonymous)kMinIf
static TTreeFormula::(anonymous)kMissingLeaf
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kModulo
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kMultD
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kMultDD
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kMultiply
static TTreeFormula::(anonymous)kNeedEntries
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kNot
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kNotEqual
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kOr
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kParameter
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kPlusD
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kPlusDD
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kRightShift
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kSignInv
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kStringConst
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kStringEqual
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kStringNotEqual
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kSubstract
static TTreeFormula::(anonymous)kSum
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kThree
static TTreeFormula::(anonymous)kTreeMember
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kUnary
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kVariable
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kabs
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kacos
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kacosh
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kasin
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kasinh
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::katan
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::katan2
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::katanh
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kcos
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kcosh
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kexp
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kexpo
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kfmod
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kgaus
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kint
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::klandau
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::klog
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::klog10
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kmax
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kmin
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kpi
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kpol
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kpow
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::krndm
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ksign
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ksin
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ksinh
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ksq
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ksqrt
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kstrstr
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ktan
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::ktanh
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxexpo
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxgaus
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxlandau
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxpol
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxyexpo
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxygaus
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kxylandau
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kyexpo
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kygaus
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kylandau
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kypol
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kzexpo
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kzgaus
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kzlandau
static ROOT::v5::TFormula::(anonymous)ROOT::v5::TFormula::kzpol

Class Charts

Inheritance Chart:
ROOT::v5::TFormula
TTreeFormula

Function documentation

TTreeFormula()
 Tree Formula default constructor
TTreeFormula(const char* name, const char* formula, TTree* tree)
 Normal TTree Formula Constuctor
TTreeFormula(const char* name, const char* formula, TTree* tree, const vector<string>& aliases)
 Constructor used during the expansion of an alias
void Init(const char* name, const char* formula)
 Initialiation called from the constructors.
~TTreeFormula()
Tree Formula default destructor
*-*                  =================================
void DefineDimensions(Int_t code, Int_t size, TFormLeafInfoMultiVarDim* info, Int_t& virt_dim)
 This method is used internally to decode the dimensions of the variables
Int_t RegisterDimensions(const char* size, Int_t code)
 This method is used internally to decode the dimensions of the variables
Int_t RegisterDimensions(Int_t code, Int_t size, TFormLeafInfoMultiVarDim* multidim = 0)
 This method stores the dimension information for later usage.
Int_t RegisterDimensions(Int_t code, TFormLeafInfo* info, TFormLeafInfo* maininfo, Bool_t useCollectionObject)
 This method is used internally to decode the dimensions of the variables
Int_t RegisterDimensions(Int_t code, TBranchElement* branch)
 This method is used internally to decode the dimensions of the variables
Int_t RegisterDimensions(Int_t code, TLeaf* leaf)
 This method is used internally to decode the dimensions of the variables
Int_t DefineAlternate(const char* expression)
 This method check for treat the case where expression contains $Atl and load up
 both fAliases and fExpr.
 We return
   -1 in case of failure
   0 in case we did not find $Alt
   the action number in case of success.
Int_t ParseWithLeaf(TLeaf* leaf, const char* expression, Bool_t final, UInt_t paran_level, TObjArray& castqueue, Bool_t useLeafCollectionObject, const char* fullExpression)
 Decompose 'expression' as pointing to something inside the leaf
 Returns:
   -2  Error: some information is missing (message already printed)
   -1  Error: Syntax is incorrect (message already printed)
    0
    >0 the value returns is the action code.
Int_t FindLeafForExpression(const char* expression, TLeaf*& leaf, TString& leftover, Bool_t& final, UInt_t& paran_level, TObjArray& castqueue, vector<string>& aliasUsed, Bool_t& useLeafCollectionObject, const char* fullExpression)
 Look for the leaf corresponding to the start of expression.
 It returns the corresponding leaf if any.
 It also modify the following arguments:
   leftover: contain from expression that was not used to determine the leaf
   final:
   paran_level: number of un-matched open parenthesis
   cast_queue: list of cast to be done
   aliases: list of aliases used
 Return <0 in case of failure
 Return 0 if a leaf has been found
 Return 2 if info about the TTree itself has been requested.
Int_t DefinedVariable(TString& variable, Int_t& action)
-*Check if name is in the list of Tree/Branch leaves
*-*        ==================================================

   This member function redefines the function in ROOT::v5::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)

   The expected returns values are
     -2 :  the name has been recognized but won't be usable
     -1 :  the name has not been recognized
    >=0 :  the name has been recognized, return the internal code for this name.

TLeaf* GetLeafWithDatamember(const char* topchoice, const char* nextchice, Long64_t readentry) const
Bool_t BranchHasMethod(TLeaf* leaf, TBranch* branch, const char* method, const char* params, Long64_t readentry) const
 Return the leaf (if any) of the tree with contains an object of a class
 having a method which has the name provided in the argument.
Int_t GetRealInstance(Int_t instance, Int_t codeindex)
 Now let calculate what physical instance we really need.
 Some redundant code is used to speed up the cases where
 they are no dimensions.
 We know that instance is less that fCumulUsedSize[0] so
 we can skip the modulo when virt_dim is 0.
TClass* EvalClass() const
  Evaluate the class of this treeformula

  If the 'value' of this formula is a simple pointer to an object,
  this function returns the TClass corresponding to its type.
TClass* EvalClass(Int_t oper) const
  Evaluate the class of the operation oper

  If the 'value' in the requested operation is a simple pointer to an object,
  this function returns the TClass corresponding to its type.
void* EvalObject(Int_t i = 0)
Evaluate this treeformula*-*-*-*-
*-*                  =========================

  Return the address of the object pointed to by the formula.
  Return 0 if the formula is not a single object
  The object type can be retrieved using by call EvalClass();
const char* EvalStringInstance(Int_t i = 0)
 Eval the instance as a string.
T EvalInstance(Int_t i = 0, const char*[] stringStack = 0)
Evaluate this treeformula*-*-*-*-
*-*                  =========================

TFormLeafInfo * GetLeafInfo(Int_t code) const
-*-*Return DataMember corresponding to code
*-*            =======================================

  function called by TLeafObject::GetValue
  with the value of fLookupType 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 fLookupType computed in TTreeFormula::DefinedVariable
Int_t GetNdata()
*-*Return number of available instances in the formula
*-*            ===================================================

Double_t GetValueFromMethod(Int_t i, TLeaf* leaf) const
 Return result of a leafobject method.
void* GetValuePointerFromMethod(Int_t i, TLeaf* leaf) const
 Return result of a leafobject method.
Bool_t IsInteger(Bool_t fast = kTRUE) const
 return TRUE if the formula corresponds to one single Tree leaf
 and this leaf is short, int or unsigned short, int
 When a leaf is of type integer or string, the generated histogram is forced
 to have an integer bin width
Bool_t IsLeafInteger(Int_t code) const
 return TRUE if the leaf corresponding to code is short, int or unsigned
 short, int When a leaf is of type integer, the generated histogram is
 forced to have an integer bin width
Bool_t IsString() const
 return TRUE if the formula is a string
Bool_t IsString(Int_t oper) const
 (fOper[i]>=105000 && fOper[i]<110000) || fOper[i] == kStrings)
Bool_t IsLeafString(Int_t code) const
 return TRUE if the leaf or data member corresponding to code is a string
char * PrintValue(Int_t mode = 0) const
 Return value of variable as a string

      mode = -2 : Print line with ***
      mode = -1 : Print column names
      mode = 0  : Print column values
char * PrintValue(Int_t mode, Int_t instance, const char* decform = "9.9") const
 Return value of variable as a string

      mode = -2 : Print line with ***
      mode = -1 : Print column names
      mode = 0  : Print column values
  decform contains the requested format (with the same convention as printf).

void ResetLoading()
 Tell the formula that we are going to request a new entry.
void SetAxis(TAxis* axis = 0)
 Set the axis (in particular get the type).
void Streamer(TBuffer& )
 Stream an object of class TTreeFormula.
Bool_t StringToNumber(Int_t code)
 Try to 'demote' a string into an array bytes.  If this is not possible,
 return false.
void UpdateFormulaLeaves()
 this function is 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 ResetDimensions()
 Populate the TTreeFormulaManager with the dimension information.
void LoadBranches()
 Make sure that all the branches have been loaded properly.
Bool_t LoadCurrentDim()
void Convert(UInt_t fromVersion)
 Convert the fOper of a TTTreeFormula version fromVersion to the current in memory version
Bool_t SwitchToFormLeafInfo(Int_t code)
 Convert the underlying lookup method from the direct technique
 (dereferencing the address held by the branch) to the method using
 TFormLeafInfo.  This is in particular usefull in the case where we
 need to append an additional TFormLeafInfo (for example to call a
 method).
 Return false if the switch was unsuccessfull (basically in the
 case of an old style split tree).
TTreeFormula(const char* name, const char* formula, TTree* tree, const vector<string>& aliases)
TTreeFormula& operator=(const TTreeFormula& )
Long64_t EvalInstance64(Int_t i = 0, const char*[] stringStack = 0)
{return EvalInstance<Long64_t>(i, stringStack); }
LongDouble_t EvalInstanceLD(Int_t i = 0, const char*[] stringStack = 0)
{return EvalInstance<LongDouble_t>(i, stringStack); }
TTreeFormulaManager* GetManager() const
{ return fManager; }
Int_t GetMultiplicity() const
{return fMultiplicity;}
Int_t GetNcodes() const
{return fNcodes;}
Bool_t IsQuickLoad() const
{ return fQuickLoad; }
Bool_t Notify()
{ UpdateFormulaLeaves(); return kTRUE; }
void SetQuickLoad(Bool_t quick)
{ fQuickLoad = quick; }
void SetTree(TTree* tree)
{fTree = tree;}
TTree* GetTree() const
{return fTree;}