00001 00024 #ifndef BDSWICMASKACCESSOR_H 00025 #define BDSWICMASKACCESSOR_H 00026 00027 #include <DatabaseInterface/DbiResultPtr.h> 00028 00029 #include <Validity/VldContext.h> 00030 #include <Validity/VldRange.h> 00031 #include <vector> 00032 #include <map> 00033 00034 class BeamMonSwicMask; 00035 class BeamMonSwicRel; 00036 00037 class BDSwicMaskAccessor { 00038 public: 00039 00040 BDSwicMaskAccessor(); 00041 00042 ~BDSwicMaskAccessor(); 00043 00044 void AddDevice(const char* device_name); 00045 00048 bool SetSpillTime(VldContext vc); 00049 00052 const std::vector<double>& GetMask(const char* device_name) const; 00053 00054 private: 00055 00056 void Reset(); 00057 00058 struct Device { 00059 std::vector<double> mask; 00060 std::vector<double> rel; 00061 std::vector<double> prod; 00062 }; 00063 typedef std::map<std::string,Device> SwicMap; 00064 SwicMap fSwicMap; 00065 00066 DbiResultPtr<BeamMonSwicMask>* fMaskResPtr; 00067 DbiResultPtr<BeamMonSwicRel>* fRelResPtr; 00068 const DbiResultKey *fMaskResKey, *fRelResKey; 00069 }; 00070 00071 #endif // BDSWICMASKACCESSOR_H
1.3.9.1