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

IOfileVI.h

Go to the documentation of this file.
00001 #ifndef IOfileVI_h
00002 #define IOfileVI_h
00003 
00004 #include "Event/IOBase.h"
00005 
00006 #include <string>
00007 
00008 //------------------------------------------------
00010 
00019 //-------------------------------------------------
00020 // JA Hernando, Santa Cruz, CA, 06/15/00
00021 //-------------------------------------------------
00022 
00023 //###########################
00024 class IOfileVI
00025 //###########################
00026 {
00027 public:
00028 
00030         IOfileVI(){clear();}
00032         virtual ~IOfileVI(){}
00033 
00035         virtual void setFileName(std::string name) {m_nameFile = name;}
00037         virtual void setMode(IOBase::MODE m)       {m_mode = m;}
00039         virtual void setNumEvents(int nevt)        {m_numEvents = nevt;}
00041         virtual void setOpen(bool t)               {m_open = t;}
00043         virtual void increase()                    {m_currentEvent++;}
00044 
00046         virtual void open() = 0;
00048         virtual void close() = 0;
00049 
00051         virtual bool nextEvent() { return (m_currentEvent+1 < m_numEvents);}
00053         virtual void readEvent()  {increase();}
00055         virtual void writeEvent() {increase();m_numEvents++;}
00057         virtual void skipEvent()  {increase();}
00058 
00060         virtual std::string getFileName()  const {return m_nameFile;}
00062         IOBase::MODE getMode()             const {return m_mode;}
00064         virtual int eventNumber()         const {return m_currentEvent;}
00066         virtual int numEvents()            const {return m_numEvents;}
00068         virtual bool isOpen()              const {return m_open;}
00069 
00070 protected:
00071 
00073         virtual void clear();
00074 
00075 private:
00076 
00078         std::string m_nameFile;
00080         IOBase::MODE m_mode;
00082         bool m_open;
00083 
00085         int m_numEvents;
00087         int m_currentEvent;
00088 };
00089 #endif

Generated at Fri Aug 18 12:57:38 2000 for centella framework by doxygen 1.1.3 written by Dimitri van Heesch, © 1997-2000