Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

FitObjectStreamer.h

Go to the documentation of this file.
00001 #ifndef SCTDATA_IO_FITOBJECTIS_H
00002 #define SCTDATA_IO_FITOBJECTIS_H
00003 
00004 #include "Sct/Streamer.h"
00005 #include "../FitObjectIOHelper.h"
00006 #include "Sct/LogicErrors.h"
00007 #include "Sct/IoExceptions.h"
00008 
00009 using namespace Sct;
00010 
00011 namespace SctData {
00012 namespace IO {
00013     
00017 class FitObjectStreamer : public virtual Streamer {
00018 public:
00019     //Streamer overrides
00020     virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00021     virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);   
00022 
00023     
00024 protected:  
00025     FitObjectIOHelper helper;           
00026     FitObjectStreamer() throw() {}  
00027 };
00028 
00029 //Now ISStreamers for all the different FitObjects
00030 
00031 class ErfcFitObjectStreamer : public FitObjectStreamer {
00032 public:    
00034     virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);       
00035     virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);         
00036     
00037 private:
00038     ErfcFitObjectStreamer() throw() {}
00039     static bool inMap;                  
00040 };
00041 
00042 class ErfFitObjectStreamer : public FitObjectStreamer {
00043 public:    
00045     virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);       
00046     virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);         
00047     
00048 private:
00049     ErfFitObjectStreamer() throw() {}
00050     static bool inMap;                  
00051 };
00052 
00053 class TopHatFitObjectStreamer : public FitObjectStreamer {
00054 public:    
00056     virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);       
00057     virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);         
00058 
00059 private:
00060     TopHatFitObjectStreamer() throw() {}
00061     static bool inMap;                  
00062 };
00063 
00064 class GausFitObjectStreamer : public FitObjectStreamer {
00065 public:    
00067     virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);       
00068     virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);         
00069     
00070 private:
00071     GausFitObjectStreamer() throw() {}
00072     static bool inMap;                  
00073 };
00074 
00075 }
00076 }
00077 
00078 #endif //SCTDATA_IO_FITOBJECTIS_H

Generated on Mon Dec 15 19:36:01 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3