00001 #ifndef MARKSPACERATIOTESTRESULT_H 00002 #define MARKSPACERATIOTESTRESULT_H 00003 00004 #include "TestResult.h" 00005 #include "Sct/RangedVector.h" 00006 00007 namespace SctData{ 00012 class MarkSpaceRatioTestResult : public TestResult { 00013 public: 00014 MarkSpaceRatioTestResult() throw(); 00018 MarkSpaceRatioTestResult(unsigned int runNumber, const string& moduleName) throw(); 00022 virtual ~MarkSpaceRatioTestResult() throw(); 00023 00025 virtual string getClassName() const throw(); 00026 00028 class MsrPoint{ 00029 public: 00030 // mean occupancy before bit-flip 00031 double occ0; 00032 // mean occupancy after bit-flip 00033 double occ1; 00034 00035 // mean occupancy before bit-flip 00036 double occ0flip; 00037 // mean occupancy after bit-flip 00038 double occ1flip; 00039 00041 unsigned short msr; 00042 double getOccupancy(unsigned ilink) const; 00043 double getOccupancyFlipped(unsigned ilink) const; 00044 }; 00045 00047 void addPoint(const MsrPoint& p); 00048 00050 unsigned getNPoints() const; 00051 00053 MsrPoint getPoint(unsigned index) const; 00054 00056 double getOptimum() const; 00058 void setOptimum(double opt); 00059 00060 private: 00061 static string vector_name; 00062 RangedVector<MsrPoint> msr_result; 00063 double optimum; 00064 }; 00065 }// end of namespace SctData 00066 #endif //#ifndef TIMEWALKTESTRESULT_H