00001
00002
00012 #ifndef EFHLT_INTERFACE_H
00013 #define EFHLT_INTERFACE_H
00014
00015 #include "eformat/eformat.h"
00016 #include <string>
00017
00018
00024 namespace efhlt {
00025
00029 class Interface {
00030
00031 public:
00032
00036 virtual ~Interface () {}
00037
00046 virtual bool configure (const std::string& config) =0;
00047
00051 virtual bool unconfigure (void) =0;
00052
00058 virtual bool prepareForRun (int run_number=0) =0;
00059
00065 virtual bool process (
00066 const uint32_t *&feStore,
00067 const uint32_t *&sdStore,
00068 std::string &efDecision_s,
00069 std::vector<uint32_t> &efBitPattern
00070 )=0;
00071
00072 };
00073
00074 }
00075
00076 #endif