54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
/* **************************************************************************
|
|
|
|
Author: Achim Gaedke
|
|
Created: June 2004
|
|
|
|
****************************************************************************/
|
|
#ifndef PULSEGEN_H
|
|
#define PULSEGEN_H
|
|
|
|
#include <string>
|
|
#include "core/states.h"
|
|
#include "core/core_exception.h"
|
|
|
|
/**
|
|
\addtogroup basedrivers
|
|
@{
|
|
*/
|
|
|
|
/**
|
|
* pulse generator exception
|
|
*/
|
|
class pulse_exception: public RecoverableException
|
|
{
|
|
public:
|
|
explicit pulse_exception(const std::string& msg) throw (): RecoverableException(msg) {}
|
|
explicit pulse_exception(const char* msg) throw (): RecoverableException(msg) {}
|
|
virtual ~pulse_exception() throw () {}
|
|
protected:
|
|
virtual const std::string prefix() const { return "ERROR (pulse_exception): "; }
|
|
};
|
|
|
|
/**
|
|
\brief the pulse generator is the destination of the states sequences
|
|
*/
|
|
|
|
class pulsegen {
|
|
public:
|
|
/**
|
|
compiles and runs the pulse program
|
|
*/
|
|
virtual void run_pulse_program(state& exp)=0;
|
|
|
|
/**
|
|
wait till end of pulseprogram
|
|
*/
|
|
virtual void wait_till_end()=0;
|
|
|
|
virtual ~pulsegen(){}
|
|
};
|
|
/**
|
|
@}
|
|
*/
|
|
#endif
|