00001 //--------------------------------------------------------------- 00002 // Go4 Release Package v2.10-5 (build 21005) 00003 // 03-Nov-2005 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at DVEE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4DYNAMICENTRYSTATUS_H 00017 #define TGO4DYNAMICENTRYSTATUS_H 00018 00019 #include "Go4StatusBase/TGo4Status.h" 00020 #include "TString.h" 00021 00022 #include "TGo4DynamicEntry.h" 00023 00024 class TGo4Condition; 00025 00027 class TGo4DynamicEntryStatus : public TGo4Status { 00028 00029 friend class TGo4DynamicEntry; 00030 friend class TGo4DynamicList; 00031 friend class TGo4EditDynEntryStatus; 00032 friend class TGo4EditDynEntry; 00033 00034 public: 00035 00037 TGo4DynamicEntryStatus(); 00038 00039 virtual ~TGo4DynamicEntryStatus(); 00040 00041 /* Reset all names to the default nodata strings, except for entry name */ 00042 virtual void ResetNames(); 00043 00044 Bool_t AutoProcessIsEnabled() const { return fbProcessEntry; } 00045 00047 void EnableProcessing(Bool_t on=kTRUE) { fbProcessEntry=on; } 00048 00049 const Text_t * GetConditionName(); 00050 00051 const Text_t * GetConditionClass(); 00052 00055 const Text_t* GetConVarName(UInt_t ix); 00056 00059 const Text_t* GetConEventName(UInt_t ix); 00060 00061 virtual const Text_t * GetHistogramName(); 00062 00063 protected: 00064 00065 TGo4DynamicEntryStatus(const Text_t * name); 00066 00067 void SetCondition(TGo4Condition * con); 00068 00069 void SetFlags(Bool_t process, Bool_t init) { fbProcessEntry=process; fbPointerInitDone=init; } 00070 00071 void SetConEventNames(TString * names); 00072 00073 void SetConVarNames(TString * names); 00074 void SetConVarName(UInt_t ix, const Text_t* txt); 00075 void SetConEventName(UInt_t ix, const Text_t* txt); 00076 00077 virtual void SetConditionName(const Text_t* name); 00078 virtual void SetHistogramName(const Text_t * name); 00079 00080 00081 private: 00084 virtual TGo4DynamicEntry* CreateDynamicEntry() = 0; 00085 00087 Bool_t fbProcessEntry; 00088 00090 Bool_t fbPointerInitDone; 00091 00093 TString fxConditionName; 00094 00096 TString fxConditionClass; 00097 00100 TString fxConVarName[__MAXCONDIM__]; 00101 00105 TString fxConEventName[__MAXCONDIM__]; 00106 00107 ClassDef(TGo4DynamicEntryStatus,3) 00108 }; 00109 00110 #endif //TGO4DYNAMICENTRYSTATUS_H 00111 00112 //----------------------------END OF GO4 SOURCE FILE ---------------------