10 #include "TObjArray.h"
11 #include "BashColor.h"
13 #include "TPaveStats.h"
16 #include "TRootBrowser.h"
70 if(gROOT->GetListOfCanvases()->FindObject(TabName))
72 TBrowser *Browser = (TBrowser*)((TList*)gROOT->GetListOfBrowsers())->At(0);
74 TRootBrowser *RootBrowser = (TRootBrowser *) Browser->GetBrowserImp();
75 if(((TGTab*)RootBrowser->GetTabRight())->SetTab(TabName))
77 RootBrowser->GetTabRight()->CloseTab(RootBrowser->GetTabRight()->GetCurrent());
84 bool Collector::Collectistos(
const char* Folder,
const char *inc,
const char *exc,
const char *class_inc,
const char* class_exc,
const char *CanvasName)
86 TFolder *top_folder = (TFolder *)gROOT->GetRootFolder()->FindObject(Folder);
90 cout<<Folder<<
" not found"<<
endl;
95 if(((TString)CanvasName) ==
"Canvas")
97 CanvasName = ((TString)(TString)inc +
"_" + (TString)class_inc).Data();
102 Gw::PadManager::Collect<TObject>(&collected,top_folder,inc,exc,class_inc,class_exc);
109 double topmarg = 0.0679612;
110 double rightmarg = 0.0121951;
111 double leftmarg = 0.0983588;
112 double bottommarg = 0.11165;
114 gPad->SetRightMargin(rightmarg);
115 gPad->SetTopMargin(topmarg);
116 gPad->SetLeftMargin(leftmarg);
117 gPad->SetBottomMargin(bottommarg);
121 if(collected.GetSize()>100)
124 cout<<
"The number of histos to plot is "<<collected.GetSize()<<
" ! Plot it anyway ? (y,n)"<<
endl;
128 if(!test.EqualTo(
"y",TString::kIgnoreCase))
return false;
131 Int_t NpadPerCanvas = fNpadX*fNpadY;
133 for(
int i=0 ; i<collected.GetSize() ; i++)
135 if(PadNbr%NpadPerCanvas==0)
137 if(collected.GetSize()>NpadPerCanvas) Name = Form(
"%s_%d_%d",CanvasName,PadNbr+1,PadNbr+NpadPerCanvas);
138 else Name = CanvasName;
143 c->Divide(fNpadX,fNpadY,0.001,0.001);
146 c->cd(PadNbr%NpadPerCanvas+1);
148 TH1 *h = (TH1*)collected.At(i);
152 gPad->SetRightMargin(rightmarg);
153 gPad->SetTopMargin(topmarg);
154 gPad->SetLeftMargin(leftmarg);
155 gPad->SetBottomMargin(bottommarg);
157 h->SetBit(TH1::kNoTitle);
159 h->GetXaxis()->SetLabelSize(0.05);
160 h->GetXaxis()->SetTitleSize(0.06);
161 h->GetXaxis()->SetTitleOffset(0.85);
163 h->GetYaxis()->SetLabelSize(0.05);
164 h->GetYaxis()->SetTitleSize(0.06);
165 h->GetYaxis()->SetTitleOffset(0.90);
169 if(h->InheritsFrom(
"TH2"))
173 if( strncmp(h->GetName(),
"ADC",3) == 0 ) h->GetYaxis()->SetRangeUser(0,2000);
183 st = (TPaveStats*)h->FindObject(
"stats");
186 st->SetX2NDC(1-rightmarg);
187 st->SetY2NDC(1-topmarg);
188 st->SetX1NDC(0.681013);
189 st->SetY1NDC(0.663962);
222 fTimer->Connect(
"Timeout()",
"WatchersRefresh",
this,
"DoPadRefresh()");
223 fTimer->Start(RefreshTimeIn_ms);
237 fTimer->Connect(
"Timeout()",
"WatchersRefresh",
this,
"DoCanvasRefresh()");
238 fTimer->Start(RefreshTimeIn_ms);
250 TVirtualPad *Pad = gROOT->GetSelectedPad();
252 if(Pad && Pad->GetListOfPrimitives())
263 if(gROOT->GetSelectedPad())
265 TCanvas *c = gROOT->GetSelectedPad()->GetCanvas();
299 if(TheCollector == 0x0)
302 cout<<
"No SpectraCollector found !"<<
endl;
307 TheCollector->
SetNPads(fNpadX,fNpadY);
310 CanvasName =
"TimeStamp_1h";
311 if(!gROOT->GetListOfCanvases()->FindObject(CanvasName))TheCollector->
Collectistos(
"//root/GwWatchers",
"CCrystal*_1hour",
"",
"TH1",
"",CanvasName.Data());
313 CanvasName =
"CoreEnergy";
314 if(!gROOT->GetListOfCanvases()->FindObject(CanvasName))TheCollector->
Collectistos(
"//root/GwWatchers",
"*HG*CalSpectra",
"",
"TH1",
"",CanvasName.Data());
316 CanvasName =
"EvsSegID";
317 if(!gROOT->GetListOfCanvases()->FindObject(CanvasName))TheCollector->
Collectistos(
"//root/GwWatchers",
"*EvsSegID",
"",
"TH2",
"",CanvasName.Data());
void SetNPads(int nx=5, int ny=5)
void CloseTab(const char *TabName)
******************************************************************************************/// ...
void CanvasRefresh(bool IsOn=false, Long_t RefreshTimeIn_ms=500)
******************************************************************************************/// ...
void StartManipViewLLP()
******************************************************************************************/// ...
ManipConfig(const char *name, const char *title)
*/
header file for PadManager.cpp
virtual ~Collector()
******************************************************************************************/// ...
void PadRefresh(bool IsOn=false, Long_t RefreshTimeIn_ms=500)
******************************************************************************************/// ...
void DoPadRefresh()
******************************************************************************************/// ...
TCanvas * NewCanvas(TString cname, TString ctitle)
void DoCanvasRefresh()
******************************************************************************************/// ...
LoupOnPad, a class to Loupe on a Pad in a Canvas with many pads in it.
WatchersRefresh(const char *name, const char *title)
*/
virtual ~WatchersRefresh()
******************************************************************************************/// ...
virtual ~ManipConfig()
******************************************************************************************/// ...
ADF::LogMessage & endl(ADF::LogMessage &log)
bool Collectistos(const char *Folder="//root/GwWatchers", const char *inc="", const char *exc="", const char *class_inc="TH1", const char *class_exc="", const char *CanvasName="Canvas")
******************************************************************************************/// ...
Collector(const char *name, const char *title)
*/