00001 #ifndef OPERESULT_H 00002 #define OPERESULT_H 00003 00004 #include "Sct/Serializable.h" 00005 #include "Sct/RangedVector.h" 00006 #include <boost/shared_ptr.hpp> 00007 00008 class TH1; 00009 00010 namespace SctData { 00011 class ChipOpeResult; 00012 00016 class ChipOpeResult : Sct::Streamable { 00017 public: 00018 ChipOpeResult() : badmax(0.), threshold(0.){;} 00022 ChipOpeResult(boost::shared_ptr<TH1>h, double r) : 00023 hist(h), badmax(r), threshold(r) {;} 00024 ~ChipOpeResult(){;} 00025 shared_ptr<TH1> hist; 00026 double badmax, threshold; 00027 ChipOpeResult& operator=(const ChipOpeResult&); 00028 string ChipOpeResult::getClassName() const { 00029 return "SctData::ChipOpeResult"; 00030 } 00031 }; 00032 00033 00034 00038 class OpeResult : public Sct::Serializable { 00039 public: 00041 OpeResult(Sct::UniqueID id); 00042 00044 virtual ~OpeResult(); 00045 00046 //Override 00047 virtual string getClassName() const; 00048 00049 virtual Sct::UniqueID getUniqueID() const; 00050 00052 ChipOpeResult& getChipResult(unsigned ichip){ return chipResult[ichip];} 00053 const ChipOpeResult& getChipResult(unsigned ichip) const { return chipResult[ichip];} 00055 private: 00056 OpeResult(); 00057 Sct::RangedVector<ChipOpeResult> chipResult; 00058 OpeResult& operator=(const OpeResult&); 00059 friend class OpeResultIOHelper; 00060 Sct::UniqueID m_uniqueID; 00061 }; 00062 00063 } 00064 00065 #endif //#ifndef OPERESULT_H