![]() |
|
|
Bdb packages | Design docs | Source docs | Guidelines | Recent releases |
|
Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Compound Members File Members /Framework/Framework/AppStreamsOutputModule.hh
Go to the documentation of this file.00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: AppStreamsOutputModule.hh,v 1.4 2001/06/28 22:49:42 desilva Exp $ 00004 // 00005 // Description: 00006 // Class AppStreamsOutputModule. This is the abstract streams output 00007 // module for the BaBar framework. 00008 // 00009 // Environment: 00010 // Software developed for the BaBar Detector at the SLAC B-Factory. 00011 // 00012 // Author List: 00013 // David R. Quarrie Original Author 00014 // Marc Turcotte Modified for new style begin/end 00015 // Marc Turcotte Modified for new style event. 00016 // Marc Turcotte Modified for FNAL sigs 6/24/98 00017 // 00018 // Copyright Information: 00019 // Copyright (C) 1994, 1995 Lawrence Berkeley Laboratory 00020 // Copyright (C) 1998 University of Texas at Dallas 00021 // 00022 //------------------------------------------------------------------------ 00023 00024 #ifndef APPSTREAMSOUTPUTMODULE_HH 00025 #define APPSTREAMSOUTPUTMODULE_HH 00026 00027 //----------------------- 00028 // Experiment Headers -- 00029 //----------------------- 00030 #include "BaBar/Experiment.hh" 00031 00032 //---------------------- 00033 // Base Class Headers -- 00034 //---------------------- 00035 #include "Framework/APPOutputModule.hh" 00036 00037 //------------------------------------ 00038 // Collaborating Class Declarations -- 00039 //------------------------------------ 00040 class AbsEvent; 00041 class AppStream; 00042 class AppOutputCommand; 00043 class AppFrame; 00044 template<class T> class APPList; 00045 00046 // --------------------- 00047 // -- Class Interface -- 00048 // --------------------- 00049 00050 class AppStreamsOutputModule : public APPOutputModule { 00051 00052 //-------------------- 00053 // Instance Members -- 00054 //-------------------- 00055 00056 public: 00057 00058 // Constructors 00059 AppStreamsOutputModule( const char* const theName, 00060 const char* const theDescription ); 00061 00062 // Copy Constructor 00063 // AppStreamsOutputModule( const AppStreamsOutputModule& ); 00064 00065 // Destructor 00066 virtual ~AppStreamsOutputModule( ); 00067 00068 // Operations 00069 00070 virtual AppResult beginJob ( AbsEvent* anEvent ); 00071 virtual AppResult beginRun( AbsEvent* anEvent ); 00072 00073 virtual AppResult outputEvent ( AbsEvent* anEvent ); 00074 virtual AppResult outputFrame ( AppFrame* aFrame ); 00075 00076 virtual AppResult endRun( AbsEvent* anEvent ); 00077 virtual AppResult endJob ( AbsEvent* anEvent ); 00078 00079 virtual AppResult abortJob( AbsEvent* ); 00080 00081 virtual void help(int argc, char** argv); 00082 00083 AppStream* fetch( const char* const theName ) const; 00084 bool has ( const char* const theName ) const; 00085 00086 // Selectors 00087 APPList< AppStream* >* streams( ) const; 00088 00089 // Modifiers 00090 virtual void append ( const AppStream* const theStream ); 00091 virtual void remove ( const AppStream* const theStream ); 00092 virtual void remove ( const char* const theName ); 00093 virtual void wipeout( ); 00094 00095 protected: 00096 00097 AbsEvent* _theEvent; 00098 APPList< AppStream* >* _streams; 00099 AppOutputCommand* _outputCmd; 00100 AppOutputCommand* _outCmd; 00101 00102 private: 00103 00104 // Not implemented. 00105 AppStreamsOutputModule( const AppStreamsOutputModule& ); 00106 AppStreamsOutputModule& operator=( const AppStreamsOutputModule& ); 00107 00108 }; 00109 00110 #endif
BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us
Page Owner: Jacek Becla
Last Update: October 04, 2002