FSUDAQ/DigitizerPHA.h

52 lines
2.1 KiB
C++

#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