00001
00002 #ifndef SCT_SCTAPI_TRIGGER_H
00003 #define SCT_SCTAPI_TRIGGER_H
00004
00006
00007
00008
00009
00010 namespace SctApi {
00011 class Trigger;
00012 };
00013
00014
00015 #include "CommonWithDsp/processor.h"
00016 #include <utility>
00017 #include <vector>
00018
00019
00020 namespace SctApi {
00021
00022 class Trigger {
00023 public:
00024 virtual ~Trigger() {};
00025
00027 typedef std::pair<UINT16, UINT32> RODTrigger;
00028 typedef std::vector<RODTrigger> RODTriggers;
00029
00031 virtual void singleL1A() = 0;
00033 virtual void doubleL1A(unsigned short delay) = 0;
00035 virtual void delayedL1A(unsigned short delay) = 0;
00037 virtual void calL1A(unsigned short delay) = 0;
00038 virtual void pulseL1A(unsigned short delay) = 0;
00039 virtual void softL1A(unsigned short delay) = 0;
00040 virtual void softCalL1A(unsigned short delay, unsigned short delay2) = 0;
00041 virtual void softPulseL1A(unsigned short delay, unsigned short delay2) = 0;
00042 virtual void softBc(unsigned short delay) = 0;
00043 virtual void soft() = 0;
00044 virtual void bc() = 0;
00045 virtual void bcL1A(unsigned short delay) = 0;
00046 virtual void bcCalL1A(unsigned short delay, unsigned short delay2) = 0;
00047 virtual void bcPulseL1A(unsigned short delay, unsigned short delay2) = 0;
00048
00049 virtual void setCommIncr(unsigned short command, unsigned short incr) = 0;
00050 virtual void getCommIncr(unsigned short &command, unsigned short &incr) const = 0;
00051
00053 virtual const RODTriggers getRODTriggers() const = 0;
00054
00055 virtual void print() const = 0;
00056 };
00057
00058 };
00059
00060 #endif