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
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