00001 // ===================================================================== 00033 // ===================================================================== 00034 #ifndef CLDAQ__TRUNACTION_HH 00035 #define CLDAQ__TRUNACTION_HH 00036 00037 #include "Tglobals.h" 00038 00039 class TRun; 00040 class TRunManager; 00041 class TEventManager; 00042 class TReadoutBook; 00043 class TCrate; 00044 00045 00065 class TRunAction 00066 { 00067 00068 protected: 00069 TRunManager* theRunManager; 00070 TEventManager* theEventManager; 00071 TReadoutBook* theReadoutBook; 00072 TCrate* theCrate; 00073 00074 public: 00075 TRunAction(); 00076 virtual ~TRunAction(); 00077 00078 public: 00079 //virtual Tvoid BeginOfRunAction( TRun& aRun ); 00080 //virtual Tvoid EndOfRunAction( TRun& aRun ); 00081 virtual Tvoid Start( TRun& aRun ); 00082 virtual Tvoid Stop( TRun& aRun ); 00083 virtual Tvoid Suspend( TRun& aRun ); 00084 virtual Tvoid Resume( TRun& aRun ); 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(TRunAction,0) 00098 #endif 00099 00100 }; 00101 00102 inline TRunManager* TRunAction::GetRunManager() const 00103 { 00104 return theRunManager; 00105 } 00106 00107 inline TEventManager* TRunAction::GetEventManager() const 00108 { 00109 return theEventManager; 00110 } 00111 00112 inline TReadoutBook* TRunAction::GetReadoutBook() const 00113 { 00114 return theReadoutBook; 00115 } 00116 00117 inline TCrate* TRunAction::GetCrate() const 00118 { 00119 return theCrate; 00120 } 00121 00122 inline Tvoid TRunAction::SetRunManager( TRunManager* manager ) 00123 { 00124 theRunManager = manager; 00125 return; 00126 } 00127 00128 inline Tvoid TRunAction::SetEventManager( TEventManager* manager ) 00129 { 00130 theEventManager = manager; 00131 return; 00132 } 00133 00134 inline Tvoid TRunAction::SetReadoutBook( TReadoutBook* book ) 00135 { 00136 theReadoutBook = book; 00137 return; 00138 } 00139 00140 inline Tvoid TRunAction::SetCrate( TCrate* crate ) 00141 { 00142 theCrate = crate; 00143 return; 00144 } 00145 00146 #endif