GSI Object Oriented Online Offline (Go4)  GO4-6.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4AnalysisImp.h
Go to the documentation of this file.
1 // $Id: TGo4AnalysisImp.h 2627 2019-10-01 08:02:45Z 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, Double_t process_event_interval = -1., Bool_t iswebserver=kFALSE);
181 
184  virtual void CloseAnalysis();
185 
189  virtual Bool_t InitEventClasses();
190 
193 
203  Bool_t AddDynamicHistogram(const char* name,
204  const char* histo,
205  const char* hevx, const char* hmemx,
206  const char* hevy=0, const char* hmemy=0,
207  const char* hevz=0, const char* hmemz=0,
208  const char* condition=0,
209  const char* cevx=0, const char* cmemx=0,
210  const char* cevy=0, const char* cmemy=0);
211 
216  Bool_t AddDynamicEntry(TGo4DynamicEntry* entry);
217 
221  Bool_t RemoveDynamicEntry(const char* entryname, const char* listname=0);
222 
229  Bool_t AddObject(TNamed * anything, const char* subfolder=0, Bool_t replace=kTRUE);
230 
235  TNamed * GetObject(const char* name, const char* folder=0);
236 
240  Bool_t RemoveObject(const char* name, Bool_t del=kTRUE);
241 
246  Bool_t DeleteObjects(const char * name);
247 
252  Bool_t ClearObjects(const char* name);
253 
261  Bool_t ProtectObjects(const char* name, const Option_t* flags);
262 
266  Bool_t ResetBackStores(Bool_t clearflag=kFALSE);
267 
274  TObject* NextMatchingObject(const char* expr=0,
275  const char* folder=0,
276  Bool_t reset=kFALSE);
277 
279  TGo4TreeStructure* CreateTreeStructure(const char* treename);
280 
283  Bool_t AddHistogram(TH1* his , const char* subfolder=0, Bool_t replace=kTRUE);
284 
290  Bool_t AddTree(TTree* tree, const char* subfolder=0);
291 
296  Bool_t RemoveTree(TTree * tree, const char* stepname=0);
297 
302  Bool_t AddTreeHistogram(const char* hisname, const char* treename, const char* varexp, const char* cutexp);
303 
305  TH1* GetHistogram(const char* name);
306 
308  TTree * GetTree(const char* name);
309 
313  Bool_t RemoveHistogram(const char* name, Bool_t del=kTRUE);
314 
318  Bool_t AddAnalysisCondition(TGo4Condition * con, const char* subfolder=0);
319 
324  Bool_t SetAnalysisCondition(const char* name, TGo4Condition* con, Bool_t counter=kTRUE);
325 
329  TGo4Condition * GetAnalysisCondition(const char* name, const char* cond_cl = 0);
330 
333  Bool_t RemoveAnalysisCondition(const char* name);
334 
338  Bool_t AddParameter(TGo4Parameter * par, const char* subfolder=0);
339 
344  Bool_t SetParameter(const char* name, TGo4Parameter * par);
345 
350  Bool_t SetParameterStatus(const char* name, TGo4ParameterStatus* par);
351 
355  TGo4Parameter * GetParameter(const char* name, const char* parameter_class = 0);
356 
359  Bool_t RemoveParameter(const char* name);
360 
364  Bool_t AddPicture(TGo4Picture * pic, const char* subfolder=0);
365 
370  Bool_t SetPicture(const char* name, TGo4Picture * pic);
371 
374  TGo4Picture * GetPicture(const char* name);
375 
378  Bool_t RemovePicture(const char * name);
379 
383  Bool_t AddCanvas(TCanvas * can, const char* subfolder=0);
384 
387  TCanvas * GetCanvas(const char* name);
388 
391  Bool_t RemoveCanvas(const char * name);
392 
396 
400 
404  TGo4ObjectStatus* CreateObjectStatus(const char * name, const char* folder=0);
405 
408 
410  TFolder * GetObjectFolder();
411 
413  void UpdateStatus(TGo4AnalysisStatus* state);
414 
423  void SetStatus(TGo4AnalysisStatus * state);
424 
427  Bool_t LoadStatus(const char* filename=0);
428 
431  Bool_t LoadObjects(const char* filename=0);
432 
434  Bool_t SaveStatus(const char* filename=0);
435 
439  void SetStepChecking(Bool_t on=kTRUE);
440 
444  Bool_t SetFirstStep(const char* name);
445 
450  Bool_t SetLastStep(const char* name);
451 
462  Bool_t SetStepStorage(const char* name, Bool_t on);
463 
467  Bool_t NewStepStore(const char* name, TGo4EventStoreParameter* par);
468 
472  Bool_t NewStepSource(const char* name, TGo4EventSourceParameter * par);
473 
477  Bool_t NewStepProcessor(const char* name, TGo4EventProcessorParameter * par);
478 
480  void SetAutoSaveInterval(Int_t interval=0) { fiAutoSaveInterval=interval; }
481 
483  void SetAutoSaveFile(const char* filename=0,
484  Bool_t overwrite=kFALSE,
485  Int_t compression=5);
486 
488  Bool_t IsAutoSaveFileName() const;
489 
491  Int_t LockAutoSave();
492 
494  Int_t UnLockAutoSave();
495 
497  void SetAutoSave(Bool_t on=kTRUE) { fbAutoSaveOn=on; }
498 
500  Bool_t IsAutoSaveOn() const { return fbAutoSaveOn; }
501 
503  void SetAutoSaveFileChange(Bool_t on=kTRUE) {fbAutoSaveFileChange=on;}
504 
507  Bool_t IsAutoSaveFileChange() const { return fbAutoSaveFileChange; }
508 
510  Bool_t IsInitDone() const { return fbInitIsDone; }
511 
516  Bool_t IsRunning();
517 
521  void SetRunning(Bool_t on=kTRUE);
522 
526  Int_t WaitForStart();
527 
529  Int_t IsErrorStopEnabled();
530 
532  void SetNewInputFile(Bool_t on=kTRUE) { fbNewInputFile=on; }
533 
535  Bool_t IsNewInputFile() const { return fbNewInputFile; }
536 
538  void SetInputFileName(const char* fname) { fxCurrentInputFileName = fname; }
539 
541  const char* GetInputFileName() const { return fxCurrentInputFileName.Data(); }
542 
544  const char* GetDefaultTestFileName() const { return fxDefaultTestFileName.Data(); }
545 
546  void SetDynListInterval(Int_t val);
547 
548  Int_t GetDynListInterval();
549 
553  TGo4EventElement* GetInputEvent(const char* stepname);
554 
559  TGo4EventElement* GetInputEvent(Int_t stepindex);
560 
565  TGo4EventElement* GetOutputEvent(const char* stepname);
566 
573  TGo4EventElement* GetOutputEvent(Int_t stepindex);
574 
579 
581  TGo4EventElement * GetEventStructure(const char * name);
582 
589  void Message(Int_t prio, const char* text,...);
590 
593  void SendObjectToGUI(TObject* ob);
594 
597  void StartObjectServer(const char* basename, const char* passwd);
598 
600  void StopObjectServer();
601 
604  void SetAdministratorPassword(const char* passwd);
605 
608  void SetControllerPassword(const char* passwd);
609 
612  void SetObserverPassword(const char* passwd);
613 
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 
712  TH1* MakeTH1(char type, const char* fullname, const char* title,
713  Int_t nbinsx, Double_t xlow, Double_t xup,
714  const char* xtitle = 0, const char* ytitle = 0);
715 
730  TH2* MakeTH2(char type, const char* fullname, const char* title,
731  Int_t nbinsx, Double_t xlow, Double_t xup,
732  Int_t nbinsy, Double_t ylow, Double_t yup,
733  const char* xtitle = 0, const char* ytitle = 0, const char* ztitle = 0);
734 
740  TGo4WinCond* MakeWinCond(const char* fullname,
741  Double_t xmin, Double_t xmax,
742  const char* HistoName = 0);
743 
750  TGo4WinCond* MakeWinCond(const char* fullname,
751  Double_t xmin, Double_t xmax,
752  Double_t ymin, Double_t ymax,
753  const char* HistoName = 0);
754 
765  TGo4PolyCond* MakePolyCond(const char* fullname,
766  Int_t npoints,
767  Double_t (*points) [2],
768  const char* HistoName = 0,
769  Bool_t shapedcond=kFALSE);
770 
771 
772 
781  TGo4ShapedCond* MakeEllipseCond(const char* fullname,
782  Int_t npoints,
783  Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta=0,
784  const char* HistoName = 0);
785 
793  TGo4ShapedCond* MakeCircleCond(const char* fullname,
794  Int_t npoints, Double_t cx, Double_t cy, Double_t r,
795  const char* HistoName = 0);
796 
804  TGo4ShapedCond* MakeBoxCond(const char* fullname, Double_t cx, Double_t cy, Double_t a1, Double_t a2, Double_t theta,
805  const char* HistoName = 0);
806 
818  TGo4ShapedCond* MakeFreeShapeCond(const char* fullname,
819  Int_t npoints,
820  Double_t (*points) [2],
821  const char* HistoName = 0);
822 
823 
824 
832  TGo4ListCond* MakeListCond(const char* fullname, const Int_t num, const Int_t * values, const char* HistoName = 0);
833 
842  TGo4ListCond* MakeListCond(const char* fullname, const Int_t start, const Int_t stop, const Int_t step = 1,
843  const char* HistoName = 0);
844 
849  TGo4ListCond* MakeListCond(const char* fullname, const char* title, const char* HistoName = 0);
850 
851 
852 
857  TGraph* MakeGraph(const char* fullname, const char* title, Int_t points = 0, Double_t* xvalues = 0,
858  Double_t* yvalues = 0);
859 
863  TGraph* MakeGraph(const char* fullname, const char* title, TF1* function);
864 
869  TGo4RollingGraph* MakeRollingGraph(const char* fullname, const char* title, Int_t points = 0, Int_t average = 1);
870 
871 
872 
873 
886  TGo4Parameter* MakeParameter(const char* fullname,
887  const char* classname,
888  const char* cmd = 0);
889 
890 
891 
892 
894  void SetSortedOrder(Bool_t on = kTRUE);
895 
897  Bool_t IsSortedOrder() const;
898 
901  Long_t ExecuteScript(const char* script_name);
902 
906  Long_t ExecutePython(const char* script_name, Int_t* errcode=0);
907 
908 
913  Long_t ExecuteLine(const char* command, Int_t* errcode=0);
914 
915 
917  void ProcessCrtlCSignal();
918 
920  void SetSniffer(TGo4AnalysisSniffer* sniff) { fSniffer = sniff; }
921 
924 
927 
929  void StopAnalysis();
930 
932  void StartAnalysis();
933 
935  void ProcessEvents();
936 
937  protected:
938 
941  Bool_t fbInitIsDone;
942 
945  Bool_t fbAutoSaveOn;
946 
948  TGo4Analysis(const char* name = 0);
949 
951  TGo4Analysis(int argc, char** argv);
952 
954  void Constructor();
955 
956 
962  Int_t ProcessAnalysisSteps();
963 
964  private:
965 
966 
969  Bool_t EvaluateFolderpath(const char* fullname, TString& object, TString& folder);
970 
971 
978  TTree* CreateSingleEventTree(const char* name, Bool_t isoutput=kTRUE);
979 
982 
984  void UpdateNamesList();
985 
989 
993  void SetOutputEvent(TGo4EventElement * event);
994 
997  Bool_t AddEventStore(TGo4EventStore * store);
998 
1000  Bool_t RemoveEventStore(TGo4EventStore * store);
1001 
1004  Bool_t AddEventSource(TGo4EventSource * source);
1005 
1007  Bool_t RemoveEventSource(TGo4EventSource* source);
1008 
1011  Bool_t AddEventProcessor(TGo4EventProcessor * pro);
1012 
1015 
1018  Bool_t AddEventStructure(TGo4EventElement * ev);
1019 
1022 
1025 
1030  void SendMessageToGUI(Int_t level, Bool_t printout, const char* text);
1031 
1033  void OpenAutoSaveFile(bool for_writing = false);
1034 
1036  void CloseAutoSaveFile();
1037 
1040 
1042  Bool_t IsStopWorking() const { return fxDoWorkingFlag == flagStop; }
1043 
1044  /* for signal handler to shutdown analysis server, if existing*/
1045  void ShutdownServer();
1046 
1049 
1053  static Bool_t fbExists;
1054 
1057  static Int_t fiRunningMode;
1058 
1061 
1065 
1069 
1072 
1074  TStopwatch* fxAutoSaveClock;
1075 
1080 
1083 
1088 
1090  TFile* fxAutoFile;
1091 
1093  TString fxAutoFileName;
1094 
1097 
1100 
1104 
1107 
1111 
1115 
1119 
1122 
1125 
1127  TString fAnalysisName;
1128 
1131 
1134 
1137 
1140 
1143 
1145  Bool_t fbObjMade;
1146 
1148  Bool_t fbPythonBound;
1149 
1151  Int_t fNumCtrlC;
1152 
1155 
1158 
1161 
1163 };
1164 
1165 #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)