00001 // ===================================================================== 00024 // ===================================================================== 00025 #ifndef CLDAQ__TRUNACTION_HH 00026 #define CLDAQ__TRUNACTION_HH 00027 00028 #include "Tglobals.h" 00029 00030 class TRun; 00031 class TRunManager; 00032 class TEventManager; 00033 class TReadoutBook; 00034 class TCrate; 00035 00036 00056 class TRunAction 00057 { 00058 00059 protected: 00060 TRunManager* theRunManager; 00061 TEventManager* theEventManager; 00062 TReadoutBook* theReadoutBook; 00063 TCrate* theCrate; 00064 00065 public: 00066 TRunAction(); 00067 virtual ~TRunAction(); 00068 00069 public: 00070 virtual Tvoid BeginOfRunAction( TRun& aRun ); 00071 virtual Tvoid EndOfRunAction( TRun& aRun ); 00072 00073 public: 00074 TRunManager* GetRunManager() const; 00075 TEventManager* GetEventManager() const; 00076 TReadoutBook* GetReadoutBook() const; 00077 TCrate* GetCrate() const; 00078 Tvoid SetRunManager( TRunManager* manager ); 00079 Tvoid SetEventManager( TEventManager* manager ); 00080 Tvoid SetReadoutBook( TReadoutBook* book ); 00081 Tvoid SetCrate( TCrate* crate ); 00082 00083 }; 00084 00085 inline TRunManager* TRunAction::GetRunManager() const 00086 { 00087 return theRunManager; 00088 } 00089 00090 inline TEventManager* TRunAction::GetEventManager() const 00091 { 00092 return theEventManager; 00093 } 00094 00095 inline TReadoutBook* TRunAction::GetReadoutBook() const 00096 { 00097 return theReadoutBook; 00098 } 00099 00100 inline TCrate* TRunAction::GetCrate() const 00101 { 00102 return theCrate; 00103 } 00104 00105 inline Tvoid TRunAction::SetRunManager( TRunManager* manager ) 00106 { 00107 theRunManager = manager; 00108 return; 00109 } 00110 00111 inline Tvoid TRunAction::SetEventManager( TEventManager* manager ) 00112 { 00113 theEventManager = manager; 00114 return; 00115 } 00116 00117 inline Tvoid TRunAction::SetReadoutBook( TReadoutBook* book ) 00118 { 00119 theReadoutBook = book; 00120 return; 00121 } 00122 00123 inline Tvoid TRunAction::SetCrate( TCrate* crate ) 00124 { 00125 theCrate = crate; 00126 return; 00127 } 00128 00129 #endif