00001
00002
00003
00004
00005
00006
00007 #ifndef IO_LCWRITER_H
00008 #define IO_LCWRITER_H 1
00009
00010 #include <string>
00011
00012 #include "EVENT/LCEvent.h"
00013 #include "EVENT/LCRunHeader.h"
00014 #include "Exceptions.h"
00015
00016 namespace IO {
00017
00027 class LCWriter {
00028
00029 public:
00031 virtual ~LCWriter() { ; }
00032
00038 virtual void open(const std::string & filename) = 0;
00039
00046 virtual void open(const std::string & filename, int writeMode) = 0;
00047
00064 virtual void setCompressionLevel(int level) = 0;
00065
00070 virtual void writeRunHeader(const EVENT::LCRunHeader * hdr) = 0;
00071
00076 virtual void writeEvent(const EVENT::LCEvent * evt) = 0;
00077
00082 virtual void close() = 0;
00083
00088 virtual void flush() = 0;
00089 };
00090 }
00091 #endif