#ifndef SOLARIS_PANEL_H #define SOLARIS_PANEL_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ClassDigitizer2Gen.h" #include "CustomWidgets.h" #include "macro.h" class SOLARISpanel : public QWidget{ Q_OBJECT public: SOLARISpanel(Digitizer2Gen ** digi, unsigned short nDigi, std::vector> mapping, QStringList detType, std::vector detMaxID, QWidget * parent = nullptr); ~SOLARISpanel(); private slots: public slots: void UpdatePanel(); void UpdateThreshold(); signals: //TODO void UpdateSettingsPanel(); void UpdateScopePanel(); void SendLogMsg(const QString str); private: void CreateDetGroup(int SettingID, QList detID, QGridLayout * &layout, int row, int col); Digitizer2Gen ** digi; unsigned short nDigi; std::vector> mapping; QStringList detType; std::vector nDet; // number of disting detector std::vector detMaxID; QList> detIDList; // 1-D array of { detID, (Digi << 8 ) + ch} int FindDetTypID(QList detIDListElement); int nDigiMapping; /// mapping.size() std::vector nChMapping; /// mapping[i].size(), NON -1 QCheckBox * chkAll; // checkBox for all setting on that tab; QCheckBox * chkAlle; QCheckBox * chkAllxf; QCheckBox * chkAllxn; QLineEdit **** leDisplay; // [SettingID][DigiID][ChID] RSpinBox **** sbSetting; QCheckBox **** chkOnOff; RComboBox *** cbTrigger; //[detTypeID][detID] for array only bool enableSignalSlot; }; #endif