00001 #ifndef NOISEOCCUPANCYALGORITHM_H 00002 #define NOISEOCCUPANCYALGORITHM_H 00003 00004 #include "AnalysisAlgorithm.h" 00005 00006 class TF1; 00007 00008 namespace SctData { 00009 class ChipNOResult; 00010 class NoiseOccupancyTestResult; 00011 class ChipConfiguration; 00012 class OccupancyProjector; 00013 class DefectList; 00014 } 00015 00016 namespace SctAnalysis { 00017 00018 class NoiseOccupancyAlgorithm : public AnalysisAlgorithm { 00019 public: 00023 NoiseOccupancyAlgorithm(const TestData& testData, const string& moduleName, const AnalysisAlgorithm& alg) throw() : AnalysisAlgorithm(testData, moduleName, alg) {} 00027 virtual ~NoiseOccupancyAlgorithm() throw(); 00028 00029 virtual void analyze(); 00030 virtual void loadData(); 00031 virtual bool canAnalyze() const; 00032 virtual shared_ptr<SctData::TestResult> createTestResult() const; 00033 virtual boost::shared_ptr<AnalysisAlgorithm> clone(const TestData& testData, const string& moduleName) const throw(); 00034 00039 SctData::ChipNOResult analyzeChip(const unsigned ichip, const SctData::OccupancyProjector&, const SctData::ChipConfiguration&, SctData::DefectList& defects) ; 00040 private: 00041 NoiseOccupancyAlgorithm() {} 00042 unsigned short m_scanVariable; 00043 static bool inMap; 00044 }; 00045 } 00046 #endif //#ifndef NOISEOCCUPANCYALGORITHM_H