/* * FCALMORPulser.hh * * Created on: Sep 6, 2015 * Author: Hovanes Egiyan */ #ifndef __FCALMORPULSER_HH__ #define __FCALMORPULSER_HH__ #include "VPulser.hh" class FCALMORPulser: public VPulser { protected: static std::string fmpPulserID; // The pulse width of the pulser is given in 10ns units. static double fmpPulseWidthUnit; // The pulse delay of the pulser is given in 10ns units. static double fmpPulseDelayUnit; FCALMORPulser() { return; } public: FCALMORPulser(const std::string id) ; // virtual inline unsigned getRangeMask() { // return fmpRangeMask; // } // virtual inline unsigned getChannelMask() { // return fmpChannelMask; // } // virtual inline std::vector& getChannelVector() { // return fmpChannelVector; // } static inline double getPulseWidthUnit() {return fmpPulseWidthUnit;} static inline double getPulseDelayUnit() {return fmpPulseDelayUnit;} static inline double setPulseWidthUnit( const double u ) {return (fmpPulseWidthUnit=u);} static inline double setPulseDelayUnit( const double u ) {return (fmpPulseDelayUnit=u);} virtual void switchState(const short state ); // Switch state virtual void setWidth( const unsigned width ); // Set width virtual void setFrequency( const double freq ); // set frequency virtual void setNPulses( const unsigned n ); // Set number of pulses virtual void setDelay( const unsigned d); // Set delay. Virtual virtual short getStatus(); // get status for this pulses virtual unsigned getWidth(); // get pulse width for this pulser virtual double getFrequency(); // get frequency for this pulser virtual unsigned getNPulses(); // get the number of pulses to pulse virtual unsigned getDelay(); // get delay. }; #endif /* __FCALMORPULSER_HH__ */