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