00001 #ifndef SCTTEST_MODULEDATA_H 00002 #define SCTTEST_MODULEDATA_H 00003 00004 #include <map> 00005 #include <string> 00006 using std::map; 00007 using std::string; 00008 00009 namespace SctTest { 00010 00014 struct TestInfo { 00015 TestInfo(); 00016 string path; 00017 unsigned int runNumber; 00018 unsigned int scanNumber; 00019 }; 00020 00021 00027 class ModuleData { 00028 public: 00032 ModuleData(); 00033 00039 ModuleData(string fileName); 00040 00046 void load(string fileName); 00047 00051 string getFileName() const; 00052 00057 bool dataExists(string serialNumber) const; 00058 00060 TestInfo getResponseCurveInfo(string serialNumber) const; 00061 TestInfo get3PtGainInfo(string serialNumber) const; 00062 TestInfo getStrobeDelayInfo(string serialNumber) const; 00063 TestInfo getTrimInfo(string serialNumber) const; 00064 TestInfo getPipelineInfo(string serialNumber) const; 00065 TestInfo getFullBypassInfo(string serialNumber) const; 00066 TestInfo getNoiseOccupancyInfo(string serialNumber) const; 00067 TestInfo getTimeWalkInfo(string serialNumber) const; 00068 00069 private: 00070 TestInfo getInfo(string serialNumber, unsigned int index) const; 00071 string fileName; 00072 00073 struct ModuleDataInfo { 00074 TestInfo infos[8]; 00075 }; 00076 00077 map<string, ModuleDataInfo> dataMap; 00078 }; 00079 00080 00081 } 00082 00083 #endif //SCTTEST_MODULEDATA_H