00001 00002 #ifndef QGUI_DATA_COLLECTOR_HH 00003 #define QGUI_DATA_COLLECTOR_HH 00004 00005 00006 // C/C++ Includes 00007 #include <string> 00008 #include <vector> 00009 00010 // Apollo Includes 00011 #include "QCuore.hh" 00012 #include "QDaqChannel.hh" 00013 00020 class QGUIDataCollector 00021 { 00022 public: 00023 00024 // Comments Type 00025 enum QCommentsType_t 00026 { 00027 QCOMMS_START=true, 00028 QCOMMS_STOP =false, 00029 }; 00030 00031 00032 // ctors 00033 QGUIDataCollector(); 00034 QGUIDataCollector(size_t ShifterSet); 00035 00036 //dtor 00037 virtual ~QGUIDataCollector(); 00038 00039 00040 // Getters 00041 size_t GetRunNumber() const {return fRunNumber;} 00042 size_t GetSettingBasketId() const {return fBasket;} 00043 size_t GetShifterSet() const {return fShifterSet;} 00044 const std::string& GetSettingBasketName() const { return fBasketName; } 00045 00050 size_t GetMinRunNumber() const {return fMinRun;} 00051 00053 size_t GetMinRunAllowed() const { return fLowerAllowedRun; } 00054 00061 size_t GetMaxRunNumber() const {return fMaxRun;} 00062 00064 size_t GetMaxRunAllowed() const { return fUpperAllowedRun; } 00065 00071 size_t GetNextRunNumber() const {return fNextRun;} 00072 00077 bool IsValidRun(size_t newRun) const; 00078 00083 bool IsValidSettingBasket(size_t newBasket) const; 00084 00091 bool IsValidShifterSet(size_t newSet) const; 00092 00098 bool SetRunNumber (size_t newRunNumber); 00099 00104 bool SetSettingBasketId(size_t newBasket); 00105 00110 bool SetShifterSet(size_t newSet); 00111 00117 void Revert(); 00118 00122 void ChangeDefaultSettingBasket(); 00123 00129 void InsertUserComments(const std::string& Comments, bool start); 00130 00131 private: 00132 00133 size_t fBasket; 00134 size_t fRunNumber; 00135 size_t fShifterSet; 00136 std::string fBasketName; 00137 std::string fComments; 00139 const size_t fLowerAllowedRun; 00141 size_t fMinRun; 00143 const size_t fUpperAllowedRun; 00148 size_t fMaxRun; 00150 size_t fNextRun; 00152 std::vector<size_t> fRunsVector; 00154 std::vector<unsigned short> fSettingsVector; 00155 }; 00156 #endif // QGUI_DATA_COLLECTOR_HH