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 00015 class ModuleDefectList; 00016 00023 class RawScanResult : public ScanResult { 00024 public: 00025 00027 RawScanResult(const ScanHeader& scanInfo, const ModuleConfiguration& module, const ScanPoints& points, TH2D& scan_link0, TH2D& scan_link1) throw() ; 00028 00030 virtual ~RawScanResult() throw(); 00031 00032 //Overrides 00033 virtual string getClassName() const throw() ; 00034 virtual string getUniqueID() const throw() ; 00035 00037 static string getUniqueID(const ScanHeader& header) throw() ; 00038 00044 TH2D& getScanData(unsigned link) const throw(LogicError) ; 00045 00051 //static void getsName(const Scan& scan, char*& name); 00052 00053 /* 00054 //Projection functions are depreciated 00055 00057 TH1* getLinkOccupancy (const char* name, unsigned ilink, const ModuleDefectList* defects=0) const throw(LogicError) ; 00058 00060 TH1* getChipOccupancy (const char* name, unsigned ichip, const ModuleDefectList* defects=0) const throw(LogicError) ; 00061 00063 TH1* getChipOccupancy (const char* name, unsigned ilink, unsigned ichip, const ModuleDefectList* defects=0) const throw(LogicError) ; 00064 00066 TH1* getChannelOccupancy (const char* name, unsigned istrip, const ModuleDefectList* defects=0) const throw(LogicError) ; 00067 00069 TH1* getChannelOccupancy (const char* name, unsigned ilink, unsigned ichan, const ModuleDefectList* defects=0) const throw(LogicError) ; 00070 */ 00071 protected: 00076 //TH1* getProjection(const char* name, unsigned ilink, unsigned lowChan, unsigned highChan, const ModuleDefectList* defects=0) const throw(LogicError) ; 00077 00078 shared_ptr<TH2D> scanData_link0; 00079 shared_ptr<TH2D> scanData_link1; 00080 00081 private: 00082 friend class RawScanResultIOHelper; 00083 RawScanResult() throw() ; 00084 }; 00085 } 00086 #endif //#ifndef RAWSCANRESULT_H 00087 00088