#ifndef CHANNEL_SETTING_PSD_H #define CHANNEL_SETTING_PSD_H #include #include #include #include #include #include #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; 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, 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