#ifndef DIGITIZER_PHA_H #define DIGITIZER_PHA_H #include "DigitizerClass.h" class DigitizerPHA : public Digitizer { public: DigitizerPHA(); DigitizerPHA(int boardID, int portID = 0); ~DigitizerPHA(); int ProgramBoard(); void SetAnalogProbe1(unsigned int bit); void SetAnalogProbe2(unsigned int bit); void SetWaveFormRecording(bool OnOff); void SetExtra2WordOutput(bool OnOff); void SetTimeStampRecording(bool OnOff); void SetEnergyRecording(bool OnOff); void SetVirtualProbe1(unsigned int bit); void SetTrapezoidRescaling(unsigned int rightShiftBits, int ch = -1); /// DPPAlgoritmControl bit-0:5 void SetPeakSampling(unsigned int bit, int ch = -1); /// DPPAlgoritmControl bit-10:11 void SetPulsePolarity(bool PositiveIsZero, int ch = -1); /// DPPAlgoritmControl bit-16 void SetBaselineSampling(unsigned int bit, int ch = -1); /// DPPAlgoritmControl bit-20:22 void SetRollOverFlag(bool isRollOver, int ch = -1); /// DPPAlgoritmControl bit-26 void SetPileUpFlag(bool isPileUpFlag, int ch = -1); /// DPPAlgoritmControl bit-27 void SetExtra2WordOption(unsigned int bit, int ch = -1); void SetTriggerThreshold(unsigned int threshold, int ch = -1 ); void SetTriggerHoldOff(unsigned int nSample, int ch = -1 ); void SetTriggerSmoothingFactor(unsigned int bit, int ch = -1 ); void SetInputRiseTime(unsigned int nSample, int ch = -1); void SetTriggerOutputWidth(unsigned int nSample, int ch = -1); void SetTrapezoidRiseTime(unsigned int nSample, int ch = -1 ); void SetTrapezoidFlatTop(unsigned int nSample, int ch = -1 ); void SetDecayTime(unsigned int nSample, int ch = -1 ); void SetPeakingTime(unsigned int nSample, int ch = -1 ); void SetPeakingHoldOff(unsigned int nSample, int ch = -1 ); void SetEnergyFineGain(unsigned int gain, int ch = -1 ); void SetRiseTimeValidWindow(unsigned int nSample, int ch = -1 ); void PrintBoardConfiguration(); void GetChannelSettingFromDigitizer(int ch); }; #endif