FSUDAQ/DAQ/FSUDAQ.h

102 lines
2.2 KiB
C
Raw Normal View History

#include <TQObject.h>
#include <RQ_OBJECT.h>
#include <TROOT.h>
#include <TClass.h>
#include <TGClient.h>
#include <TGMenu.h>
#include <TGTextEdit.h>
#include <TThread.h>
#include <TH1F.h>
#include <TGraph.h>
#include <TBenchmark.h>
#include <TGTextEditor.h>
#include <TGTextEntry.h>
#include "CAENDigitizer.h"
2022-08-23 13:43:05 -04:00
#include "macro.h"
#include "ClassDigitizer.h"
2022-08-23 13:43:05 -04:00
2022-10-31 21:26:10 -04:00
#include "programSetting.h"
2022-08-23 13:43:05 -04:00
#include "boardSetting.h"
2022-09-23 17:43:30 -04:00
#include "channelSettingPHA.h"
2022-09-26 12:45:52 -04:00
#include "channelSettingPSD.h"
#include "registerSetting.h"
#include "triggerSummary.h"
#include "startStopDialog.h"
2022-08-23 13:43:05 -04:00
class TGWindow;
class TGMainFrame;
class TRootEmbeddedCanvas;
class TGNumberEntry;
class MainWindow{
RQ_OBJECT("MainWindow")
private:
TGMainFrame *fMain;
static TRootEmbeddedCanvas *fEcanvas;
TGMenuBar *fMenuBar;
TGPopupMenu *fMenuFile, *fMenuDigitizers, *fMenuUtility;
static TGNumberEntry * boardIDEntry, *chIDEntry;
2022-09-26 16:47:20 -04:00
static TGTextView * teLog;
2022-09-26 16:47:20 -04:00
TGTextButton *bOpenDigitizers;
TGTextButton *bStartRun;
TGTextButton *bStopRun;
static TGComboBox* cbMode;
2022-10-03 14:35:56 -04:00
static TGTextEntry * dataPrefix;
static TGNumberEntry * runIDEntry;
2022-10-31 16:39:19 -04:00
static TGCheckButton * cbDataRun;
TGTextButton *bPlotSingleTrace;
TGTextButton *bFitTrace;
2022-08-23 13:43:05 -04:00
std::vector<int> portID;
std::vector<int> boardID;
std::vector<int> serialNum;
2022-10-07 17:03:27 -04:00
static BoardSetting * boardSetting;
ChannelSettingPHA * channelSettingPHA;
ChannelSettingPSD * channelSettingPSD;
RegisterSetting * registerSetting;
TriggerSummary * triggerSummary;
ProgramSetting * programSetting;
StartStopDialog * startStopDialog;
2022-10-31 16:39:19 -04:00
TThread * runThread;
public:
MainWindow(const TGWindow *p, UInt_t w, UInt_t h);
virtual ~MainWindow();
void HandleMenu(Int_t id);
void OpenDigitizers();
void ChangeBoard();
void LoadSettingFromFile();
void UpdateExpName();
void StartRun();
void StopRun();
2022-10-31 16:39:19 -04:00
static void * Run(void * ptr); /// thread
2022-09-23 17:43:30 -04:00
void PlotSingleTrace();
void FitTrace();
void ChangePlot();
void OpenChannelSetting(Int_t);
void UpdateChannelSetting();
void LogMsg(char * );
void GoodBye();
2022-10-31 15:00:04 -04:00
static void DrawDummyGraph();
2022-10-31 21:26:10 -04:00
static void MakeElogEntry(bool start); /// call elogEntry.sh bash script
};