FSUDAQ/channelSettingPSD.h
2022-09-26 12:45:52 -04:00

119 lines
2.9 KiB
C++

#ifndef CHANNEL_SETTING_PSD_H
#define CHANNEL_SETTING_PSD_H
#include <TQObject.h>
#include <RQ_OBJECT.h>
#include <TGNumberEntry.h>
#include <TGButton.h>
#include <TGComboBox.h>
#include <TGLabel.h>
#include "ClassDigitizer.h"
#include "macro.h"
class TGWindow;
class TGMainFrame;
class ChannelSettingPSD{
RQ_OBJECT("ChannelSettingPSD")
private:
TGMainFrame * fMain;
TGNumberEntry * boardIDEntry, * chIDEntry;
TGTextEntry * eTemp ;
TGComboBox * cbOnOff;
TGComboBox * cbPolarity;
TGComboBox * cbInputDynamicRange;
TGNumberEntry * numRecordLength;
TGNumberEntry * numPreTrigger;
TGNumberEntry * numEventAgg;
TGNumberEntry * numTriggerThreshold;
TGNumberEntry * numTriggerHoldOff;
TGNumberEntry * numlbChargeZeroSupThreshold;
TGNumberEntry * numTrigLatency;
TGNumberEntry * numDCOffset;
TGNumberEntry * numThresholdPSDCut;
TGNumberEntry * numPURGAPThreshold;
TGComboBox * cbTriggerMode;
TGNumberEntry * numCFDDelay;
TGComboBox * cbCFDFraction;
TGComboBox * cbCFDInterPt;
TGNumberEntry * numShortGateWidth;
TGNumberEntry * numLongGateWidth;
TGNumberEntry * numGateOffset;
TGNumberEntry * numFixBaseline;
TGComboBox * cbBaseLineAvg;
TGComboBox * cbChargeSensitivity;
TGComboBox * cbChargePedestal;
TGComboBox * cbTriggerCount;
TGComboBox * cbDiscrimationMode;
TGComboBox * cbPileUpGate;
TGComboBox * cbPileUp;
TGComboBox * cbTestPulseRate;
TGComboBox * cbBaselineLongGate;
TGComboBox * cbDiscardQlongQthr;
TGComboBox * cbOverRange;
TGComboBox * cbTrigHysteresis;
TGComboBox * cbInhibitOppostieParity;
TGComboBox * cbLocalShapedTrigger;
TGComboBox * cbLocalTriggerValid;
TGComboBox * cbAddLocalTriggerValid;
TGComboBox * cbVetoSource;
TGComboBox * cbInputSmoothinFactor;
TGComboBox * cbTriggerCounterRate;
TGComboBox * cbMarkSaturatedPulse;
TGComboBox * cbVetoMode;
TGComboBox * cbResetTimeStamp;
TGComboBox * cbDisableSelfTrigger;
TGComboBox * cbExtraWordOption;
Digitizer ** digi;
int nDigi;
int NChannel; // hard coded = 16
bool isOpened;
int presentBoardID;
unsigned short ch2ns;
void ChangeAStep(TGNumberEntry * numEntry, unsigned short stepSize, uint32_t address);
public:
ChannelSettingPSD(const TGWindow *p, UInt_t w, UInt_t h, Digitizer ** digi, int nDigi, int boardID);
virtual ~ChannelSettingPSD();
void CloseWindow() { delete this; }
bool IsOpen() {return isOpened;}
void ChangeBoard();
void ChangeCh(); /// also get all settings
void SetAllChannels();
void SetChannelMask();
void SetDPPAlgorithm1();
void SetDPPAlgorithm2();
void SetInputDynamicRange();
void SetRecordLength();
void SetPreTrigger();
void SetEventAggregate();
void SetTriggerThreshold();
void SetTriggerHoldOff();
void SetDCOffset();
void LogMsg(TString msg); // *SIGNAL*
};
#endif