GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4CompositeProcessor.h
Go to the documentation of this file.
1 // $Id: TGo4CompositeProcessor.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 TGO4COMPOSITEPROCESSOR_H
15 #define TGO4COMPOSITEPROCESSOR_H
16 
17 #include "TGo4EventProcessor.h"
18 
19 #include "TObjArray.h"
20 
21 class TGo4MbsEvent;
22 class TGo4MbsSubEvent;
23 class TGo4CompositeEvent;
24 class TIterator;
25 
27  public:
28 
30 
31  TGo4CompositeProcessor(const char* name);
32 
33  virtual ~TGo4CompositeProcessor();
34 
35  /* Can be overwritten by subclass, but is not recommended! use ProcessEvent or ProcessSubevent instead*/
36  virtual Bool_t BuildEvent(TGo4EventElement*);
37 
38  /* implemented by subclass to assign correct event structures*/
39  virtual void InitEvent(TGo4EventElement*) {}
40 
41  /* implemented by subclass to do actual processing. For second step processors!*/
42  virtual void FinalizeEvent() {}
43 
44  /* implemented by subclass to process incoming subevent. For first step processors only! */
45  virtual void ProcessSubevent(TGo4MbsSubEvent* subevt);
46 
48  Short_t GetTriggerNumber() const { return fMbsTriggerNumber; }
49 
51  Int_t GetEventNumber() const { return fMbsEventNumber; }
52 
53  protected:
54 
56 
57 // TGo4CompositeEvent *fBeamtimeEvent; //!
61 
62  private:
63  TObjArray fSubProcessors;
64 
65  ClassDef(TGo4CompositeProcessor,1)
66 };
67 
68 #endif
69 
Short_t GetTriggerNumber() const
virtual Bool_t BuildEvent(TGo4EventElement *)
virtual void ProcessSubevent(TGo4MbsSubEvent *subevt)
virtual void InitEvent(TGo4EventElement *)
void AddSubProcessor(TGo4EventProcessor *)