GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Gw::Watcher Class Reference

Base class for a Watcher. More...

#include <Watchers.h>

Inheritance diagram for Gw::Watcher:

Public Member Functions

virtual void Abort ()
 
virtual void Add (TTask *)
 add only Watchers to the list of tasks to avoid problems. More...
 
virtual void CleanTasks ()
 overloaded for efficiency reasons. allocation of TIter is see in Shark (macos) as time consuming More...
 
virtual void Continue ()
 to remove them from the TTask menu More...
 
virtual Bool_t GetDeletePool () const
 get flag to delete objects in pool More...
 
virtual TDirectory * GetDirectory (Option_t *opt="")
 to each watcher a TDirectory is associated More...
 
Short_t GetLastError () const
 
Short_t GetLastExecStatus () const
 to get the last status More...
 
virtual TObjArray & GetPoolOfObject ()
 
virtual TObjArray & GetReference ()
 
virtual ADF::DFTriggerGetTrigger () const
 To know the trigger in which the frame to be watched is embedded. More...
 
void Pass ()
 force fHasExecuted (recursively) to true More...
 
virtual void SetBreakin (Int_t=1)
 
virtual void SetBreakout (Int_t=1)
 
virtual void SetDeletePool (Bool_t d)
 set flag to delete objects in pool More...
 
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 More...
 
void SetLastError (Short_t s=0)
 TMP : migration to TreeWatcher with Cuts : should be removed. More...
 
void SetLastExecStatus (Short_t s=0)
 reset last status. 0 means no error, 0 < means error, > 0 means ok with conditions More...
 
virtual Bool_t SetTrigger (ADF::DFTrigger *)
 To set the Frames (through a trigger) associated to this watcher. More...
 
void ShowCanvas (Option_t *option="")
 Display some results. More...
 
virtual UInt_t Snapshot (Option_t *="*")
 change kind of Watcher More...
 
virtual void Tag (Option_t *opt="")
 Tag the current watcher. More...
 
virtual Bool_t TestTag (Option_t *opt)
 Compare the current spectra with the tagged ones using Kolmogorov test. More...
 
 Watcher ()
 
 Watcher (const char *name, const char *title, TDirectory *mother_dir_of_watcher=0x0, TDirectory *mother_dir_tag=0x0)
 
virtual void Zero (Option_t *hname="pool", Option_t *binning="")
 watch the current frame ... to be overwritten by the watcher More...
 
virtual ~Watcher ()
 

Static Public Member Functions

static WatcherGetLastRegistered (const Char_t *classname, Option_t *opt="baseclass")
 to retrieve the last registered watcher of one type. More...
 
static const TList * GetListOfWatchers ()
 
static void SetFirst (Watcher *)
 move a watcher on top of the list More...
 
static void SetGlobalDeletePool (Bool_t d)
 set static flag to delete objects in pool More...
 

Protected Member Functions

void AddToDir (TObject *, TDirectory *)
 
TObject * AddToPool (TObject *ob)
 facility for other watchers: keep a list of all histograms (objects) for global operations More...
 
void DirToDir (TDirectory *, TDirectory *, TObjArray &, Bool_t load_objects=true)
 utilities to add/move/remove objects from one dir to another one More...
 
virtual void DoCanvas (TCanvas *, Option_t *)
 To be overwritten by real implementation if a canvas is produced. More...
 
void DrawTag (TCanvas *, Option_t *)
 To display tagged histograms and their reference. More...
 
Bool_t GetFromTrigger (ADF::DFTrigger *, const char *, ADF::SharedFP *&)
 Extract from the trigger and given frame pointer (usefull for other watchers) More...
 
Bool_t GetPathOf (TFolder *f, TObject *searched, TString &path)
 in a folder look for the path to an elmement that is not a folder More...
 
TFolder * GetSubFolder (TFolder *topfolder, const Char_t *sub="")
 for a new histogram, it returns the folder it belongs to. It creates sub and all intermediates if required More...
 
void LoadObject (TObject *new_obj, TDirectory *root_dir)
 to specify what kind of watcher More...
 
Bool_t MakeDir (TFolder *f, TDirectory *mother_dir, Bool_t do_top=true)
 in order to save/load, the structure of the top folders should exists in the root dir More...
 
template<typename Histo_T >
Histo_T * MakeTH1 (const Char_t *hname, const Char_t *htitle, Int_t binx, Double_t xmin, Double_t xmax, const Char_t *sub="")
 Build an histogram, set it to sub directories if required and add it to the pool. More...
 
template<typename Histo_T >
Histo_T * MakeTH2 (const Char_t *hname, const Char_t *htitle, Int_t binx, Double_t xmin, Double_t xmax, Int_t biny, Double_t ymin, Double_t ymax, const Char_t *sub="")
 
template<typename Histo_T >
Histo_T * MakeTH3 (const Char_t *hname, const Char_t *htitle, Int_t binx, Double_t xmin, Double_t xmax, Int_t biny, Double_t ymin, Double_t ymax, Int_t binz, Double_t zmin, Double_t zmax, const Char_t *sub="")
 
TCanvas * NewCanvas (Option_t *)
 It creates a new embedded canvas. More...
 
void RemoveFromDir (TObject *, TDirectory *)
 
void TagOn (TObject *)
 Add this histogram to the list of tagged histograms. More...
 

Protected Attributes

TDirectory * fDirectory
 Objects are in folders. They can be saved/load in/from directory. This is the mother in which this watcher directory is set. More...
 
LogMessage fLog
 
TDirectory * fTagDirectory
 Tagged Objects are in folders. They can be saved/load in/from directory. This is the mother in which this watcher directory is set. More...
 
TFolder * fTopFolder
 Top folder in which ae stored all spectra. More...
 
ADF::DFTriggerfTrigger
 trigger associated to this watcher More...
 

Detailed Description

Base class for a Watcher.

A watcher is working on a particular type of Frame or several Frame. For that it is associated to a Trigger that content what needs the Watcher to do a job (see the Exec method that should be redefined in any particular Watcher). It could be simply just to display the content of a Frame or to perform more complex analysis.

Be careful however that several watchers are likely to be chained so avoid heavy processing of the data in one of them if it does not fit your analysis. For that, use a FrameDispacher, it gives the time requested for any Watcher to fullfil the task.

It inherits of TTask so that it could be displayed in a ROOT browser, and on the menu it could be set active/inactive.

Author
Olivier Stezowski

Definition at line 60 of file Watchers.h.


The documentation for this class was generated from the following files: