00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE 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 TGO4EVENTELEMENT_H 00017 #define TGO4EVENTELEMENT_H 00018 00019 #include "TNamed.h" 00020 00021 // dummy include, to be removed later 00022 #include "TGo4Log.h" 00023 00024 class TGo4EventSource; 00025 class TGo4CompositeEvent; 00026 class TBranch; 00027 00040 class TGo4EventElement : public TNamed { 00041 public: 00042 00043 TGo4EventElement(void); 00044 00045 TGo4EventElement(const char* name); 00046 TGo4EventElement(const char* aName, const char* aTitle, Short_t aBaseCat=0); 00047 00048 virtual ~TGo4EventElement(void); 00049 00051 void SetValid(Bool_t on) { fbIsValid=on; } 00052 00054 Bool_t IsValid() const { return fbIsValid; } 00055 00057 void SetEventSource(TGo4EventSource * src) { fxEventSource=src; } 00058 00060 void SetParent(TGo4EventElement * par) { fxParent=par; } 00061 00062 TGo4EventElement* GetParent() const { return fxParent; } 00063 00064 TGo4EventSource * GetEventSource() const { return fxEventSource; } 00065 00070 Bool_t CheckEventSource(const char* classname); 00071 00079 virtual Int_t Fill(); 00080 00084 virtual Int_t Init(); 00085 00088 virtual void PrintEvent(); 00089 00090 virtual TGo4CompositeEvent* getSubEventElement() { return 0; } 00091 virtual void makeBranch(TBranch *parent); 00092 virtual Int_t activateBranch(TBranch *branch,Int_t splitLevel, Int_t init=0); 00093 virtual void deactivate(); 00094 virtual void activate(); 00095 00096 virtual void Clear(Option_t *t=""); 00097 virtual void clearAll(Int_t ){;} 00098 virtual Bool_t isComposed() { return kFALSE; } 00099 virtual Short_t getId() { return fIdentifier;} 00100 virtual void setDebug (Bool_t debug) { fDebug=debug;} 00101 virtual TGo4EventElement& operator[](Int_t){ return *this; } 00102 00103 virtual void Print(Option_t* option = "") const; 00104 00105 private: 00106 00109 Bool_t fbIsValid; 00110 00113 TGo4EventElement * fxParent; 00114 00121 TGo4EventSource * fxEventSource; 00122 00123 protected: 00124 Short_t fIdentifier; // Identifier 00125 Bool_t isActivated; 00126 Bool_t fDebug; 00127 00128 ClassDef(TGo4EventElement,2) 00129 }; 00130 00131 #endif //TGO4EVENTELEMENT_H 00132 00133 //----------------------------END OF GO4 SOURCE FILE ---------------------