Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::v5::TFormula Class Reference

The FORMULA class (ROOT version 5).

Example of valid expressions:

  • sin(x)/x
  • [0]*sin(x) + [1]*exp(-[2]*x)
  • x + y**2
  • x^2 + y^2
  • [0]*pow([1],4)
  • 2*pi*sqrt(x/y)
  • gaus(0)*expo(3) + ypol3(5)*x
  • gausn(0)*expo(3) + ypol3(5)*x

In the last example above:

gaus(0) is a substitute for [0]*exp(-0.5*((x-[1])/[2])**2) and (0) means start numbering parameters at 0

gausn(0) is a substitute for [0]*exp(-0.5*((x-[1])/[2])**2)/(sqrt(2*pi)*[2])) and (0) means start numbering parameters at 0

expo(3) is a substitute for exp([3]+[4]*x)

pol3(5) is a substitute for par[5]+par[6]*x+par[7]*x**2+par[8]*x**3 (here Pol3 stands for Polynomial of degree 3)

TMath functions can be part of the expression, eg:

  • TMath::Landau(x)*sin(x)
  • TMath::Erf(x)

Comparisons operators are also supported (&&, ||, ==, <=, >=, !) Examples:

  sin(x*(x<0.5 || x>1))

If the result of a comparison is TRUE, the result is 1, otherwise 0.

Already predefined names can be given. For example, if the formula

TFormula old(sin(x*(x<0.5 || x>1))) one can assign a name to the formula. By default the name of the object = title = formula itself. old.SetName("old"). then, old can be reused in a new expression. TFormula new("x*old") is equivalent to: TFormula new("x*sin(x*(x<0.5 || x>1))")

Up to 4 dimensions are supported (indicated by x, y, z, t) An expression may have 0 parameters or a list of parameters indicated by the sequence [par_number]

A graph showing the logic to compile and analyze a formula is shown in TFormula::Compile and TFormula::Analyze. Once a formula has been compiled, it can be evaluated for a given set of parameters. see graph in TFormula::EvalPar.

This class is the base class for the function classes TF1,TF2 and TF3. It is also used by the ntuple selection mechanism TNtupleFormula.

In version 7 of TFormula, the usage of fOper has been changed to improve the performance of TFormula::EvalPar. Conceptually, fOper was changed from a simple array of Int_t to an array of composite values. For example a 'ylandau(5)' operation used to be encoded as 4105; it is now encoded as (klandau >> kTFOperShift) + 5 Any class inheriting from TFormula and using directly fOper (which is now a private data member), needs to be updated to take this in consideration. The member functions recommended to set and access fOper are: SetAction, GetAction, GetActionParam For more performant access to the information, see the implementation TFormula::EvalPar

CHANGING DEFAULT SETTINGS

When creating complex formula , it may be necessary to increase some default parameters. see static function TFormula::SetMaxima

WHY TFormula CANNOT ACCEPT A CLASS MEMBER FUNCTION ?

This is a frequently asked question. C++ is a strongly typed language. There is no way for TFormula (without recompiling this class) to know about all possible user defined data types. This also apply to the case of a static class function. Because TMath is a special and frequent case, TFormula is aware of all TMath functions.

Definition at line 65 of file TFormula.h.

Public Types

enum  { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) }
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
enum  { kNotGlobal = (1ULL << (10)) , kNormalized = (1ULL << (14)) , kLinear = (1ULL << (16)) }
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) }
enum  EStatusBits {
  kCanDelete = (1ULL << (0)) , kMustCleanup = (1ULL << (3)) , kIsReferenced = (1ULL << (4)) , kHasUUID = (1ULL << (5)) ,
  kCannotPick = (1ULL << (6)) , kNoContextMenu = (1ULL << (8)) , kInvalidObject = (1ULL << (13))
}

Public Member Functions

 TFormula ()
 Formula default constructor.
 TFormula (const char *name, const char *formula)
 Normal Formula constructor.
 TFormula (const TFormula &formula)
 Default constructor.
 ~TFormula () override
 Formula default destructor.
void AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
virtual void Analyze (const char *schain, Int_t &err, Int_t offset=0)
 Analyze a sub-expression in one formula.
virtual Bool_t AnalyzeFunction (TString &chaine, Int_t &err, Int_t offset=0)
 Check if the chain as function call.
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
void Clear (Option_t *option="") override
 Resets the objects.
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
virtual Int_t Compile (const char *expression="")
 Compile expression already stored in fTitle.
void Copy (TObject &formula) const override
 Copy this formula.
virtual char * DefinedString (Int_t code)
 Return address of string corresponding to special code.
virtual Double_t DefinedValue (Int_t code)
 Return value corresponding to special code.
virtual Int_t DefinedVariable (TString &variable, Int_t &action)
 Check if expression is in the list of defined variables.
virtual void Delete (Option_t *option="")
 Delete this object.
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
virtual void Dump () const
 Dump contents of object on stdout.
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
virtual Double_t Eval (Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
 Evaluate this formula.
virtual Double_t EvalPar (const Double_t *x, const Double_t *params=nullptr)
virtual Double_t EvalParOld (const Double_t *x, const Double_t *params=nullptr)
 Evaluate this formula.
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
virtual TString GetExpFormula (Option_t *option="") const
 Reconstruct the formula expression from the internal TFormula member variables.
virtual const char * GetIconName () const
 Returns mime type name of object.
virtual const TObjectGetLinearPart (Int_t i)
 Return linear part.
const char * GetName () const override
 Returns name of object.
virtual Int_t GetNdim () const
virtual Int_t GetNpar () const
virtual Int_t GetNumber () const
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
virtual Option_tGetOption () const
Double_t GetParameter (const char *name) const
 Return value of parameter named parName.
Double_t GetParameter (Int_t ipar) const
 Return value of parameter number ipar.
virtual Double_tGetParameters () const
virtual void GetParameters (Double_t *params)
virtual const char * GetParName (Int_t ipar) const
 Return name of one parameter.
virtual Int_t GetParNumber (const char *name) const
 Return parameter number by name.
const char * GetTitle () const override
 Returns title of object.
virtual UInt_t GetUniqueID () const
 Return the unique object id.
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
ULong_t Hash () const override
 Return hash value for this object.
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
void InvertBit (UInt_t f)
TClassIsA () const override
Bool_t IsDestructed () const
 IsDestructed.
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
virtual Bool_t IsLinear () const
virtual Bool_t IsNormalized () const
Bool_t IsOnHeap () const
Bool_t IsSortable () const override
Bool_t IsZombie () const
void ls (Option_t *option="") const override
 List TNamed name and title.
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
void operator delete (void *, size_t)
 Operator delete for sized deallocation.
void operator delete (void *ptr)
 Operator delete.
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
void operator delete[] (void *, size_t)
 Operator delete [] for sized deallocation.
void operator delete[] (void *ptr)
 Operator delete [].
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
TFormulaoperator= (const TFormula &rhs)
 Operator =.
virtual void Optimize ()
 MI include.
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
void Print (Option_t *option="") const override
 Dump this formula with its attributes.
virtual void ProcessLinear (TString &replaceformula)
 If the formula is for linear fitting, change the title to normal and fill the LinearParts array.
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
void ResetBit (UInt_t f)
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
virtual void SetName (const char *name)
 Set the name of the TNamed.
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
virtual void SetNumber (Int_t number)
virtual void SetParameter (const char *name, Double_t parvalue)
 Initialize parameter number ipar.
virtual void SetParameter (Int_t ipar, Double_t parvalue)
 Initialize parameter number ipar.
virtual void SetParameters (const Double_t *params)
 Initialize array of all parameters.
virtual void 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)
 Initialize up to 11 parameters All arguments except THE FIRST TWO are optional In case of a function with only one parameter, call this function with p1=0.
virtual void SetParName (Int_t ipar, const char *name)
 Set name of parameter number ipar.
virtual void 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")
 Set up to 11 parameter names.
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
void Streamer (TBuffer &) override
 Stream a class object.
void Streamer (TBuffer &b, const TClass *onfile_class)
 Stream a class object.
void Streamer (TBuffer &b, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class=nullptr)
 specialized streamer function being able to read old TF1 versions as TF1Old in memory
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
virtual void Update ()
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static void GetMaxima (Int_t &maxop, Int_t &maxpar, Int_t &maxconst)
 static function to get the maximum value of 3 parameters -maxop : maximum number of operations -maxpar : maximum number of parameters -maxconst : maximum number of constants
static Bool_t GetObjectStat ()
 Get status of object stat flag.
static void SetDtorOnly (void *obj)
 Set destructor only flag.
static void SetMaxima (Int_t maxop=1000, Int_t maxpar=1000, Int_t maxconst=1000)
 static function to set the maximum value of 3 parameters
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.

Protected Types

enum  {
  kEnd = 0 , kAdd = 1 , kSubstract = 2 , kMultiply = 3 ,
  kDivide = 4 , kModulo = 5 , kcos = 10 , ksin = 11 ,
  ktan = 12 , kacos = 13 , kasin = 14 , katan = 15 ,
  katan2 = 16 , kfmod = 17 , kpow = 20 , ksq = 21 ,
  ksqrt = 22 , kstrstr = 23 , kmin = 24 , kmax = 25 ,
  klog = 30 , kexp = 31 , klog10 = 32 , kpi = 40 ,
  kabs = 41 , ksign = 42 , kint = 43 , kSignInv = 44 ,
  krndm = 50 , kAnd = 60 , kOr = 61 , kEqual = 62 ,
  kNotEqual = 63 , kLess = 64 , kGreater = 65 , kLessThan = 66 ,
  kGreaterThan = 67 , kNot = 68 , kcosh = 70 , ksinh = 71 ,
  ktanh = 72 , kacosh = 73 , kasinh = 74 , katanh = 75 ,
  kStringEqual = 76 , kStringNotEqual = 77 , kBitAnd = 78 , kBitOr = 79 ,
  kLeftShift = 80 , kRightShift = 81 , kJumpIf = 82 , kJump = 83 ,
  kexpo = 100 , kxexpo = 100 , kyexpo = 101 , kzexpo = 102 ,
  kxyexpo = 105 , kgaus = 110 , kxgaus = 110 , kygaus = 111 ,
  kzgaus = 112 , kxygaus = 115 , klandau = 120 , kxlandau = 120 ,
  kylandau = 121 , kzlandau = 122 , kxylandau = 125 , kpol = 130 ,
  kxpol = 130 , kypol = 131 , kzpol = 132 , kParameter = 140 ,
  kConstant = 141 , kBoolOptimize = 142 , kStringConst = 143 , kVariable = 144 ,
  kFunctionCall = 145 , kData = 146 , kUnary = 147 , kBinary = 148 ,
  kThree = 149 , kDefinedVariable = 150 , kDefinedString = 151 , kPlusD = 152 ,
  kPlusDD = 153 , kMultD = 154 , kMultDD = 155 , kBoolOptimizeOr = 156 ,
  kBoolOptimizeAnd = 157 , kBoolSet = 158 , kFDM = 159 , kFD0 = 160 ,
  kFD1 = 161 , kFD2 = 162 , kFD3 = 163
}
enum  { kOnlyPrepStep = (1ULL << (3)) }
typedef Double_t(TObject::* TFuncG) (const Double_t *, const Double_t *) const

Protected Member Functions

virtual Bool_t AnalyzePrimitive (TString &chain, TObjArray &args, Int_t &err, Int_t offset)
 Check if the given string matches a defined function primitive.
virtual Bool_t CheckOperands (Int_t leftoperand, Int_t rightoperartion, Int_t &err)
 Check whether the operands at 'leftoper' and 'oper-1' are compatible with the operation at 'oper'.
virtual Bool_t CheckOperands (Int_t operation, Int_t &err)
 Check whether the operand at 'oper-1' is compatible with the operation at 'oper'.
void ClearFormula (Option_t *option="")
 Resets the objects.
virtual void Convert (UInt_t fromVersion)
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
Double_t EvalParFast (const Double_t *x, const Double_t *params)
 Evaluate this formula.
Double_t EvalPrimitive (const Double_t *x, const Double_t *params)
 Evaluate primitive formula.
Double_t EvalPrimitive0 (const Double_t *x, const Double_t *params)
 Evaluate primitive formula.
Double_t EvalPrimitive1 (const Double_t *x, const Double_t *params)
 Evaluate primitive formula.
Double_t EvalPrimitive2 (const Double_t *x, const Double_t *params)
 Evaluate primitive formula.
Double_t EvalPrimitive3 (const Double_t *x, const Double_t *params)
 Evaluate primitive formula.
Double_t EvalPrimitive4 (const Double_t *x, const Double_t *params)
 Evaluate primitive formula.
Short_t GetAction (Int_t code) const
Short_t GetActionOptimized (Int_t code) const
Int_t GetActionParam (Int_t code) const
Int_t GetActionParamOptimized (Int_t code) const
Int_tGetOper () const
Int_tGetOperOptimized () const
virtual Bool_t IsString (Int_t oper) const
 Return true if the expression at the index 'oper' has to be treated as a string.
void MakePrimitive (const char *expr, Int_t pos)
 MakePrimitive find TFormulaPrimitive replacement for some operands.
void MakeZombie ()
Int_t PreCompile ()
 Pre compile function.
void SavePrimitiveNameTitle (std::ostream &out, const char *variable_name)
 Save object name and title into the output stream "out".
void SetAction (Int_t code, Int_t value, Int_t param=0)
void SetActionOptimized (Int_t code, Int_t value, Int_t param=0)
virtual Bool_t StringToNumber (Int_t code)
 Try to 'demote' a string into an array bytes.

Static Protected Member Functions

static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.

Protected Attributes

TBits fAlreadyFound
 ! cache for information
Double_tfConst
TStringfExpr
TStringfExprOptimized
 ![fNOperOptimized] List of expressions
TObjArray fFunctions
TObjArray fLinearParts
TString fName
TStringfNames
Int_t fNconst
Int_t fNdim
Int_t fNoper
Int_t fNOperOptimized
 !Number of operators after optimization
Int_t fNpar
Int_t fNstring
Int_t fNumber
Int_t fNval
TOperOffsetfOperOffset
 ![fNOperOptimized] Offsets of operrands
Int_tfOperOptimized
 ![fNOperOptimized] List of operators. (See documentation for changes made at version 7)
TFuncG fOptimal
 !pointer to optimal function
Double_tfParams
TFormulaPrimitive ** fPredefined
 ![fNPar] predefined function
TString fTitle

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.

Private Attributes

UInt_t fBits
 bit field status word
Int_tfOper
UInt_t fUniqueID
 object unique identifier

Static Private Attributes

static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

#include "inc/v5/TFormula.h"

Inheritance diagram for ROOT::v5::TFormula:
TNamed TObject ROOT::v5::TF1Data TTreeFormula

Member Typedef Documentation

◆ TFuncG

typedef Double_t(TObject::* ROOT::v5::TFormula::TFuncG) (const Double_t *, const Double_t *) const
protected

Definition at line 69 of file TFormula.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
kEnd 
kAdd 
kSubstract 
kMultiply 
kDivide 
kModulo 
kcos 
ksin 
ktan 
kacos 
kasin 
katan 
katan2 
kfmod 
kpow 
ksq 
ksqrt 
kstrstr 
kmin 
kmax 
klog 
kexp 
klog10 
kpi 
kabs 
ksign 
kint 
kSignInv 
krndm 
kAnd 
kOr 
kEqual 
kNotEqual 
kLess 
kGreater 
kLessThan 
kGreaterThan 
kNot 
kcosh 
ksinh 
ktanh 
kacosh 
kasinh 
katanh 
kStringEqual 
kStringNotEqual 
kBitAnd 
kBitOr 
kLeftShift 
kRightShift 
kJumpIf 
kJump 
kexpo 
kxexpo 
kyexpo 
kzexpo 
kxyexpo 
kgaus 
kxgaus 
kygaus 
kzgaus 
kxygaus 
klandau 
kxlandau 
kylandau 
kzlandau 
kxylandau 
kpol 
kxpol 
kypol 
kzpol 
kParameter 
kConstant 
kBoolOptimize 
kStringConst 
kVariable 
kFunctionCall 
kData 
kUnary 
kBinary 
kThree 
kDefinedVariable 
kDefinedString 
kPlusD 
kPlusDD 
kMultD 
kMultDD 
kBoolOptimizeOr 
kBoolOptimizeAnd 
kBoolSet 
kFDM 
kFD0 
kFD1 
kFD2 
kFD3 

Definition at line 136 of file TFormula.h.

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ anonymous enum

anonymous enum
Enumerator
kNotGlobal 
kNormalized 
kLinear 

Definition at line 212 of file TFormula.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ EStatusBits

enum TObject::EStatusBits
inherited
Enumerator
kCanDelete 

if object in a list can be deleted

kMustCleanup 

if object destructor must call RecursiveRemove()

kIsReferenced 

if object is referenced by a TRef or TRefArray

kHasUUID 

if object has a TUUID (its fUniqueID=UUIDNumber)

kCannotPick 

if object in a pad cannot be picked

kNoContextMenu 

if object does not want context menu

kInvalidObject 

if object ctor succeeded but object should not be used

Definition at line 70 of file TObject.h.

Constructor & Destructor Documentation

◆ TFormula() [1/3]

TFormula::TFormula ( )

Formula default constructor.

Definition at line 135 of file TFormula_v5.cxx.

◆ TFormula() [2/3]

TFormula::TFormula ( const char * name,
const char * formula )

Normal Formula constructor.

Definition at line 161 of file TFormula_v5.cxx.

◆ TFormula() [3/3]

TFormula::TFormula ( const TFormula & formula)

Default constructor.

Definition at line 273 of file TFormula_v5.cxx.

◆ ~TFormula()

TFormula::~TFormula ( )
override

Formula default destructor.

Definition at line 310 of file TFormula_v5.cxx.

Member Function Documentation

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ Analyze()

void TFormula::Analyze ( const char * schain,
Int_t & err,
Int_t offset = 0 )
virtual

Analyze a sub-expression in one formula.

Expressions in one formula are recursively analyzed. Result of analysis is stored in the object tables.

Table of function codes and errors

* functions :
+ 1 pow 20
- 2 sq 21
* 3 sqrt 22
/ 4 strstr 23
% 5 min 24
max 25
log 30
cos 10 exp 31
sin 11 log10 32
tan 12
acos 13 abs 41
asin 14 sign 42
atan 15 int 43
atan2 16
fmod 17 rndm 50
cosh 70 acosh 73
sinh 71 asinh 74
tanh 72 atanh 75
expo 100 gaus 110 gausn (see note below)
expo(0) 100 0 gaus(0) 110 0 gausn(0)
expo(1) 100 1 gaus(1) 110 1 gausn(1)
xexpo 100 x xgaus 110 x xgausn
yexpo 101 x ygaus 111 x ygausn
zexpo 102 x zgaus 112 x zgausn
xyexpo 105 x xygaus 115 x xygausn
yexpo(5) 102 5 ygaus(5) 111 5 ygausn(5)
xyexpo(2) 105 2 xygaus(2) 115 2 xygausn(2)
landau 120 x landaun (see note below)
landau(0) 120 0 landaun(0)
landau(1) 120 1 landaun(1)
xlandau 120 x xlandaun
ylandau 121 x ylandaun
zlandau 122 x zlandaun
xylandau 125 x xylandaun
ylandau(5) 121 5 ylandaun(5)
xylandau(2) 125 2 xylandaun(2)
pol0 130 x pol1 130 1xx
pol0(0) 130 0 pol1(0) 130 100
pol0(1) 130 1 pol1(1) 130 101
xpol0 130 x xpol1 130 101
ypol0 131 x ypol1 131 101
zpol0 132 x zpol1 132 1xx
ypol0(5) 131 5 ypol1(5) 131 105
pi 40
&& 60 < 64
|| 61 > 65
== 62 <= 66
!= 63 => 67
! 68
==(string) 76 & 78
!=(string) 77 | 79
<<(shift) 80 >>(shift) 81
? : 82
* constants (kConstants) :
c0 141 1 c1 141 2 etc..
* strings (kStringConst):
sX 143 x
* variables (kFormulaVar) :
x 144 0 y 144 1 z 144 2 t 144 3
* parameters :
[1] 140 1
[2] 140 2
etc.
return c1
Definition legend1.C:41
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17

Special cases for normalized gaussian or landau distributions

the expression "gaus" is a substitute for

[0]*exp(-0.5*((x-[1])/[2])**2)

to obtain a standard normalized gaussian, use "gausn" instead of "gaus" the expression "gausn" is a substitute for

[0]*exp(-0.5*((x-[1])/[2])**2)/(sqrt(2*pi)*[2]))

WARNING: gaus and gausn are mutually exclusive in the same expression.

In the same way the expression "landau" is a substitute for

[0]*TMath::Landau(x,[1],[2],kFALSE)

to obtain a standard normalized landau, use "landaun" instead of "landau" the expression "landaun" is a substitute for

[0]*TMath::Landau(x,[1],[2],kTRUE)

WARNING: landau and landaun are mutually exclusive in the same expression.

Boolean optimization (kBoolOptmize) :

Those pseudo operation are used to implement lazy evaluation of && and ||. When the left hand of the expression if false (respectively true), the evaluation of the right is entirely skipped (since it would not change the value of the expression).

&& 142 11 (one operation on right) 142 21 (2 operations on right) || 142 12 (one operation on right) 142 22 (2 operations on right)

  • functions calls (kFunctionCall) :

    f0 145 0 f1 145 1 etc..

Errors :

1   : Division By Zero
2   : Invalid Floating Point Operation
4   : Empty String
5   : invalid syntax
6   : Too many operators
7   : Too many parameters
10  : z specified but not x and y
11  : z and y specified but not x
12  : y specified but not x
13  : z and x specified but not y
20  : non integer value for parameter number
21  : atan2 requires two arguments
22  : pow requires two arguments
23  : degree of polynomial not specified
24  : Degree of polynomial must be positive
25  : Degree of polynomial must be less than 20
26  : Unknown name
27  : Too many constants in expression
28  : strstr requires two arguments
29  : interpreted or compiled function have to return a numerical type
30  : Bad numerical expression
31  : Part of the variable exist but some of it is not accessible or useable
40  : '(' is expected
41  : ')' is expected
42  : '[' is expected
43  : ']' is expected

Special functions

By default, the formula is assigned fNumber=0. However, the following formula built with simple functions are assigned fNumber:

 "gaus"      100  (or gausn)
 "xygaus"    110
 "expo"      200
 "polN"      300+N
 "landau"    400
 "xylandau"  410

Note that expressions like gaus(0), expo(1) will force fNumber=0

Warning when deriving a class from TFormula

If you overload this member function, you also HAVE TO never call the constructor:

TFormula::TFormula(const char *name,const char *expression)
char name[80]
Definition TGX11.cxx:148
TFormula()
Formula default constructor.

and write your own constructor

MyClass::MyClass(const char *name,const char *expression) : TFormula()

which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor

This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.

Definition at line 718 of file TFormula_v5.cxx.

◆ AnalyzeFunction()

Bool_t TFormula::AnalyzeFunction ( TString & chaine,
Int_t & err,
Int_t offset = 0 )
virtual

Check if the chain as function call.

If you overload this member function, you also HAVE TO never call the constructor:

TFormula::TFormula(const char *name,const char *expression)

and write your own constructor

MyClass::MyClass(const char *name,const char *expression) : TFormula()

which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor

This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.

Definition at line 343 of file TFormula_v5.cxx.

◆ AnalyzePrimitive()

Bool_t TFormula::AnalyzePrimitive ( TString & chain,
TObjArray & argArr,
Int_t & err,
Int_t offset )
protectedvirtual

Check if the given string matches a defined function primitive.

See also
TFormula::AnalyzeFunction

Reimplemented in TTreeFormula.

Definition at line 474 of file TFormula_v5.cxx.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ Browse()

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ CheckOperands() [1/2]

Bool_t TFormula::CheckOperands ( Int_t leftoperand,
Int_t rightoperartion,
Int_t & err )
protectedvirtual

Check whether the operands at 'leftoper' and 'oper-1' are compatible with the operation at 'oper'.

Definition at line 2194 of file TFormula_v5.cxx.

◆ CheckOperands() [2/2]

Bool_t TFormula::CheckOperands ( Int_t operation,
Int_t & err )
protectedvirtual

Check whether the operand at 'oper-1' is compatible with the operation at 'oper'.

Definition at line 2180 of file TFormula_v5.cxx.

◆ Class()

TClass * ROOT::v5::TFormula::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * ROOT::v5::TFormula::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t ROOT::v5::TFormula::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 272 of file TFormula.h.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ Clear()

void TFormula::Clear ( Option_t * option = "")
overridevirtual

Resets the objects.

Resets the object to its state before compilation.

Reimplemented from TObject.

Definition at line 2225 of file TFormula_v5.cxx.

◆ ClearFormula()

void TFormula::ClearFormula ( Option_t * option = "")
protected

Resets the objects.

Resets the object to its state before compilation.

Definition at line 2235 of file TFormula_v5.cxx.

◆ Clone()

TObject * TNamed::Clone ( const char * newname = "") const
overridevirtualinherited

Make a clone of an object using the Streamer facility.

If newname is specified, this will be the name of the new object.

Reimplemented from TObject.

Reimplemented in TStreamerInfo, and TTreeIndex.

Definition at line 73 of file TNamed.cxx.

◆ Compare()

Int_t TNamed::Compare ( const TObject * obj) const
overridevirtualinherited

Compare two TNamed objects.

Returns 0 when equal, -1 when this is smaller and +1 when bigger (like strcmp).

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 84 of file TNamed.cxx.

◆ Compile()

Int_t TFormula::Compile ( const char * expression = "")
virtual

Compile expression already stored in fTitle.

Loop on all subexpressions of formula stored in fTitle

If you overload this member function, you also HAVE TO never call the constructor:

TFormula::TFormula(const char *name,const char *expression)

and write your own constructor

MyClass::MyClass(const char *name,const char *expression) : TFormula()

which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor

This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.

Definition at line 2303 of file TFormula_v5.cxx.

◆ Convert()

void TFormula::Convert ( UInt_t fromVersion)
protectedvirtual

Reimplemented in TTreeFormula.

Definition at line 3573 of file TFormula_v5.cxx.

◆ Copy()

void TFormula::Copy ( TObject & formula) const
overridevirtual

Copy this formula.

Reimplemented from TObject.

Definition at line 2473 of file TFormula_v5.cxx.

◆ DeclFileName()

const char * ROOT::v5::TFormula::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 272 of file TFormula.h.

◆ DefinedString()

char * TFormula::DefinedString ( Int_t code)
virtual

Return address of string corresponding to special code.

This member function is inactive in the TFormula class. It may be redefined in derived classes.

If you overload this member function, you also HAVE TO never call the constructor:

TFormula::TFormula(const char *name,const char *expression)

and write your own constructor

MyClass::MyClass(const char *name,const char *expression) : TFormula()

which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor

This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.

Definition at line 2564 of file TFormula_v5.cxx.

◆ DefinedValue()

Double_t TFormula::DefinedValue ( Int_t code)
virtual

Return value corresponding to special code.

This member function is inactive in the TFormula class. It may be redefined in derived classes.

If you overload this member function, you also HAVE TO never call the constructor:

TFormula::TFormula(const char *name,const char *expression)

and write your own constructor

MyClass::MyClass(const char *name,const char *expression) : TFormula()

which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor

This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.

Definition at line 2595 of file TFormula_v5.cxx.

◆ DefinedVariable()

Int_t TFormula::DefinedVariable ( TString & chaine,
Int_t & action )
virtual

Check if expression is in the list of defined variables.

This member function can be overloaded in derived classes

If you overload this member function, you also HAVE TO never call the constructor:

TFormula::TFormula(const char *name,const char *expression)

and write your own constructor

MyClass::MyClass(const char *name,const char *expression) : TFormula()

which has to call the TFormula default constructor and whose implementation should be similar to the implementation of the normal TFormula constructor

This is necessary because the normal TFormula constructor call indirectly the virtual member functions Analyze, DefaultString, DefaultValue and DefaultVariable.

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 action parameter.

Reimplemented in TTreeFormula.

Definition at line 2630 of file TFormula_v5.cxx.

◆ Delete()

void TObject::Delete ( Option_t * option = "")
virtualinherited

◆ DistancetoPrimitive()

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ Draw()

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ Eval()

Double_t TFormula::Eval ( Double_t x,
Double_t y = 0,
Double_t z = 0,
Double_t t = 0 ) const
virtual

Evaluate this formula.

The current value of variables x,y,z,t is passed through x, y, z and t. The parameters used will be the ones in the array params if params is given otherwise parameters will be taken from the stored data members fParams

Definition at line 2675 of file TFormula_v5.cxx.

◆ EvalPar()

virtual Double_t ROOT::v5::TFormula::EvalPar ( const Double_t * x,
const Double_t * params = nullptr )
inlinevirtual

Definition at line 236 of file TFormula.h.

◆ EvalParFast()

Double_t TFormula::EvalParFast ( const Double_t * x,
const Double_t * uparams )
protected

Evaluate this formula.

The current value of variables x,y,z,t is passed through the pointer x. The parameters used will be the ones in the array params if params is given otherwise parameters will be taken from the stored data members fParams

Definition at line 4198 of file TFormula_v5.cxx.

◆ EvalParOld()

Double_t TFormula::EvalParOld ( const Double_t * x,
const Double_t * uparams = nullptr )
virtual

Evaluate this formula.

The current value of variables x,y,z,t is passed through the pointer x. The parameters used will be the ones in the array params if params is given otherwise parameters will be taken from the stored data members fParams

Definition at line 2694 of file TFormula_v5.cxx.

◆ EvalPrimitive()

Double_t TFormula::EvalPrimitive ( const Double_t * x,
const Double_t * params )
protected

Evaluate primitive formula.

Definition at line 4123 of file TFormula_v5.cxx.

◆ EvalPrimitive0()

Double_t TFormula::EvalPrimitive0 ( const Double_t * x,
const Double_t * params )
protected

Evaluate primitive formula.

Definition at line 4144 of file TFormula_v5.cxx.

◆ EvalPrimitive1()

Double_t TFormula::EvalPrimitive1 ( const Double_t * x,
const Double_t * params )
protected

Evaluate primitive formula.

Definition at line 4153 of file TFormula_v5.cxx.

◆ EvalPrimitive2()

Double_t TFormula::EvalPrimitive2 ( const Double_t * x,
const Double_t * params )
protected

Evaluate primitive formula.

Definition at line 4162 of file TFormula_v5.cxx.

◆ EvalPrimitive3()

Double_t TFormula::EvalPrimitive3 ( const Double_t * x,
const Double_t * params )
protected

Evaluate primitive formula.

Definition at line 4172 of file TFormula_v5.cxx.

◆ EvalPrimitive4()

Double_t TFormula::EvalPrimitive4 ( const Double_t * x,
const Double_t * params )
protected

Evaluate primitive formula.

Definition at line 4182 of file TFormula_v5.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ FillBuffer()

void TNamed::FillBuffer ( char *& buffer)
virtualinherited

Encode TNamed into output buffer.

Reimplemented in TDirectoryFile, TFile, TKey, TKeySQL, TKeyXML, TSQLFile, and TXMLFile.

Definition at line 103 of file TNamed.cxx.

◆ FindObject() [1/2]

TObject * TObject::FindObject ( const char * name) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object by name inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 425 of file TObject.cxx.

◆ FindObject() [2/2]

TObject * TObject::FindObject ( const TObject * obj) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 435 of file TObject.cxx.

◆ GetAction()

Short_t ROOT::v5::TFormula::GetAction ( Int_t code) const
inlineprotected

Definition at line 105 of file TFormula.h.

◆ GetActionOptimized()

Short_t ROOT::v5::TFormula::GetActionOptimized ( Int_t code) const
inlineprotected

Definition at line 113 of file TFormula.h.

◆ GetActionParam()

Int_t ROOT::v5::TFormula::GetActionParam ( Int_t code) const
inlineprotected

Definition at line 106 of file TFormula.h.

◆ GetActionParamOptimized()

Int_t ROOT::v5::TFormula::GetActionParamOptimized ( Int_t code) const
inlineprotected

Definition at line 114 of file TFormula.h.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ GetExpFormula()

TString TFormula::GetExpFormula ( Option_t * option = "") const
virtual

Reconstruct the formula expression from the internal TFormula member variables.

This function uses the internal member variables of TFormula to construct the mathematical expression associated with the TFormula instance. This function can be used to get an expanded version of the expression originally assigned to the TFormula instance, i.e. that the string returned by GetExpFormula() doesn't depend on other TFormula object names.

if option contains "p" the returned string will contain the formula expression with symbolic parameters, eg [0] replaced by the actual value of the parameter. Example: if expression in formula is: "[0]*(x>-[1])+[2]*exp(-[3]*x)" and parameters are 3.25,-4.01,4.44,-0.04, GetExpFormula("p") will return: "(3.25*(x>+4.01))+(4.44*exp(+0.04*x))"

Note
Floats when option contains "p" are printed with g (6 decimals); if you need more precision, use instead the non-v5 version of this class.
See also
https://cplusplus.com/reference/cstdio/printf/

Definition at line 3032 of file TFormula_v5.cxx.

◆ GetIconName()

const char * TObject::GetIconName ( ) const
virtualinherited

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.

Definition at line 472 of file TObject.cxx.

◆ GetLinearPart()

const TObject * TFormula::GetLinearPart ( Int_t i)
virtual

Return linear part.

Definition at line 3222 of file TFormula_v5.cxx.

◆ GetMaxima()

void TFormula::GetMaxima ( Int_t & maxop,
Int_t & maxpar,
Int_t & maxconst )
static

static function to get the maximum value of 3 parameters -maxop : maximum number of operations -maxpar : maximum number of parameters -maxconst : maximum number of constants

Definition at line 4549 of file TFormula_v5.cxx.

◆ GetName()

const char * TNamed::GetName ( ) const
inlineoverridevirtualinherited

Returns name of object.

This default method returns the class name. Classes that give objects a name should override this method.

Reimplemented from TObject.

Definition at line 49 of file TNamed.h.

◆ GetNdim()

virtual Int_t ROOT::v5::TFormula::GetNdim ( ) const
inlinevirtual

Definition at line 238 of file TFormula.h.

◆ GetNpar()

virtual Int_t ROOT::v5::TFormula::GetNpar ( ) const
inlinevirtual

Definition at line 239 of file TFormula.h.

◆ GetNumber()

virtual Int_t ROOT::v5::TFormula::GetNumber ( ) const
inlinevirtual

Definition at line 240 of file TFormula.h.

◆ GetObjectInfo()

char * TObject::GetObjectInfo ( Int_t px,
Int_t py ) const
virtualinherited

Returns string containing info about the object at position (px,py).

This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).

Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.

Definition at line 491 of file TObject.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetOper()

Int_t * ROOT::v5::TFormula::GetOper ( ) const
inlineprotected

Definition at line 104 of file TFormula.h.

◆ GetOperOptimized()

Int_t * ROOT::v5::TFormula::GetOperOptimized ( ) const
inlineprotected

Definition at line 112 of file TFormula.h.

◆ GetOption()

virtual Option_t * TObject::GetOption ( ) const
inlinevirtualinherited

◆ GetParameter() [1/2]

Double_t TFormula::GetParameter ( const char * name) const

Return value of parameter named parName.

Definition at line 3241 of file TFormula_v5.cxx.

◆ GetParameter() [2/2]

Double_t TFormula::GetParameter ( Int_t ipar) const

Return value of parameter number ipar.

Definition at line 3232 of file TFormula_v5.cxx.

◆ GetParameters() [1/2]

virtual Double_t * ROOT::v5::TFormula::GetParameters ( ) const
inlinevirtual

Definition at line 244 of file TFormula.h.

◆ GetParameters() [2/2]

virtual void ROOT::v5::TFormula::GetParameters ( Double_t * params)
inlinevirtual

Definition at line 245 of file TFormula.h.

◆ GetParName()

const char * TFormula::GetParName ( Int_t ipar) const
virtual

Return name of one parameter.

Definition at line 3255 of file TFormula_v5.cxx.

◆ GetParNumber()

Int_t TFormula::GetParNumber ( const char * name) const
virtual

Return parameter number by name.

Definition at line 3265 of file TFormula_v5.cxx.

◆ GetTitle()

const char * TNamed::GetTitle ( ) const
inlineoverridevirtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented from TObject.

Definition at line 50 of file TNamed.h.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ Hash()

ULong_t TNamed::Hash ( ) const
inlineoverridevirtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
ULong_t Hash() const override
Return hash value for this object.
Definition TNamed.h:51
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
TObject()
TObject constructor.
Definition TObject.h:259
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented from TObject.

Definition at line 51 of file TNamed.h.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ IsA()

TClass * ROOT::v5::TFormula::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Reimplemented in TTreeFormula.

Definition at line 272 of file TFormula.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

◆ IsLinear()

virtual Bool_t ROOT::v5::TFormula::IsLinear ( ) const
inlinevirtual

Definition at line 248 of file TFormula.h.

◆ IsNormalized()

virtual Bool_t ROOT::v5::TFormula::IsNormalized ( ) const
inlinevirtual

Definition at line 249 of file TFormula.h.

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsSortable()

Bool_t TNamed::IsSortable ( ) const
inlineoverridevirtualinherited

Reimplemented from TObject.

Reimplemented in TStructNodeProperty.

Definition at line 52 of file TNamed.h.

◆ IsString()

Bool_t TFormula::IsString ( Int_t oper) const
protectedvirtual

Return true if the expression at the index 'oper' has to be treated as a string.

Reimplemented in TTreeFormula.

Definition at line 3279 of file TFormula_v5.cxx.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ ls()

void TNamed::ls ( Option_t * option = "") const
overridevirtualinherited

List TNamed name and title.

Reimplemented from TObject.

Reimplemented in ROOT::Experimental::XRooFit::xRooBrowser, TNode, TROOT, TStreamerBase, TStreamerElement, TStreamerInfo, TStreamerSTL, TTask, TText, and TVirtualStreamerInfo.

Definition at line 112 of file TNamed.cxx.

◆ MakePrimitive()

void TFormula::MakePrimitive ( const char * expr,
Int_t pos )
protected

MakePrimitive find TFormulaPrimitive replacement for some operands.

Definition at line 3755 of file TFormula_v5.cxx.

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).

Definition at line 1160 of file TObject.cxx.

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

This method must be overridden to handle object notification (the base implementation is no-op).

Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.

For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.

Reimplemented in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ operator=()

TFormula & TFormula::operator= ( const TFormula & rhs)

Operator =.

Definition at line 300 of file TFormula_v5.cxx.

◆ Optimize()

void TFormula::Optimize ( )
virtual

MI include.

Optimize formula

Reimplemented in TTreeFormula.

Definition at line 3827 of file TFormula_v5.cxx.

◆ Paint()

void TObject::Paint ( Option_t * option = "")
virtualinherited

This method must be overridden if a class wants to paint itself.

The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.

Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.

Definition at line 631 of file TObject.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ PreCompile()

Int_t TFormula::PreCompile ( )
protected

Pre compile function.

Definition at line 4490 of file TFormula_v5.cxx.

◆ Print()

void TFormula::Print ( Option_t * option = "") const
overridevirtual

Dump this formula with its attributes.

Reimplemented from TObject.

Definition at line 3287 of file TFormula_v5.cxx.

◆ ProcessLinear()

void TFormula::ProcessLinear ( TString & replaceformula)
virtual

If the formula is for linear fitting, change the title to normal and fill the LinearParts array.

Definition at line 3315 of file TFormula_v5.cxx.

◆ Read()

Int_t TObject::Read ( const char * name)
virtualinherited

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented in TBuffer, TKey, TKeySQL, and TKeyXML.

Definition at line 673 of file TObject.cxx.

◆ RecursiveRemove()

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ SaveAs()

void TObject::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
virtualinherited

Save this object in the file specified by filename.

  • if "filename" contains ".root" the object is saved in filename as root binary file.
  • if "filename" contains ".xml" the object is saved in filename as a xml ascii file.
  • if "filename" contains ".cc" the object is saved in filename as C code independent from ROOT. The code is generated via SavePrimitive(). Specific code should be implemented in each object to handle this option. Like in TF1::SavePrimitive().
  • otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.

    The function is available via the object context menu.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.

Definition at line 708 of file TObject.cxx.

◆ SavePrimitive()

void TObject::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
virtualinherited

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.

Definition at line 858 of file TObject.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveNameTitle()

void TNamed::SavePrimitiveNameTitle ( std::ostream & out,
const char * variable_name )
protectedinherited

Save object name and title into the output stream "out".

Definition at line 135 of file TNamed.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ SetAction()

void ROOT::v5::TFormula::SetAction ( Int_t code,
Int_t value,
Int_t param = 0 )
inlineprotected

Definition at line 108 of file TFormula.h.

◆ SetActionOptimized()

void ROOT::v5::TFormula::SetActionOptimized ( Int_t code,
Int_t value,
Int_t param = 0 )
inlineprotected

Definition at line 116 of file TFormula.h.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ SetMaxima()

void TFormula::SetMaxima ( Int_t maxop = 1000,
Int_t maxpar = 1000,
Int_t maxconst = 1000 )
static

static function to set the maximum value of 3 parameters

  • maxop : maximum number of operations
  • maxpar : maximum number of parameters
  • maxconst : maximum number of constants

None of these parameters cannot be less than 10 (default is 1000) call this function to increase one or all maxima when processing very complex formula, eg TFormula::SetMaxima(100000,1000,1000000); If you process many functions with a small number of operations/parameters you may gain some memory and performance by decreasing these values.

Definition at line 4536 of file TFormula_v5.cxx.

◆ SetName()

void TNamed::SetName ( const char * name)
virtualinherited

Set the name of the TNamed.

WARNING: if the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, ROOT::Experimental::XRooFit::xRooNode, TChain, TColor, TDirectory, TEfficiency, TEventList, TEveScene, TFormula, TGraph2D, TGraph, TH1, TNode, TRotMatrix, TShape, TSystemDirectory, TSystemFile, and TTree.

Definition at line 149 of file TNamed.cxx.

◆ SetNameTitle()

void TNamed::SetNameTitle ( const char * name,
const char * title )
virtualinherited

Set all the TNamed parameters (name and title).

WARNING: if the name is changed and the object is a member of a THashTable or THashList container the container must be Rehash()'ed after SetName(). For example the list of objects in the current directory is a THashList.

Reimplemented in RooAbsArg, RooAbsData, RooDataHist, RooDataSet, RooFitResult, RooPlot, TContextMenu, TGraph2D, TGraph, TH1, and TNode.

Definition at line 163 of file TNamed.cxx.

◆ SetNumber()

virtual void ROOT::v5::TFormula::SetNumber ( Int_t number)
inlinevirtual

Definition at line 252 of file TFormula.h.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetParameter() [1/2]

void TFormula::SetParameter ( const char * name,
Double_t parvalue )
virtual

Initialize parameter number ipar.

Definition at line 3384 of file TFormula_v5.cxx.

◆ SetParameter() [2/2]

void TFormula::SetParameter ( Int_t ipar,
Double_t parvalue )
virtual

Initialize parameter number ipar.

Definition at line 3395 of file TFormula_v5.cxx.

◆ SetParameters() [1/2]

void TFormula::SetParameters ( const Double_t * params)
virtual

Initialize array of all parameters.

See also the next function with the same name.

Definition at line 3406 of file TFormula_v5.cxx.

◆ SetParameters() [2/2]

void 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 )
virtual

Initialize up to 11 parameters All arguments except THE FIRST TWO are optional In case of a function with only one parameter, call this function with p1=0.

Minimum two arguments are required to differentiate this function from the SetParameters(cont Double_t *params)

Definition at line 3421 of file TFormula_v5.cxx.

◆ SetParName()

void TFormula::SetParName ( Int_t ipar,
const char * name )
virtual

Set name of parameter number ipar.

Definition at line 3441 of file TFormula_v5.cxx.

◆ SetParNames()

void 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" )
virtual

Set up to 11 parameter names.

Definition at line 3450 of file TFormula_v5.cxx.

◆ SetTitle()

void TNamed::SetTitle ( const char * title = "")
virtualinherited

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ Sizeof()

Int_t TNamed::Sizeof ( ) const
virtualinherited

Return size of the TNamed part of the TObject.

Reimplemented in TDirectory, TDirectoryFile, TFile, TKey, TSQLFile, and TXMLFile.

Definition at line 182 of file TNamed.cxx.

◆ Streamer() [1/3]

void TFormula::Streamer ( TBuffer & b)
overridevirtual

Stream a class object.

Reimplemented from TObject.

Reimplemented in TTreeFormula.

Definition at line 3488 of file TFormula_v5.cxx.

◆ Streamer() [2/3]

void TFormula::Streamer ( TBuffer & b,
const TClass * onfile_class )

Stream a class object.

Definition at line 3469 of file TFormula_v5.cxx.

◆ Streamer() [3/3]

void TFormula::Streamer ( TBuffer & b,
Int_t version,
UInt_t start,
UInt_t count,
const TClass * onfile_class = nullptr )

specialized streamer function being able to read old TF1 versions as TF1Old in memory

Definition at line 3507 of file TFormula_v5.cxx.

◆ StreamerNVirtual()

void ROOT::v5::TFormula::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 272 of file TFormula.h.

◆ StringToNumber()

Bool_t TFormula::StringToNumber ( Int_t code)
protectedvirtual

Try to 'demote' a string into an array bytes.

If this is not possible, return false.

Reimplemented in TTreeFormula.

Definition at line 2214 of file TFormula_v5.cxx.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ Update()

virtual void ROOT::v5::TFormula::Update ( )
inlinevirtual

Definition at line 264 of file TFormula.h.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ Write() [1/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 )
virtualinherited

Write this object to the current directory.

For more see the const version of this method.

Reimplemented in ROOT::TBufferMergerFile, TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 989 of file TObject.cxx.

◆ Write() [2/2]

Int_t TObject::Write ( const char * name = nullptr,
Int_t option = 0,
Int_t bufsize = 0 ) const
virtualinherited

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented in TBuffer, TCollection, TDirectory, TDirectoryFile, TFile, TMap, TParallelMergingFile, TSQLFile, TTree, and TXMLFile.

Definition at line 964 of file TObject.cxx.

Member Data Documentation

◆ fAlreadyFound

TBits ROOT::v5::TFormula::fAlreadyFound
protected

! cache for information

Definition at line 88 of file TFormula.h.

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fConst

Double_t* ROOT::v5::TFormula::fConst
protected

Definition at line 82 of file TFormula.h.

◆ fExpr

TString* ROOT::v5::TFormula::fExpr
protected

Definition at line 78 of file TFormula.h.

◆ fExprOptimized

TString* ROOT::v5::TFormula::fExprOptimized
protected

![fNOperOptimized] List of expressions

Definition at line 92 of file TFormula.h.

◆ fFunctions

TObjArray ROOT::v5::TFormula::fFunctions
protected

Definition at line 85 of file TFormula.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fLinearParts

TObjArray ROOT::v5::TFormula::fLinearParts
protected

Definition at line 86 of file TFormula.h.

◆ fName

TString TNamed::fName
protectedinherited

Definition at line 32 of file TNamed.h.

◆ fNames

TString* ROOT::v5::TFormula::fNames
protected

Definition at line 84 of file TFormula.h.

◆ fNconst

Int_t ROOT::v5::TFormula::fNconst
protected

Definition at line 74 of file TFormula.h.

◆ fNdim

Int_t ROOT::v5::TFormula::fNdim
protected

Definition at line 71 of file TFormula.h.

◆ fNoper

Int_t ROOT::v5::TFormula::fNoper
protected

Definition at line 73 of file TFormula.h.

◆ fNOperOptimized

Int_t ROOT::v5::TFormula::fNOperOptimized
protected

!Number of operators after optimization

Definition at line 91 of file TFormula.h.

◆ fNpar

Int_t ROOT::v5::TFormula::fNpar
protected

Definition at line 72 of file TFormula.h.

◆ fNstring

Int_t ROOT::v5::TFormula::fNstring
protected

Definition at line 77 of file TFormula.h.

◆ fNumber

Int_t ROOT::v5::TFormula::fNumber
protected

Definition at line 75 of file TFormula.h.

◆ fNval

Int_t ROOT::v5::TFormula::fNval
protected

Definition at line 76 of file TFormula.h.

◆ fOper

Int_t* ROOT::v5::TFormula::fOper
private

Definition at line 80 of file TFormula.h.

◆ fOperOffset

TOperOffset* ROOT::v5::TFormula::fOperOffset
protected

![fNOperOptimized] Offsets of operrands

Definition at line 94 of file TFormula.h.

◆ fOperOptimized

Int_t* ROOT::v5::TFormula::fOperOptimized
protected

![fNOperOptimized] List of operators. (See documentation for changes made at version 7)

Definition at line 93 of file TFormula.h.

◆ fOptimal

TFuncG ROOT::v5::TFormula::fOptimal
protected

!pointer to optimal function

Definition at line 96 of file TFormula.h.

◆ fParams

Double_t* ROOT::v5::TFormula::fParams
protected

Definition at line 83 of file TFormula.h.

◆ fPredefined

TFormulaPrimitive** ROOT::v5::TFormula::fPredefined
protected

![fNPar] predefined function

Definition at line 95 of file TFormula.h.

◆ fTitle

TString TNamed::fTitle
protectedinherited

Definition at line 33 of file TNamed.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.


The documentation for this class was generated from the following files: