Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

RxThresholdBasedOnConfigRegisterTestResult.h

00001 #ifndef RXTHRESHOLDBASEDONCONFIGREGISTERTESTRESULT_H
00002 #define RXTHRESHOLDBASEDONCONFIGREGISTERTESTRESULT_H
00003 
00004 #include "TestResult.h"
00005 #include "Sct/RangedVector.h"
00006 
00007 namespace SctData{
00012   class RxThresholdBasedOnConfigRegisterTestResult : public TestResult {
00013   public:
00014     RxThresholdBasedOnConfigRegisterTestResult() throw();
00015     
00019     RxThresholdBasedOnConfigRegisterTestResult(unsigned int runNumber, const string& moduleName) throw();
00020     
00024     virtual ~RxThresholdBasedOnConfigRegisterTestResult() throw();
00025     
00026     //Override
00027     virtual string getClassName() const throw();
00028 
00029     class StreamResult {
00030     public:
00031       typedef int ThresholdType;
00032       StreamResult() {
00033         setInvalid();
00034       }
00035       void setInvalid() {
00036         m_minErrorFreeRxThresh = NOT_YET_SET_OR_INVALID;
00037         m_maxErrorFreeRxThresh = NOT_YET_SET_OR_INVALID;
00038         m_bestRxThresh         = NOT_YET_SET_OR_INVALID;
00039       };
00040       int minErrorFreeRxThresh() const { return m_minErrorFreeRxThresh; };
00041       int maxErrorFreeRxThresh() const { return m_maxErrorFreeRxThresh; };
00042       int bestRxThresh() const { return m_bestRxThresh; };
00043       void setMinErrorFreeRxThresh(int val) {
00044         m_minErrorFreeRxThresh = (this->isValidRxThresh(val)) ? val : NOT_YET_SET_OR_INVALID;
00045       };
00046       void setMaxErrorFreeRxThresh(int val) {
00047         m_maxErrorFreeRxThresh = (this->isValidRxThresh(val)) ? val : NOT_YET_SET_OR_INVALID;
00048       };
00049       void setBestRxThresh(int val) {
00050         m_bestRxThresh = (this->isValidRxThresh(val)) ? val : NOT_YET_SET_OR_INVALID;
00051       };
00052     public:
00053       static bool isValidRxThresh(const int val) {
00054         return val == NOT_YET_SET_OR_INVALID || (val>=MIN_LEGITIMATE_RX_THRESH && val <= MAX_LEGITIMATE_RX_THRESH);
00055       };
00056     private:
00057       int m_minErrorFreeRxThresh;
00058       int m_maxErrorFreeRxThresh;
00059       int m_bestRxThresh;
00060       static const int NOT_YET_SET_OR_INVALID=-1;
00061       static const int MIN_LEGITIMATE_RX_THRESH=0;
00062       static const int MAX_LEGITIMATE_RX_THRESH=255;
00063     };
00064     
00068     StreamResult& getStreamResult(const unsigned index);
00072     const StreamResult& getStreamResult(const unsigned index) const;
00073   private:
00074     RangedVector<StreamResult> streamResults;
00075 
00076   };
00077 }// end of namespace SctData
00078 #endif //#ifndef TIMEWALKTESTRESULT_H

Generated on Fri Jan 14 12:47:06 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5