GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CanvasVisu.h
Go to the documentation of this file.
1 #ifndef CANVASVISU_H
2 #define CANVASVISU_H
3 
4 #include "TString.h"
5 #include "TGraph.h"
6 #include "TColor.h"
7 
8 class BashColor;
9 class TObject;
10 class TCanvas;
11 class TTask;
12 class TList;
13 
14 using namespace std;
15 
17 {
18 public:
19  struct PadPos
20  {
21  TString SegName;
22  int PadNmbr;
23  };
24  struct HistPos
25  {
26  TString SegName;
27  int HistNbr;
28  };
29 protected:
30 
31  TString fObservableName;
33 
35 
36 private:
37  Color_t fColor[48];
38 
39 protected:
40 
41  int fNPadsX;
42  int fNPadsY;
43 
44  vector <PadPos> fHistPositionList;
45  vector <HistPos> fPadPositionList;
46 
47  TCanvas *fCanvas;
48 
49  Color_t GetColor(int i){return fColor[i];}
50 
51 public:
52 
53  CanvasVisu(const char* name, const char *title);
54  virtual ~CanvasVisu(){}
55 
56  virtual void Exec(const char * /*option*/ = "Amp calib 60Co Dino all"){}
57 
58  TCanvas *BuildSegmentedCanvas(TString CanvasName, TString CanvasTitle);
59 
60  virtual void ShowHist(int HistNumber, int LibraryNumber = 1, bool same = false);
61 
62  TCanvas *NewCanvas(TString cname, TString ctitle);
63 
65  void SetListOfLibrairies(TList *l){fListOfLibrairies = l;}
66 
67  TString fCrystalName;
68  void SetCrystal(TString name){fCrystalName = name;}
69 
70  virtual void Unzoom(const char *x_y_xy = "xy");
71  virtual void UnzoomSelected(const char *x_y_xy = "xy");
72 
73  virtual void LogX();
74  virtual void LogY();
75  virtual void LogZ();
76 
77  virtual void SetRange(double min, double max, const char *x_y = "x");
78 
79  virtual void FullRangeAll(const char *x_y = "xy");
80 
81  virtual void FullRangePerPad(const char *x_y = "xy");
82 
83  virtual void FullRangeSelectedPad(const char *x_y = "xy");
84 
85  virtual void SetLoupe(bool loupeon = true);
86 
87  TString GetCrystalNameFromID(int ID);
88 
89  static Bool_t OpenContextMenu(const char* method, TObject* obj, const char* alt_method_name = "");
90 
91  ClassDef(CanvasVisu,0)
92 };
93 
94 class MyGraph : public TNamed, public TAttLine, public TAttFill, public TAttMarker
95 {
96 public:
97  MyGraph() : TNamed(), TAttLine(), TAttFill(1, 1001), TAttMarker(), fGraph(0x0) {}
98  virtual ~MyGraph(){}
99 
100 public:
101  TGraph *fGraph;
102  void SetGraph(TGraph *o){fGraph = o; SetName(o->GetName()); SetTitle(o->GetTitle());}
103  TGraph *GetGraph(){return fGraph;}
104 
105  void Paint(Option_t *option) {fGraph->Paint(option);}
106 
107  virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) {return fGraph->DistancetoPrimitive(px, py);}
108 
109  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) {fGraph->ExecuteEvent(event, px, py);}
110 
111 public:
112  TList *GetListOfGraphs();
113 
114  TTask *fWatcher;
115  void SetWatcher(TTask *t){fWatcher = t;}
116  TTask *GetWatcher(){return fWatcher;}
117 
118 public:
119  virtual void SetFillAttributes() {fGraph->SetFillAttributes();} //*MENU={Hierarchy="Visu/SetFillAttributes"}*
120  virtual void SetFillColor(Color_t fcolor);
121  void SetFC(Color_t fcolor) {fFillColor = fcolor;}
122  virtual void SetFillStyle(Style_t fstyle);
123  void SetFS(Style_t fstyle) {fFillStyle = fstyle;}
124  virtual void SetLineAttributes(){fGraph->SetLineAttributes();} //*MENU={Hierarchy="Visu/SetLineAttributes"}*
125  virtual void SetLineColor(Color_t lcolor);
126  void SetLC(Color_t lcolor) {fLineColor = lcolor;}
127  virtual void SetLineStyle(Style_t lstyle);
128  void SetLS(Style_t lstyle) {fLineStyle = lstyle;}
129  virtual void SetLineWidth(Width_t lwidth);
130  void SetLW(Width_t lwidth) {fLineWidth = lwidth;}
131  virtual void SetMarkerAttributes(){fGraph->SetMarkerAttributes();} //*MENU={Hierarchy="Visu/SetMarkerAttributes"}*
132  virtual void SetMarkerColor(Color_t mcolor = 1);
133  void SetMC(Color_t mcolor) {fMarkerColor = mcolor;}
134  virtual void SetMarkerSize(Size_t msize = 1);
135  void SetMSi(Size_t msize) {fMarkerSize = msize;}
136  virtual void SetMarkerStyle(Style_t mstyle = 1);
137  void SetMSt(Style_t mstyle) {fMarkerStyle = mstyle;}
138 
139  ClassDef(MyGraph,1)
140 };
141 
142 
143 
144 
145 
146 #endif
TString fObservableName
Definition: CanvasVisu.h:31
virtual ~MyGraph()
Definition: CanvasVisu.h:98
BashColor * fBashColor
Definition: CanvasVisu.h:34
TTask * GetWatcher()
Definition: CanvasVisu.h:116
void SetMSi(Size_t msize)
Definition: CanvasVisu.h:135
TGraph * fGraph
Definition: CanvasVisu.h:101
void SetListOfLibrairies(TList *l)
Definition: CanvasVisu.h:65
vector< PadPos > fHistPositionList
Definition: CanvasVisu.h:44
virtual void SetLineAttributes()
Definition: CanvasVisu.h:124
void SetFC(Color_t fcolor)
Definition: CanvasVisu.h:121
virtual void SetMarkerAttributes()
Definition: CanvasVisu.h:131
virtual void Exec(const char *="Amp calib 60Co Dino all")
Definition: CanvasVisu.h:56
MyGraph()
Definition: CanvasVisu.h:97
TString fCrystalName
Definition: CanvasVisu.h:67
virtual ~CanvasVisu()
Definition: CanvasVisu.h:54
void SetLW(Width_t lwidth)
Definition: CanvasVisu.h:130
TGraph * GetGraph()
Definition: CanvasVisu.h:103
TList * fListOfLibrairies
Definition: CanvasVisu.h:64
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Definition: CanvasVisu.h:109
void SetGraph(TGraph *o)
Definition: CanvasVisu.h:102
int fNPadsX
Definition: CanvasVisu.h:41
void Paint(Option_t *option)
Definition: CanvasVisu.h:105
TCanvas * fCanvas
Definition: CanvasVisu.h:47
void SetMSt(Style_t mstyle)
Definition: CanvasVisu.h:137
Color_t GetColor(int i)
Definition: CanvasVisu.h:49
TString fObservableTitle
Definition: CanvasVisu.h:32
void SetMC(Color_t mcolor)
Definition: CanvasVisu.h:133
void SetWatcher(TTask *t)
Definition: CanvasVisu.h:115
void SetLS(Style_t lstyle)
Definition: CanvasVisu.h:128
void SetLC(Color_t lcolor)
Definition: CanvasVisu.h:126
TTask * fWatcher
Definition: CanvasVisu.h:114
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Definition: CanvasVisu.h:107
vector< HistPos > fPadPositionList
Definition: CanvasVisu.h:45
void SetFS(Style_t fstyle)
Definition: CanvasVisu.h:123
virtual void SetFillAttributes()
Definition: CanvasVisu.h:119
int fNPadsY
Definition: CanvasVisu.h:42
void SetCrystal(TString name)
Definition: CanvasVisu.h:68