simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSParamFunction.h
1 /*
2  *
3  *
4  * TSParamFunction.h
5  *
6  * Created on: Jun 13, 2014
7  * Author: Silvestro di Luise
8  * Silvestro.Di.Luise@cern.ch
9  *
10  *
11  *
12  *
13  */
14 
15 #ifndef TSPARAMFUNCTION_H_
16 #define TSPARAMFUNCTION_H_
17 
18 #include <map>
19 
20 #include <TString.h>
21 #include <TF1.h>
22 
23 
24 #include "TSArgList.h"
25 
26 #include "TSParameter.h"
27 
28 
30 
31 public:
32 
34  TSParamFunction(TString name, TString label, TString title, TString unit="");
36  virtual ~TSParamFunction();
37 
38  void Copy(const TSParamFunction &);
39  virtual TSParamFunction* Clone(TString name="") const;
40 
41  virtual double Evaluate() const;
42  TString GetDescription() const {return fDescription;}
43  double GetError() const;
44  double GetError(double *cov) const;
45  TF1* GetFunction() const {return fFunction;}
46  TString GetFormula() const {return fExpr;}
47  TString GetTF1Formula() const {return fTF1expr;}
48  int GetNumOfPars() const {return fNumOfPars;}
49  TSParameter* GetParam(int) const;
50  virtual double GetValue() const;
51  double GetValue2();
52  void Init();
53  void Print() const;
54  bool SetFunction(TString expr);
55  bool SetFunction(TString expr,const TSArgList &);
56  bool SetFunction(TString expr,TSParameter&);
57  bool SetFunction(TString expr,TSParameter&, TSParameter&);
58  bool SetFunction(TString expr,TSParameter&, TSParameter&,TSParameter&);
60 
61  bool SetParameter(TSParameter&);
62 
63 
64 private:
65  //-- Disable external access to methods Not Allowed on ParamFunction --
66  // Setter still need for internal used ex. when cloning the object
67  void SetValue(double);
68  void SetError(double);
69  void SetAsymErrors(double err_low,double err_up);
70  //
71 
72 private:
73 
74  void fBuildDescription();
75 
76  void fBuildTF1();
77 
78  void fCacheParam(int) const;
79  void fCacheParams() const;
80 
81  int fNumOfPars;
82  mutable double fValue;
83 
84  TF1 *fFunction;
85  TString fExpr;
86  TString fTF1expr;
87 
88  void fClearParamList();
89  std::map<int,TSParameter*> fParamList;
90 
91  void fUpdatePrimaryParamList(const TSParameter &);
92  virtual void fBuildPrimaryParamList();
93 
94 
95 
96  TString fDescription;
97 
98  static const int NMAX_CACHED_PARS=10;
99  mutable double fCachedParams[NMAX_CACHED_PARS];
100 
101 };
102 
103 #endif /* TSPARAMFUNCTION_H_ */
double GetError() const
Definition: TSParamFunction.cc:144
Definition: TSArgList.h:30
bool SetFunction(TString expr)
Definition: TSParamFunction.cc:340
Definition: TSParamFunction.h:29
double GetValue2()
Definition: TSParamFunction.cc:218
Definition: TSParameter.h:39