Bdb packages | Design docs | Source docs | Guidelines | Recent releases

Search | Site Map .

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Framework/Framework/AppActionController.hh

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: AppActionController.hh,v 1.7 2001/07/19 15:47:31 bartoldu Exp $
00004 //
00005 // Description:
00006 //      AppActionController Class Description. This class is used only
00007 //      from the AppFramework to control the execution of a Framework
00008 //      action on a per module level. It replicates the AppAction
00009 //      interface to facilitate useage.
00010 //
00011 // Environment:
00012 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00013 //
00014 //
00015 //
00016 // Author List:
00017 //      Marc Turcotte                   Original Author   Apr '98
00018 //      Rainer Bartoldus                Added before/afterOther()  Jul '01
00019 //
00020 //
00021 // Copyright Information:
00022 //      Copyright (C) 1998              University of Texas at Dallas
00023 //
00024 //------------------------------------------------------------------------
00025 
00026 #ifndef APPACTIONCONTROLLER_HH
00027 #define APPACTIONCONTROLLER_HH
00028 
00029 //
00030 // Collaborating Class Headers
00031 //
00032 #include "Experiment/Experiment.hh"
00033 #include "Framework/APPExecutable.hh"
00034 
00035 //
00036 // Forward declaration(s)
00037 //
00038 
00039 class AppAction;
00040 
00041 class AppActionController {
00042 private:
00043   bool       _doAction;
00044   AppAction* _theAction;
00045   
00046 public:
00047   
00048   AppActionController(AppAction* anAction);
00049   virtual ~AppActionController();  
00050   
00051   void setDoAction(bool theValue);
00052   bool doAction();
00053   AppAction* action();
00054   
00055   // Replicate/wrap AppAction interface here
00056   
00057   virtual void beforeBeginJob(APPExecutable*, AbsEvent*);
00058   
00059   virtual void afterBeginJob (APPExecutable*, AbsEvent*);
00060   
00061   virtual void beforeBeginRun(APPExecutable*, AbsEvent*);
00062   
00063   virtual void afterBeginRun (APPExecutable*, AbsEvent*);
00064   
00065   virtual void beforeEvent   (APPExecutable*, AbsEvent*);
00066 
00067   virtual void afterEvent    (APPExecutable*, AbsEvent*);
00068   
00069   virtual void beforeOther   (APPExecutable*, AbsEvent*);
00070 
00071   virtual void afterOther    (APPExecutable*, AbsEvent*);
00072   
00073   virtual void beforeEndRun  (APPExecutable*, AbsEvent*);
00074   
00075   virtual void afterEndRun   (APPExecutable*, AbsEvent*);
00076 
00077   virtual void beforeEndJob  (APPExecutable*, AbsEvent*);
00078   
00079   virtual void afterEndJob   (APPExecutable*, AbsEvent*);
00080   
00081 private:
00082 
00083   // Not implemented.
00084   AppActionController( const AppActionController& );
00085   AppActionController& operator=( const AppActionController& );
00086 
00087   
00088 };
00089 
00090 #endif
00091 
00092 
00093 
00094 
00095 
00096 
00097 

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: October 04, 2002