RawScanResultStreamer_v3.h

00001 #ifndef SCTDATA_IO_RAWSCANRESULTSTREAMER_V2_H
00002 #define SCTDATA_IO_RAWSCANRESULTSTREAMER_V2_H
00003 
00004 #include "../RawScanResultIOHelper.h"
00005 #include "ScanResultStreamer_v1.h"
00006 
00007 class SctData::RawScanResult;
00008 class TH2D;
00009 
00010 using namespace Sct;
00011 
00012 namespace SctData {
00013 namespace IO {
00014 
00015 
00019 class RawScanResultStreamer_v3 : public Sct::Streamer {
00020 public:
00021     //Streamer_v1 overrides
00022     virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const ;
00023     virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const ;
00024     virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const ;   
00025  virtual unsigned getVersion() const throw() {return s_version;}
00026  
00027 private:
00031     void readData(IStream& in, RawScanResult& raw) const;
00032 
00036     void readSliceData(unsigned int size, unsigned short width, IStream& in, RawScanResult& raw) const;
00037 
00041     void readRootData(unsigned int size, unsigned short width, IStream& in, RawScanResult& raw) const;
00042     
00046     void readRawData(unsigned int size, unsigned short width, IStream& in, RawScanResult& raw) const;
00047 
00048     void setHistSize(RawScanResult& raw, unsigned nbinsx, short unsigned ilink) const;
00049 
00054     static void createOccupancyHistogram(const RawScanResultIOHelper& helper, const RawScanResult& raw, unsigned ichip);
00055     
00057     static unsigned getOccWordPosition(unsigned ichip, unsigned ibin, unsigned ipt);
00058 
00059     //Data
00060     mutable RawScanResultIOHelper helper;       
00061     RawScanResultStreamer_v3() throw();         
00062      static unsigned s_version;
00063      static bool inMap;                 
00064 };
00065 
00066 }
00067 }
00068 #endif //#ifndef SCTDATA_IO_RAWSCANRESULTSTREAMER_V2_H

Generated on Mon Feb 6 14:01:25 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6