00001 // ===================================================================== 00033 // ===================================================================== 00034 #ifndef CLDAQ__TEVENTACTION_HH 00035 #define CLDAQ__TEVENTACTION_HH 00036 00037 #include "Tglobals.h" 00038 00039 class TEvent; 00040 class TReadoutList; 00041 class TRunManager; 00042 class TEventManager; 00043 class TReadoutBook; 00044 class TCrate; 00045 00046 00066 class TEventAction 00067 { 00068 00069 protected: 00070 TRunManager* theRunManager; 00071 TEventManager* theEventManager; 00072 TReadoutBook* theReadoutBook; 00073 TCrate* theCrate; 00074 00075 public: 00076 TEventAction(); 00077 virtual ~TEventAction(); 00078 00079 public: 00080 virtual TReadoutList* WaitTrigger() = 0; 00081 00082 public: 00083 virtual Tvoid AtFirst( TEvent& anEvent ); 00084 virtual Tvoid AtLast( TEvent& anEvent ); 00085 00086 public: 00087 TRunManager* GetRunManager() const; 00088 TEventManager* GetEventManager() const; 00089 TReadoutBook* GetReadoutBook() const; 00090 TCrate* GetCrate() const; 00091 Tvoid SetRunManager( TRunManager* manager ); 00092 Tvoid SetEventManager( TEventManager* manager ); 00093 Tvoid SetReadoutBook( TReadoutBook* book ); 00094 Tvoid SetCrate( TCrate* crate ); 00095 00096 #ifdef __CLDAQ_ROOT_DLL 00097 ClassDef(TEventAction,0) 00098 #endif 00099 00100 }; 00101 00102 inline TRunManager* TEventAction::GetRunManager() const 00103 { 00104 return theRunManager; 00105 } 00106 00107 inline TEventManager* TEventAction::GetEventManager() const 00108 { 00109 return theEventManager; 00110 } 00111 00112 inline TReadoutBook* TEventAction::GetReadoutBook() const 00113 { 00114 return theReadoutBook; 00115 } 00116 00117 inline TCrate* TEventAction::GetCrate() const 00118 { 00119 return theCrate; 00120 } 00121 00122 inline Tvoid TEventAction::SetRunManager( TRunManager* manager ) 00123 { 00124 theRunManager = manager; 00125 return; 00126 } 00127 00128 inline Tvoid TEventAction::SetEventManager( TEventManager* manager ) 00129 { 00130 theEventManager = manager; 00131 return; 00132 } 00133 00134 inline Tvoid TEventAction::SetReadoutBook( TReadoutBook* book ) 00135 { 00136 theReadoutBook = book; 00137 return; 00138 } 00139 00140 inline Tvoid TEventAction::SetCrate( TCrate* crate ) 00141 { 00142 theCrate = crate; 00143 return; 00144 } 00145 00146 #endif