Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BDSwicMaskAccessor.h

Go to the documentation of this file.
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

Generated on Mon Feb 15 11:06:24 2010 for loon by  doxygen 1.3.9.1