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 TGO4COMPOSITEEVENT_H 00017 #define TGO4COMPOSITEEVENT_H 00018 00019 #include "TGo4EventElement.h" 00020 00021 class TObjArray; 00022 class TTree; 00023 00025 class TGo4CompositeEvent : public TGo4EventElement { 00026 protected: 00028 Short_t fNElements; 00029 00031 TObjArray *fEventElements; 00032 00033 public: 00034 TGo4CompositeEvent(); 00035 TGo4CompositeEvent(const char* aName, const char* aTitle, Short_t aBaseCat=0); 00036 ~TGo4CompositeEvent(); 00037 00038 void makeBranch(TBranch *parent); 00039 void synchronizeWithTree(TTree *tree, Int_t splitLevel=0); 00040 Int_t activateBranch(TBranch *branch, Int_t splitLevel=0,Int_t init=0); 00041 00042 virtual void deactivate(); 00043 virtual void activate(); 00044 00045 void addEventElement(TGo4EventElement* aElement, Int_t reading =0); 00046 TGo4EventElement *getEventElement(Int_t idx); 00047 TGo4EventElement *getEventElement(const char* name,Int_t final=0); 00048 void Clear(Option_t *opt=""); 00049 void clearAll(Int_t level); 00050 Short_t getNElements() const { return fNElements; } 00051 00052 virtual Bool_t isComposed() { return kTRUE; } 00053 TObjArray* getElements(){ return fEventElements;} 00054 TObjArray* getListOfComposites(Bool_t toplevel=kTRUE); 00055 TGo4EventElement& operator[]( Int_t i ); 00056 00057 ClassDef(TGo4CompositeEvent,1) 00058 }; 00059 00060 #endif 00061 00062 //----------------------------END OF GO4 SOURCE FILE ---------------------