00001 // ===================================================================== 00002 // $Id: TEventAction.hh,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $ 00003 // $Name: CLDAQ-1-06-02 $ 00004 // ===================================================================== 00005 #ifndef __TEVENTACTION_HH 00006 #define __TEVENTACTION_HH 00007 00008 #include "Tglobals.h" 00009 00010 class TEvent; 00011 class TReadoutList; 00012 class TRunManager; 00013 class TEventManager; 00014 class TReadoutBook; 00015 class TCrate; 00016 00017 class TEventAction 00018 { 00019 00020 protected: 00021 TRunManager* theRunManager; 00022 TEventManager* theEventManager; 00023 TReadoutBook* theReadoutBook; 00024 TCrate* theCrate; 00025 00026 public: 00027 TEventAction(); 00028 virtual ~TEventAction(); 00029 00030 public: 00031 virtual TReadoutList* WaitEvent() = 0; 00032 00033 public: 00034 virtual Tvoid BeginOfEventAction( TEvent& anEvent ); 00035 virtual Tvoid EndOfEventAction( TEvent& anEvent ); 00036 00037 public: 00038 TRunManager* GetRunManager() const; 00039 TEventManager* GetEventManager() const; 00040 TReadoutBook* GetReadoutBook() const; 00041 TCrate* GetCrate() const; 00042 Tvoid SetRunManager( TRunManager* manager ); 00043 Tvoid SetEventManager( TEventManager* manager ); 00044 Tvoid SetReadoutBook( TReadoutBook* book ); 00045 Tvoid SetCrate( TCrate* crate ); 00046 00047 }; 00048 00049 inline TRunManager* TEventAction::GetRunManager() const 00050 { 00051 return( theRunManager ); 00052 } 00053 00054 inline TEventManager* TEventAction::GetEventManager() const 00055 { 00056 return( theEventManager ); 00057 } 00058 00059 inline TReadoutBook* TEventAction::GetReadoutBook() const 00060 { 00061 return( theReadoutBook ); 00062 } 00063 00064 inline TCrate* TEventAction::GetCrate() const 00065 { 00066 return( theCrate ); 00067 } 00068 00069 inline Tvoid TEventAction::SetRunManager( TRunManager* manager ) 00070 { 00071 theRunManager = manager; 00072 return; 00073 } 00074 00075 inline Tvoid TEventAction::SetEventManager( TEventManager* manager ) 00076 { 00077 theEventManager = manager; 00078 return; 00079 } 00080 00081 inline Tvoid TEventAction::SetReadoutBook( TReadoutBook* book ) 00082 { 00083 theReadoutBook = book; 00084 return; 00085 } 00086 00087 inline Tvoid TEventAction::SetCrate( TCrate* crate ) 00088 { 00089 theCrate = crate; 00090 return; 00091 } 00092 00093 #endif