GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4AnalysisImp.h
Go to the documentation of this file.
1 // $Id: TGo4AnalysisImp.h 3430 2022-01-10 10:17:05Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4ANALYSISIMP_H
15 #define TGO4ANALYSISIMP_H
16 
17 #include "TGo4CommandReceiver.h"
18 #include "TObject.h"
19 #include "TString.h"
20 
21 class TH1;
22 class TH2;
23 class TTree;
24 class TGraph;
25 class TF1;
26 class TCanvas;
27 class TFolder;
28 class TNamed;
29 class TMutex;
30 class TStopwatch;
31 class TFile;
32 
37 class TGo4AnalysisStatus;
39 class TGo4AnalysisStep;
40 class TGo4AnalysisClient;
42 class TGo4DynamicEntry;
43 class TGo4Condition;
44 class TGo4WinCond;
45 class TGo4PolyCond;
46 class TGo4ShapedCond;
47 class TGo4ListCond;
48 class TGo4RollingGraph;
49 class TGo4Parameter;
51 class TGo4Picture;
52 class TGo4Fitter;
53 class TGo4ObjectStatus;
57 class TGo4EventElement;
58 class TGo4EventStore;
59 class TGo4EventSource;
60 class TGo4EventProcessor;
61 class TGo4TreeStructure;
64 class TGo4Sniffer;
65 class TGo4Ratemeter;
66 
77 class TGo4Analysis : public TObject, public TGo4CommandReceiver {
78 
79  friend class TGo4AnalysisStep;
80  friend class TGo4AnalysisClient;
81  friend class TGo4ComGetCurrentEvent;
82  friend class TGo4ComGetNamesList;
83  friend class TGo4ComGetEnvelope;
84  friend class TGo4ComSetObject;
86  friend class TGo4HistogramServer;
87  friend class TGo4AnalysisWebStatus;
88  friend class TGo4Sniffer;
89 
90 public:
91 
93  static const Int_t fgiAUTOSAVECOUNTS;
94 
96  static const Int_t fgiDYNLISTINTERVAL;
97 
99  static const Int_t fgiMACROSTARTPOLL;
100 
102  static const char *fgcDEFAULTFILENAME;
103 
105  static const char *fgcDEFAULTSTATUSFILENAME;
106 
108  static const char *fgcDEFAULTFILESUF;
109 
111  static const char *fgcTOPDYNAMICLIST;
112 
114  static const char fgcPYPROMPT;
115 
117  static const char *fgcPYINIT;
118 
119  static TGo4Analysis* Instance();
120 
121  static Bool_t Exists();
122 
124  static Bool_t IsBatchMode();
125 
127  static Bool_t IsClientMode();
128 
130  static Bool_t IsServerMode();
131 
132  static void SetRunningMode(int mode);
133 
134  virtual ~TGo4Analysis();
135 
136  virtual const char* GetName() const { return fAnalysisName.Data(); }
137 
138  void SetAnalysisName(const char *name) { fAnalysisName = name; }
139 
143  Int_t MainCycle();
144 
147  Int_t PreLoop();
148 
151  Int_t PostLoop();
152 
157  Int_t Process();
158 
164  virtual Int_t UserEventFunc();
165 
168  virtual Int_t UserPreLoop();
169 
172  virtual Int_t UserPostLoop();
173 
180  Int_t RunImplicitLoop(Int_t times, Bool_t showrate = kFALSE,
181  Double_t process_event_interval = -1., Bool_t iswebserver = kFALSE);
182 
185  virtual void CloseAnalysis();
186 
190  virtual Bool_t InitEventClasses();
191 
194 
204  Bool_t AddDynamicHistogram(const char *name,
205  const char *histo,
206  const char *hevx, const char* hmemx,
207  const char *hevy = 0, const char *hmemy = 0,
208  const char *hevz = 0, const char *hmemz = 0,
209  const char *condition = 0,
210  const char *cevx = 0, const char *cmemx = 0,
211  const char *cevy = 0, const char *cmemy = 0);
212 
217  Bool_t AddDynamicEntry(TGo4DynamicEntry *entry);
218 
222  Bool_t RemoveDynamicEntry(const char *entryname, const char *listname = 0);
223 
230  Bool_t AddObject(TNamed *anything, const char *subfolder = 0, Bool_t replace = kTRUE);
231 
236  TNamed* GetObject(const char *name, const char *folder = 0);
237 
241  Bool_t RemoveObject(const char *name, Bool_t del = kTRUE);
242 
247  Bool_t DeleteObjects(const char *name);
248 
253  Bool_t ClearObjects(const char *name);
254 
262  Bool_t ProtectObjects(const char *name, const Option_t *flags);
263 
267  Bool_t ResetBackStores(Bool_t clearflag = kFALSE);
268 
275  TObject* NextMatchingObject(const char *expr = 0,
276  const char* folder=0,
277  Bool_t reset=kFALSE);
278 
280  TGo4TreeStructure* CreateTreeStructure(const char *treename);
281 
284  Bool_t AddHistogram(TH1 *his, const char *subfolder = 0, Bool_t replace = kTRUE);
285 
291  Bool_t AddTree(TTree *tree, const char *subfolder = 0);
292 
297  Bool_t RemoveTree(TTree *tree, const char *stepname = 0);
298 
303  Bool_t AddTreeHistogram(const char* hisname, const char* treename, const char* varexp, const char* cutexp);
304 
306  TH1* GetHistogram(const char *name);
307 
309  TTree* GetTree(const char *name);
310 
314  Bool_t RemoveHistogram(const char *name, Bool_t del = kTRUE);
315 
319  Bool_t AddAnalysisCondition(TGo4Condition *con, const char *subfolder = 0);
320 
325  Bool_t SetAnalysisCondition(const char *name, TGo4Condition *con, Bool_t counter = kTRUE);
326 
330  TGo4Condition* GetAnalysisCondition(const char *name, const char *cond_cl = 0);
331 
334  Bool_t RemoveAnalysisCondition(const char *name);
335 
339  Bool_t AddParameter(TGo4Parameter *par, const char *subfolder = 0);
340 
345  Bool_t SetParameter(const char *name, TGo4Parameter *par);
346 
351  Bool_t SetParameterStatus(const char *name, TGo4ParameterStatus *par);
352 
356  TGo4Parameter* GetParameter(const char *name, const char *parameter_class = 0);
357 
360  Bool_t RemoveParameter(const char *name);
361 
365  Bool_t AddPicture(TGo4Picture *pic, const char *subfolder = 0);
366 
371  Bool_t SetPicture(const char *name, TGo4Picture *pic);
372 
375  TGo4Picture* GetPicture(const char *name);
376 
379  Bool_t RemovePicture(const char *name);
380 
384  Bool_t AddCanvas(TCanvas *can, const char *subfolder = 0);
385 
388  TCanvas* GetCanvas(const char *name);
389 
392  Bool_t RemoveCanvas(const char *name);
393 
397 
401 
405  TGo4ObjectStatus* CreateObjectStatus(const char *name, const char *folder = 0);
406 
409 
411  TFolder* GetObjectFolder();
412 
414  void UpdateStatus(TGo4AnalysisStatus *state);
415 
424  void SetStatus(TGo4AnalysisStatus *state);
425 
428  Bool_t LoadStatus(const char *filename = 0);
429 
432  Bool_t LoadObjects(const char *filename = 0);
433 
435  Bool_t SaveStatus(const char *filename = 0);
436 
440  void SetStepChecking(Bool_t on = kTRUE);
441 
445  Bool_t SetFirstStep(const char *name);
446 
451  Bool_t SetLastStep(const char *name);
452 
463  Bool_t SetStepStorage(const char *name, Bool_t on);
464 
468  Bool_t NewStepStore(const char *name, TGo4EventStoreParameter *par);
469 
473  Bool_t NewStepSource(const char *name, TGo4EventSourceParameter *par);
474 
478  Bool_t NewStepProcessor(const char *name, TGo4EventProcessorParameter *par);
479 
481  void SetAutoSaveInterval(Int_t interval = 0) { fiAutoSaveInterval = interval; }
482 
484  void SetAutoSaveFile(const char *filename = 0,
485  Bool_t overwrite=kFALSE,
486  Int_t compression=5);
487 
489  Bool_t IsAutoSaveFileName() const;
490 
492  Int_t LockAutoSave();
493 
495  Int_t UnLockAutoSave();
496 
498  void SetAutoSave(Bool_t on = kTRUE) { fbAutoSaveOn = on; }
499 
501  Bool_t IsAutoSaveOn() const { return fbAutoSaveOn; }
502 
504  void SetAutoSaveFileChange(Bool_t on = kTRUE) { fbAutoSaveFileChange = on; }
505 
508  Bool_t IsAutoSaveFileChange() const { return fbAutoSaveFileChange; }
509 
511  Bool_t IsInitDone() const { return fbInitIsDone; }
512 
517  Bool_t IsRunning();
518 
522  void SetRunning(Bool_t on=kTRUE);
523 
527  Int_t WaitForStart();
528 
530  Int_t IsErrorStopEnabled();
531 
533  void SetNewInputFile(Bool_t on=kTRUE) { fbNewInputFile = on; }
534 
536  Bool_t IsNewInputFile() const { return fbNewInputFile; }
537 
539  void SetInputFileName(const char *fname) { fxCurrentInputFileName = fname; }
540 
542  const char* GetInputFileName() const { return fxCurrentInputFileName.Data(); }
543 
545  const char* GetDefaultTestFileName() const { return fxDefaultTestFileName.Data(); }
546 
547  void SetDynListInterval(Int_t val);
548 
549  Int_t GetDynListInterval();
550 
554  TGo4EventElement* GetInputEvent(const char *stepname);
555 
560  TGo4EventElement* GetInputEvent(Int_t stepindex);
561 
566  TGo4EventElement* GetOutputEvent(const char *stepname);
567 
574  TGo4EventElement* GetOutputEvent(Int_t stepindex);
575 
580 
582  TGo4EventElement* GetEventStructure(const char *name);
583 
590  void Message(Int_t prio, const char *text, ...);
591 
594  void SendObjectToGUI(TObject *ob);
595 
598  void StartObjectServer(const char *basename, const char *passwd);
599 
601  void StopObjectServer();
602 
605  void SetAdministratorPassword(const char *passwd);
606 
609  void SetControllerPassword(const char *passwd);
610 
613  void SetObserverPassword(const char *passwd);
614 
616  virtual void Print(Option_t *opt = "") const;
617 
619  void PrintHistograms(const char *expression = 0);
620 
622  void PrintConditions(const char *expression = 0);
623 
625  void PrintParameters(const char *expression = 0);
626 
628  void PrintDynamicList();
629 
635  void ShowEvent(const char *stepname, Bool_t isoutput = kTRUE);
636 
641  Int_t StoreParameter(const char *name, TGo4Parameter *par);
642 
647  Int_t StoreCondition(const char *name, TGo4Condition *con);
648 
653  Int_t StoreFitter(const char *name, TGo4Fitter *fit);
654 
659  Int_t StoreFolder(const char *stepname, TFolder *folder);
660 
664  Int_t StoreFolder(const char *stepname, const char *foldername);
665 
668  void AutoSave();
669 
677  Bool_t AddAnalysisStep(TGo4AnalysisStep *next);
678 
681  TGo4AnalysisStep* GetAnalysisStep(const char *name);
682 
684  TGo4AnalysisStep* GetAnalysisStepNum(Int_t number);
685 
687  void DefineServerPasswords(const char *admin, const char *controller, const char *observer);
688 
690  void SetBatchLoopCount(Int_t cnt = -1) { fBatchLoopCount = cnt; }
691 
693  void SetMakeWithAutosave(Bool_t on = kTRUE) { fbMakeWithAutosave = on; }
694 
697  Bool_t IsObjMade() { return fbObjMade; }
698 
711  TH1* MakeTH1(char type, const char *fullname, const char *title,
712  Int_t nbinsx, Double_t xlow, Double_t xup,
713  const char *xtitle = 0, const char *ytitle = 0);
714 
728  TH2* MakeTH2(char type, const char *fullname, const char *title,
729  Int_t nbinsx, Double_t xlow, Double_t xup,
730  Int_t nbinsy, Double_t ylow, Double_t yup,
731  const char *xtitle = 0, const char *ytitle = 0, const char *ztitle = 0);
732 
737  TGo4WinCond* MakeWinCond(const char *fullname,
738  Double_t xmin, Double_t xmax,
739  const char* HistoName = 0);
740 
746  TGo4WinCond* MakeWinCond(const char *fullname,
747  Double_t xmin, Double_t xmax,
748  Double_t ymin, Double_t ymax,
749  const char* HistoName = 0);
750 
760  TGo4PolyCond* MakePolyCond(const char *fullname,
761  Int_t npoints,
762  Double_t (*points) [2],
763  const char* HistoName = 0,
764  Bool_t shapedcond=kFALSE);
765 
773  TGo4ShapedCond* MakeEllipseCond(const char *fullname,
774  Int_t npoints,
775  Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta=0,
776  const char *HistoName = 0);
777 
784  TGo4ShapedCond* MakeCircleCond(const char *fullname,
785  Int_t npoints, Double_t cx, Double_t cy, Double_t r,
786  const char *HistoName = 0);
787 
794  TGo4ShapedCond* MakeBoxCond(const char *fullname, Double_t cx, Double_t cy,
795  Double_t a1, Double_t a2, Double_t theta,
796  const char *HistoName = 0);
797 
808  TGo4ShapedCond* MakeFreeShapeCond(const char *fullname, Int_t npoints,
809  Double_t (*points)[2], const char *HistoName = 0);
810 
817  TGo4ListCond* MakeListCond(const char *fullname, const Int_t num,
818  const Int_t *values, const char *HistoName = 0);
819 
827  TGo4ListCond* MakeListCond(const char *fullname, const Int_t start,
828  const Int_t stop, const Int_t step = 1, const char *HistoName = 0);
829 
834  TGo4ListCond* MakeListCond(const char *fullname, const char *title,
835  const char *HistoName = 0);
836 
841  TGraph* MakeGraph(const char *fullname, const char *title, Int_t points = 0,
842  Double_t *xvalues = 0, Double_t *yvalues = 0);
843 
847  TGraph* MakeGraph(const char *fullname, const char *title, TF1 *function);
848 
853  TGo4RollingGraph* MakeRollingGraph(const char* fullname, const char* title, Int_t points = 0, Int_t average = 1);
854 
866  TGo4Parameter* MakeParameter(const char *fullname,
867  const char* classname,
868  const char* cmd = 0);
869 
871  void SetSortedOrder(Bool_t on = kTRUE);
872 
874  Bool_t IsSortedOrder() const;
875 
878  Long_t ExecuteScript(const char *script_name);
879 
883  Long_t ExecutePython(const char *script_name, Int_t *errcode = 0);
884 
889  Long_t ExecuteLine(const char *command, Int_t *errcode = 0);
890 
892  void ProcessCrtlCSignal();
893 
895  void SetSniffer(TGo4AnalysisSniffer* sniff) { fSniffer = sniff; }
896 
899 
902 
904  void StopAnalysis();
905 
907  void StartAnalysis();
908 
910  void ProcessEvents();
911 
912 protected:
913 
916  Bool_t fbInitIsDone;
917 
920  Bool_t fbAutoSaveOn;
921 
923  TGo4Analysis(const char *name = 0);
924 
926  TGo4Analysis(int argc, char **argv);
927 
929  void Constructor();
930 
936  Int_t ProcessAnalysisSteps();
937 
938 private:
939 
942  Bool_t EvaluateFolderpath(const char *fullname, TString &object, TString &folder);
943 
950  TTree* CreateSingleEventTree(const char *name, Bool_t isoutput = kTRUE);
951 
954 
956  void UpdateNamesList();
957 
961 
965  void SetOutputEvent(TGo4EventElement *event);
966 
969  Bool_t AddEventStore(TGo4EventStore *store);
970 
972  Bool_t RemoveEventStore(TGo4EventStore *store);
973 
976  Bool_t AddEventSource(TGo4EventSource *source);
977 
979  Bool_t RemoveEventSource(TGo4EventSource *source);
980 
984 
987 
991 
994 
997 
1002  void SendMessageToGUI(Int_t level, Bool_t printout, const char *text);
1003 
1005  void OpenAutoSaveFile(bool for_writing = false);
1006 
1008  void CloseAutoSaveFile();
1009 
1012 
1014  Bool_t IsStopWorking() const { return fxDoWorkingFlag == flagStop; }
1015 
1016  /* for signal handler to shutdown analysis server, if existing*/
1017  void ShutdownServer();
1018 
1021 
1025  static Bool_t fbExists;
1026 
1029  static Int_t fiRunningMode;
1030 
1033 
1037 
1041 
1044 
1046  TStopwatch *fxAutoSaveClock;
1047 
1052 
1055 
1060 
1062  TFile *fxAutoFile;
1063 
1065  TString fxAutoFileName;
1066 
1069 
1072 
1076 
1079 
1083 
1087 
1091 
1094 
1097 
1099  TString fAnalysisName;
1100 
1103 
1106 
1109 
1112 
1115 
1117  Bool_t fbObjMade;
1118 
1120  Bool_t fbPythonBound;
1121 
1123  Int_t fNumCtrlC;
1124 
1127 
1130 
1133 
1135 };
1136 
1137 #endif
Bool_t AddTreeHistogram(const char *hisname, const char *treename, const char *varexp, const char *cutexp)
Bool_t IsInitDone() const
void SetRunning(Bool_t on=kTRUE)
ClassDef(TGo4Sniffer, 1)
TH1 * MakeTH1(char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, const char *xtitle=0, const char *ytitle=0)
Graphs that renew themselves iteratively to monitor a value.
void PrintParameters(const char *expression=0)
static const Int_t fgiMACROSTARTPOLL
TGo4ListCond * MakeListCond(const char *fullname, const Int_t num, const Int_t *values, const char *HistoName=0)
void SetMakeWithAutosave(Bool_t on=kTRUE)
TGo4Analysis(const char *name=0)
static Bool_t IsServerMode()
Bool_t IsAutoSaveFileChange() const
static const char * fgcPYINIT
void SetAutoSaveFileChange(Bool_t on=kTRUE)
Bool_t NewStepProcessor(const char *name, TGo4EventProcessorParameter *par)
TGo4ShapedCond * MakeFreeShapeCond(const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=0)
Bool_t SetStepStorage(const char *name, Bool_t on)
Bool_t LoadStatus(const char *filename=0)
Bool_t AddCanvas(TCanvas *can, const char *subfolder=0)
TGo4ShapedCond * MakeCircleCond(const char *fullname, Int_t npoints, Double_t cx, Double_t cy, Double_t r, const char *HistoName=0)
virtual Int_t UserPreLoop()
TGo4AnalysisClient * fxAnalysisSlave
Bool_t IsAutoSaveOn() const
void SetAnalysisName(const char *name)
void SetOutputEvent(TGo4EventElement *event)
void DefineServerPasswords(const char *admin, const char *controller, const char *observer)
Bool_t RemoveParameter(const char *name)
Bool_t AddParameter(TGo4Parameter *par, const char *subfolder=0)
void UpdateStatus(TGo4AnalysisStatus *state)
Bool_t SetParameter(const char *name, TGo4Parameter *par)
TGo4ShapedCond * MakeEllipseCond(const char *fullname, Int_t npoints, Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta=0, const char *HistoName=0)
virtual void CloseAnalysis()
TGo4AnalysisSniffer * GetSniffer() const
Int_t StoreFolder(const char *stepname, TFolder *folder)
Bool_t LoadObjects(const char *filename=0)
TGo4TreeStructure * CreateTreeStructure(const char *treename)
void SetObserverPassword(const char *passwd)
Int_t StoreParameter(const char *name, TGo4Parameter *par)
TGo4InterruptHandler * fxInterruptHandler
Bool_t AddDynamicHistogram(const char *name, const char *histo, const char *hevx, const char *hmemx, const char *hevy=0, const char *hmemy=0, const char *hevz=0, const char *hmemz=0, const char *condition=0, const char *cevx=0, const char *cmemx=0, const char *cevy=0, const char *cmemy=0)
void SetControllerPassword(const char *passwd)
void SetSortedOrder(Bool_t on=kTRUE)
Bool_t EvaluateFolderpath(const char *fullname, TString &object, TString &folder)
TString fServerCtrlPass
static const char * fgcDEFAULTSTATUSFILENAME
Int_t IsErrorStopEnabled()
void SendMessageToGUI(Int_t level, Bool_t printout, const char *text)
void SetStepChecking(Bool_t on=kTRUE)
static Bool_t IsClientMode()
TGo4AnalysisObjectNames * fxObjectNames
Int_t StoreFitter(const char *name, TGo4Fitter *fit)
void SetSniffer(TGo4AnalysisSniffer *sniff)
Bool_t RemoveEventSource(TGo4EventSource *source)
void ShowEvent(const char *stepname, Bool_t isoutput=kTRUE)
TString fServerAdminPass
TString fxDefaultTestFileName
Bool_t SetParameterStatus(const char *name, TGo4ParameterStatus *par)
TString fxConfigFilename
Bool_t RemoveAnalysisCondition(const char *name)
TGo4AnalysisClient * GetAnalysisClient() const
TGo4AnalysisObjectManager * fxObjectManager
virtual Int_t UserEventFunc()
Bool_t SetFirstStep(const char *name)
Bool_t IsStopWorking() const
TH2 * MakeTH2(char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, const char *xtitle=0, const char *ytitle=0, const char *ztitle=0)
Int_t fiAutoSaveInterval
TGo4AnalysisStepManager * fxStepManager
void PrintHistograms(const char *expression=0)
void SetDynListInterval(Int_t val)
TGo4AnalysisObjectNames * CreateNamesList()
TMutex * fxAutoSaveMutex
TGo4EventElement * GetOutputEvent()
TTree * CreateSingleEventTree(const char *name, Bool_t isoutput=kTRUE)
Bool_t fbMakeWithAutosave
Bool_t RemoveEventStructure(TGo4EventElement *ev)
TGo4Condition * GetAnalysisCondition(const char *name, const char *cond_cl=0)
TGo4AnalysisStep * GetAnalysisStep(const char *name)
static const char * fgcTOPDYNAMICLIST
void SetAdministratorPassword(const char *passwd)
Bool_t AddHistogram(TH1 *his, const char *subfolder=0, Bool_t replace=kTRUE)
Long_t ExecutePython(const char *script_name, Int_t *errcode=0)
static const char fgcPYPROMPT
void SetNewInputFile(Bool_t on=kTRUE)
void ProcessCrtlCSignal()
Bool_t SetAnalysisCondition(const char *name, TGo4Condition *con, Bool_t counter=kTRUE)
TString fxAutoFileName
Bool_t IsNewInputFile() const
Bool_t ResetBackStores(Bool_t clearflag=kFALSE)
static const char * fgcDEFAULTFILENAME
TGo4Parameter * MakeParameter(const char *fullname, const char *classname, const char *cmd=0)
TGo4EventElement * GetEventStructure(const char *name)
static const char * fgcDEFAULTFILESUF
TH1 * GetHistogram(const char *name)
Int_t RunImplicitLoop(Int_t times, Bool_t showrate=kFALSE, Double_t process_event_interval=-1., Bool_t iswebserver=kFALSE)
TGo4EventElement * GetInputEvent(const char *stepname)
TCanvas * GetCanvas(const char *name)
TStopwatch * fxAutoSaveClock
const char * GetInputFileName() const
void SetAutoSave(Bool_t on=kTRUE)
Bool_t AddObject(TNamed *anything, const char *subfolder=0, Bool_t replace=kTRUE)
Bool_t RemoveEventStore(TGo4EventStore *store)
void SendObjectToGUI(TObject *ob)
TString fServerObserverPass
Bool_t AddEventStructure(TGo4EventElement *ev)
void Message(Int_t prio, const char *text,...)
Bool_t AddEventSource(TGo4EventSource *source)
Bool_t AddPicture(TGo4Picture *pic, const char *subfolder=0)
void OpenAutoSaveFile(bool for_writing=false)
Bool_t AddAnalysisCondition(TGo4Condition *con, const char *subfolder=0)
Int_t StoreCondition(const char *name, TGo4Condition *con)
Bool_t AddEventProcessor(TGo4EventProcessor *pro)
TGo4Parameter * GetParameter(const char *name, const char *parameter_class=0)
Long_t ExecuteScript(const char *script_name)
TTree * GetTree(const char *name)
static Bool_t IsBatchMode()
Bool_t DeleteObjects(const char *name)
static Bool_t fbExists
Bool_t RemoveCanvas(const char *name)
Bool_t RemoveEventProcessor(TGo4EventProcessor *pro)
TString fAnalysisName
virtual Int_t UserPostLoop()
void StartObjectServer(const char *basename, const char *passwd)
Bool_t ClearObjects(const char *name)
TGo4Picture * GetPicture(const char *name)
TGo4Ratemeter * fxRate
Int_t fiAutoSaveCompression
void SetInputFileName(const char *fname)
virtual const char * GetName() const
static TGo4Analysis * fxInstance
Bool_t AddTree(TTree *tree, const char *subfolder=0)
TGo4AnalysisObjectManager * ObjectManager() const
Bool_t RemoveTree(TTree *tree, const char *stepname=0)
TGo4ShapedCond * MakeBoxCond(const char *fullname, Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta, const char *HistoName=0)
virtual ~TGo4Analysis()
TGo4AnalysisSniffer * fSniffer
TGo4ObjectStatus * CreateObjectStatus(const char *name, const char *folder=0)
TGo4RollingGraph * MakeRollingGraph(const char *fullname, const char *title, Int_t points=0, Int_t average=1)
virtual Bool_t InitEventClasses()
virtual void Print(Option_t *opt="") const
Bool_t NewStepStore(const char *name, TGo4EventStoreParameter *par)
TObject * NextMatchingObject(const char *expr=0, const char *folder=0, Bool_t reset=kFALSE)
void SetAnalysisClient(TGo4AnalysisClient *cli)
static Int_t fiRunningMode
Bool_t RemoveObject(const char *name, Bool_t del=kTRUE)
Bool_t IsAutoSaveFileName() const
Bool_t IsSortedOrder() const
Long_t ExecuteLine(const char *command, Int_t *errcode=0)
void SetAutoSaveFile(const char *filename=0, Bool_t overwrite=kFALSE, Int_t compression=5)
const char * GetDefaultTestFileName() const
TGo4AnalysisStep * GetAnalysisStepNum(Int_t number)
Bool_t AddAnalysisStep(TGo4AnalysisStep *next)
Bool_t ProtectObjects(const char *name, const Option_t *flags)
Bool_t SetPicture(const char *name, TGo4Picture *pic)
Bool_t SaveStatus(const char *filename=0)
TGo4AnalysisObjectNames * GetNamesList() const
Bool_t RemoveDynamicEntry(const char *entryname, const char *listname=0)
Bool_t fbAutoSaveOverwrite
void SetBatchLoopCount(Int_t cnt=-1)
TString fxCurrentInputFileName
TNamed * GetObject(const char *name, const char *folder=0)
Bool_t AddDynamicEntry(TGo4DynamicEntry *entry)
TGo4AnalysisStatus * CreateStatus()
static Bool_t Exists()
Bool_t RemoveHistogram(const char *name, Bool_t del=kTRUE)
Int_t ProcessAnalysisSteps()
enum TGo4Analysis::@0 fxDoWorkingFlag
Bool_t AddEventStore(TGo4EventStore *store)
static const Int_t fgiDYNLISTINTERVAL
static void SetRunningMode(int mode)
static TGo4Analysis * Instance()
TGo4EventElement * fxSampleEvent
static const Int_t fgiAUTOSAVECOUNTS
Int_t GetDynListInterval()
TGo4AnalysisWebStatus * CreateWebStatus()
TGo4PolyCond * MakePolyCond(const char *fullname, Int_t npoints, Double_t(*points)[2], const char *HistoName=0, Bool_t shapedcond=kFALSE)
Bool_t IsObjMade()
Bool_t NewStepSource(const char *name, TGo4EventSourceParameter *par)
Bool_t fbAutoSaveFileChange
void PrintConditions(const char *expression=0)
TGraph * MakeGraph(const char *fullname, const char *title, Int_t points=0, Double_t *xvalues=0, Double_t *yvalues=0)
TFolder * GetObjectFolder()
Bool_t RemovePicture(const char *name)
Bool_t SetLastStep(const char *name)
void SetAutoSaveInterval(Int_t interval=0)
TGo4WinCond * MakeWinCond(const char *fullname, Double_t xmin, Double_t xmax, const char *HistoName=0)
void SetStatus(TGo4AnalysisStatus *state)