ScanMap.h

00001 #ifndef SCTTEST_SCANMAP_H
00002 #define SCTTEST_SCANMAP_H
00003 
00004 #include <map>
00005 #include <vector>
00006 #include <string>
00007 #include <boost/shared_ptr.hpp>
00008 #include "Sct/AbcdModule.h"
00009 #include "ScanInfo.h"
00010 
00011 using std::multimap;
00012 using std::vector;
00013 using std::string;
00014 using boost::shared_ptr;
00015 
00016 namespace SctTest {
00017 
00018 class ModuleDataRecord;
00019 
00023 class ScanMap {
00024 public:
00026     static ScanMap& instance();
00027 
00032     void initialize(string fileName);
00033 
00038     string getDataFile(string serialNum, const ABCDModule& config, unsigned short scanVar) const;
00039 
00043     static string convertSerial(string serialNum);
00044 
00045 private:
00046     ScanMap() {}
00047     string getThresholdDataFile(string serialNum, const ABCDModule& config) const;
00048     string getStrobeDataFile(string serialNum, const ABCDModule& config) const;
00049 
00050     void addFullBypassTest(const ModuleDataRecord& mdr);
00051     void addPipelineTest(const ModuleDataRecord& mdr);
00052     void addStrobeDelay(const ModuleDataRecord& mdr);
00053     void addThreePointGain(const ModuleDataRecord& mdr);
00054     void addTrim(const ModuleDataRecord& mdr);
00055     void addResponseCurve(const ModuleDataRecord& mdr);
00056     void addNoise(const ModuleDataRecord& mdr);
00057     void addTimewalk(const ModuleDataRecord& mdr);
00058     string constructFileName(string path, unsigned int runNumber, unsigned int scanNumber) const;
00059 
00060     typedef multimap<ScanInfo, string > DigitalMap;
00061     DigitalMap digitalMap;
00062     typedef multimap<string, ThresholdScanDetails> ThresholdMap;
00063     ThresholdMap thresholdMap;
00064     typedef multimap<string, StrobeDelayScanDetails> StrobeMap;
00065     StrobeMap strobeMap;
00066 };
00067 }
00068 
00069 #endif //SCTTEST_SCANMAP_H

Generated on Mon Feb 6 14:01:27 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6