simple-tof-analysis
 All Classes Namespaces Functions Variables Groups Pages
TSFunction2D.h
1 /*
2  * TSFunction2D.h
3  *
4  * Created on: Aug 5, 2014
5  * Author: Silvestro di Luise
6  * Silvestro.Di.Luise@cern.ch
7  *
8  */
9 
10 #ifndef TSFUNCTION2D_H_
11 #define TSFUNCTION2D_H_
12 
13 
14 #include <TF2.h>
15 #include <TGraph.h>
16 #include <TGraph2D.h>
17 
18 /*
19  *
20  */
21 
22 
23 
24 #include "TSFunction1D.h"
25 
26 
27 class TSFunction2D: public TSFunction1D {
28 
29 public:
30 
31  TSFunction2D() {};
32  TSFunction2D(TString name, TString title);
33  TSFunction2D(TString name, TString title, const TSVariable &var_x, const TSVariable &var_y);
34 
35  virtual ~TSFunction2D();
36 
37  //
38  virtual double Eval(double x, double y=0) const;
39  virtual double Eval() const;
40  virtual double EvalFunc(double *x, double *p) const {return Eval(x[0],x[1]);}
41 
42  //TGraph* BuildGraph(int ntpx=100, double y=0) const {return 0;}
43  //TGraph* BuildGraph(int ntps=100) const {return 0;}
44 
45 
46  TGraph2D* BuildGraph2D(double xmin, double xmax, double ymin, double ymax,int nptx=100, int npty=100) const;
47  TGraph2D* BuildGraph2D(int nptx=100, int npty=100) const;
48  TF2* BuildTF2(TString name="",int npx=100, int npy=100) const;
49  virtual double ComputeIntegral() const;
50  virtual double ComputeIntegral(double xmin, double xmax, double ymin, double ymax) const;
51 
52  TString GetAxisTitles() const;
53 
54  void InitFuncs();
55 
56  virtual void SetVarY(const TSVariable &);
57  const TSVariable* GetVariableY() const;
58 
59 
60 private:
61 
62  const TSVariable *fY;
63 
64 protected:
65  void fCacheY(double val) const {cached_y=val;}
66  double fGetCachedY() const {return cached_y;}
67 
68  mutable TF2* fTF2;
69 
70 protected:
71  mutable double cached_y;
72 
73 };
74 
75 #endif /* TSFUNCTION2D_H_ */
Definition: TSVariable.h:55
Definition: TSFunction1D.h:43
TGraph2D * BuildGraph2D(double xmin, double xmax, double ymin, double ymax, int nptx=100, int npty=100) const
Definition: TSFunction2D.cc:137
Definition: TSFunction2D.h:27