00001 #ifndef RAWSCANRESULT_H 00002 #define RAWSCANRESULT_H 00003 00004 #include "ScanResult.h" 00005 #include <boost/shared_ptr.hpp> 00006 00007 class TH1; 00008 class TH2; 00009 class TH2D; 00010 using Sct::LogicError; 00011 using boost::shared_ptr; 00012 00013 namespace SctData { 00014 00021 class RawScanResult : public ScanResult { 00022 public: 00023 00028 RawScanResult(const ResultHeader& scanInfo, const ModuleConfiguration& module, const ScanPoints& points, TH2D& scan_link0, TH2D& scan_link1) throw() ; 00029 00031 virtual ~RawScanResult() throw(); 00032 00033 //Overrides 00034 virtual string getClassName() const throw() ; 00035 virtual string getUniqueID() const throw() ; 00036 00038 static string getUniqueID(const ResultHeader& header) throw() ; 00039 00045 TH2D& getScanData(unsigned link) const throw(LogicError) ; 00049 UINT16 getDataType() const throw(); 00050 00051 protected: 00052 shared_ptr<TH2D> scanData_link0; 00053 shared_ptr<TH2D> scanData_link1; 00054 UINT16 m_dataType; 00055 00056 private: 00057 friend class RawScanResultIOHelper; 00058 RawScanResult() throw() ; 00059 }; 00060 } 00061 #endif //#ifndef RAWSCANRESULT_H 00062 00063