00001 #ifndef SCTDATA_IO_TH1DSTREAMER_H 00002 #define SCTDATA_IO_TH1DSTREAMER_H 00003 00004 #include "Sct/Streamer.h" 00005 #include "Sct/Exception.h" 00006 #include "Sct/LogicErrors.h" 00007 #include "Sct/IoExceptions.h" 00008 00009 using namespace Sct; 00010 00011 namespace SctData { 00012 namespace IO { 00016 class TH1DStreamer_v1 : public virtual Streamer { 00017 public: 00018 //Streamer_v1 overrides 00019 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError); 00020 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError); 00021 00022 virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError); 00023 virtual unsigned getVersion() const throw() {return s_version;} 00024 00025 private: 00026 TH1DStreamer_v1() throw(); 00027 static unsigned s_version; 00028 static bool inMap; //True if in IOManager map 00029 }; 00030 00031 } 00032 } 00033 #endif // #ifndef SCTDATA_IO_TH1DSTREAMER_H