A++ » V5 » TFormula

class TFormula: public TNamed

Function Members (Methods)

public:
virtual~TFormula()
voidTObject::AbstractMethod(const char* method) const
voidAddParameter(const TString& name, Double_t value = 0)
voidAddVariable(const TString& name, Double_t value = 0)
voidAddVariables(const TString* vars, const Int_t size)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
Int_tCompile(const char* expression = "")
virtual voidCopy(TObject& f1) const
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
Double_tEval(Double_t x) const
Double_tEval(Double_t x, Double_t y) const
Double_tEval(Double_t x, Double_t y, Double_t z) const
Double_tEval(Double_t x, Double_t y, Double_t z, Double_t t) const
Double_tEvalPar(const Double_t* x, const Double_t* params = 0) const
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()
TStringGetExpFormula(Option_t* option = "") const
virtual const char*TObject::GetIconName() const
const TObject*GetLinearPart(Int_t i) const
virtual const char*TNamed::GetName() const
Int_tGetNdim() const
Int_tGetNpar() const
Int_tGetNumber() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetParameter(const char* name) const
Double_tGetParameter(Int_t param) const
Double_t*GetParameters() const
voidGetParameters(Double_t* params) const
const char*GetParName(Int_t ipar) const
Int_tGetParNumber(const char* name) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetVariable(const char* name) const
TStringGetVarName(Int_t ivar) const
Int_tGetVarNumber(const char* name) 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
Bool_tIsLinear() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tIsValid() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
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)
TFormula&operator=(const TFormula& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
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)
virtual voidSetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParameter(const char* name, Double_t value)
voidSetParameter(Int_t param, Double_t value)
voidSetParameters(const Double_t* params)
voidSetParameters(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
voidSetParName(Int_t ipar, const char* name)
voidSetParNames(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
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVariable(const TString& name, Double_t value)
voidSetVariables(const pair<TString,Double_t>* vars, const Int_t size)
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
TFormula()
TFormula(const TFormula& formula)
TFormula(const char* name, const char* formula = "", bool addToGlobList = true)
TFormula(const char* name, const char* formula, int ndim, int npar, bool addToGlobList = true)
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:
voidDoAddParameter(const TString& name, Double_t value, bool processFormula)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_tDoEval(const Double_t* x, const Double_t* p = nullptr) const
voidDoSetParameters(const Double_t* p, Int_t size)
voidExtractFunctors(TString& formula)
static Bool_tIsBracket(const char c)
static Bool_tIsFunctionNameChar(const char c)
static Bool_tIsHexadecimal(const TString& formula, int ipos)
static Bool_tIsOperator(const char c)
static Bool_tIsScientificNotation(const TString& formula, int ipos)
voidTObject::MakeZombie()
Bool_tPrepareFormula(TString& formula)
voidPreProcessFormula(TString& formula)
voidProcessFormula(TString& formula)
voidReplaceParamName(TString& formula, const TString& oldname, const TString& name)
voidSetPredefinedParamNames()

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 TFormula::(anonymous)kLambda
static TFormula::(anonymous)kLinear
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TFormula::(anonymous)kNormalized
static TObject::(anonymous)TObject::kNotDeleted
static TFormula::(anonymous)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:
map<TString,Double_t>fConsts!
TStringfFormula
list<TFormulaFunction>fFuncs!
map<TString,TString>fFunctionsShortcuts!
vector<TObject*>fLinearPartsvector of linear functions
TStringTNamed::fNameobject identifier
Int_tfNdim!
Int_tfNpar!
Int_tfNumber!
map<TString,Int_t,TFormulaParamOrder>fParamslist of parameter names
TStringTNamed::fTitleobject title
map<TString,TFormulaVariable>fVars! list of variable names
private:
Bool_tfAllParametersSettedflag to control if all parameters are setted
Bool_tfClingInitialized! transient to force re-initialization
TStringfClingInput! input function passed to Cling
TStringfClingName! unique name passed to Cling to define the function ( double clingName(double*x, double*p) )
vector<Double_t>fClingParametersparameter values
vector<Double_t>fClingVariables! cached variables
TInterpreter::CallFuncIFacePtr_t::Generic_tfFuncPtr! function pointer
void*fLambdaPtr! pointer to the lambda function
TMethodCall*fMethod! pointer to methocall
Bool_tfReadyToExecute! trasient to force initialization

Class Charts

Inheritance Chart:
TObject
TNamed
TFormula

Function documentation

void InputFormulaIntoCling()
Bool_t PrepareEvalMethod()
void FillDefaults()
void HandlePolN(TString& formula)
void HandleParametrizedFunctions(TString& formula)
void HandleExponentiation(TString& formula)
void HandleLinear(TString& formula)
Bool_t InitLambdaExpression(const char* formula)
Bool_t IsDefaultVariableName(const TString& name)
Bool_t IsOperator(const char c)
Bool_t IsBracket(const char c)
Bool_t IsFunctionNameChar(const char c)
Bool_t IsScientificNotation(const TString& formula, int ipos)
Bool_t IsHexadecimal(const TString& formula, int ipos)
void ExtractFunctors(TString& formula)
void PreProcessFormula(TString& formula)
void ProcessFormula(TString& formula)
Bool_t PrepareFormula(TString& formula)
void ReplaceParamName(TString& formula, const TString& oldname, const TString& name)
void DoAddParameter(const TString& name, Double_t value, bool processFormula)
void DoSetParameters(const Double_t* p, Int_t size)
void SetPredefinedParamNames()
Double_t DoEval(const Double_t* x, const Double_t* p = nullptr) const
TFormula()
virtual ~TFormula()
TFormula& operator=(const TFormula& rhs)
TFormula(const char* name, const char* formula = "", bool addToGlobList = true)
TFormula(const char* name, const char* formula, int ndim, int npar, bool addToGlobList = true)
TFormula(const TFormula& formula)
               TFormula(const char *name, Int_t nparams, Int_t ndims);
void AddParameter(const TString& name, Double_t value = 0)
{ DoAddParameter(name,value,true); }
void AddVariable(const TString& name, Double_t value = 0)
void AddVariables(const TString* vars, const Int_t size)
Int_t Compile(const char* expression = "")
void Copy(TObject& f1) const
void Clear(Option_t* option = "")
Double_t Eval(Double_t x) const
Double_t Eval(Double_t x, Double_t y) const
Double_t Eval(Double_t x, Double_t y, Double_t z) const
Double_t Eval(Double_t x, Double_t y, Double_t z, Double_t t) const
Double_t EvalPar(const Double_t* x, const Double_t* params = 0) const
TString GetExpFormula(Option_t* option = "") const
const TObject * GetLinearPart(Int_t i) const
Int_t GetNdim() const
{return fNdim;}
Int_t GetNpar() const
{return fNpar;}
Int_t GetNumber() const
{ return fNumber; }
const char * GetParName(Int_t ipar) const
Int_t GetParNumber(const char* name) const
Double_t GetParameter(const char* name) const
Double_t GetParameter(Int_t param) const
Double_t* GetParameters() const
void GetParameters(Double_t* params) const
Double_t GetVariable(const char* name) const
Int_t GetVarNumber(const char* name) const
TString GetVarName(Int_t ivar) const
Bool_t IsValid() const
Bool_t IsLinear() const
{ return TestBit(kLinear); }
void Print(Option_t* option = "") const
void SetName(const char* name)
void SetParameter(const char* name, Double_t value)
void SetParameter(Int_t param, Double_t value)
void SetParameters(const Double_t* params)
void           SetParameters(const pair<TString,Double_t> *params, const Int_t size);
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)
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")
void SetVariables(const pair<TString,Double_t>* vars, const Int_t size)