Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

IoModule.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef EVDB_IOMODULE_H
00009 #define EVDB_IOMODULE_H
00010 #include "TQObject.h"
00011 #include "RQ_OBJECT.h"
00012 namespace io  { class ReadWriteModule; }
00013 namespace edm { 
00014   class Event; 
00015   class EventHandle; 
00016 }
00017 
00018 //......................................................................
00019 
00020 namespace evdb {
00022   class IoModule {
00023     RQ_OBJECT("evdb::IoModule");
00024     
00025   public:
00026     static IoModule* Instance();
00027     ~IoModule();
00028     
00029     io::ReadWriteModule& IoMod();
00030     
00031     // Need to wrap these to add possibility of signals
00032     int AddFile(const char* file_regexp);
00033     int RemoveFile(const char* file_regexp);
00034     int GoToFile(const char* file);
00035     int AdvanceFile(int n=1);
00036     int RewindFile(int n=1);
00037     int GoTo(int run, int event);
00038     int Advance(int n=1);
00039     int Rewind(int n=1);
00040     int Reload();
00041     
00042     void              SetOutputFileName(const char* n);
00043     edm::EventHandle& GetEvent();
00044     int               WriteEvent();
00045     
00046     const char* CurrentFile() const;
00047     const char* FileName(int i) const;
00048     
00049     void StartAutoAdvance();
00050     void StopAutoAdvance();
00051     
00052     // Signals
00053     void NewEvent();  //*SIGNAL*
00054   private:
00055     IoModule();
00056     void Warn(const char* w);
00057     
00058   private:
00059     edm::Event*          fEvent;
00060     io::ReadWriteModule* fIoMod;
00061     bool                 fAutoAdvanceOption;
00062   };
00063 }
00064 
00065 #endif
00066 

Generated on Sat Oct 11 02:35:27 2008 for NOvA Offline by  doxygen 1.3.9.1