4 #include "WatcherClient.h"
14 #include "GANILSetup.C"
17 namespace _OnlineWatchersLLP_ {
60 using namespace _OnlineWatchersLLP_;
66 Int_t
ComputePort(std::string &which_crys, Int_t level_in_dataflow)
68 TString result =
"",
tmp = which_crys.data();
70 tmp.ReplaceAll(
"A",
"0");
71 tmp.ReplaceAll(
"B",
"1");
72 tmp.ReplaceAll(
"C",
"2");
74 result = Form(
"1%d%s",level_in_dataflow,
tmp.Data());
80 TDirectory *Watcher_dir = gROOT, *Watcher_dir_tag = gROOT;
86 Watcher_dir_tag = file_tag;
90 TTask *Snooper =
new LoopOnTasks(Watcher_dir,Watcher_dir_tag);
95 Snooper->Add ( wADF );
107 "Watchers on Crystal Frame",Watcher_dir,Watcher_dir_tag);
110 Snooper->Add ( wCrys );
120 Snooper->Add ( wCrys );
133 "Watchers on Calibrated Crystal Frame",Watcher_dir,Watcher_dir_tag);
136 Snooper->Add ( wCrys );
144 Snooper->Add ( wCrys );
156 "Watchers on PSA Frame",Watcher_dir,Watcher_dir_tag);
159 Snooper->Add ( wPSA );
167 Snooper->Add ( wPSA );
201 Snooper->Add(TSCollector);
204 gROOT->GetListOfTasks()->Add(Snooper);
213 TBrowser *
b = (TBrowser*)gROOT->GetListOfBrowsers()->Last();
215 TFolder *GwWatchersFolder = (TFolder*)gROOT->GetRootFolder()->FindObject(
"GwWatchers");
216 if(GwWatchersFolder) b->Add(GwWatchersFolder);
218 TFolder *RootFilesFolder = (TFolder*)gROOT->GetRootFolder()->FindObject(
"ROOT Files");
219 if(RootFilesFolder) b->Add(RootFilesFolder);
printf("******************************************************************** \n")
Int_t ComputePort(std::string &which_crys, Int_t level_in_dataflow)
EvapLMOF & full(EvapLMOF &reader)
Bool_t SetupWatchers(const char *df_type, FrameDispatcher *fd, const char *ext="")
It shows how to set up the watchers for different kind of data flow.
void CloseOnlineWatchers()
void OnlineWatchersLLP(TFile *file=0x0, TFile *file_tag=0x0, Bool_t full=false)
std::string gCrysLabel[gNumberOfCrystals]
void DoTSRateCollector(TTask *top_task, TSRateCollector *collector)
browse all dispatchers to look for TSRate Watcher and add them to the rate collector ...
To get a buffer from an actor, trigg on a Frame and dispach the Frame to sub-watchers.
Bool_t SetConnection(const Char_t *machine="localhost", UInt_t port=9090)
change the place where are picked data
To start a loop on tasks.
virtual void SetDirectory(TDirectory *mother_dir_of_watcher, TDirectory *mother_dir_tag, Bool_t load_objects=true)
to change the directory in which watcher's objects are stored
std::string gMachine[gNumberOfCrystals]
const Int_t gNumberOfCrystals
compute histograms for several TSRate