BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Interface.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/**
4 * @file Interface.h
5 * @author <a href="dosil@ifae.es">Mireia Dosil</a>
6 * $Revision: 1.1.1.1 $
7 * $Date: 2007/04/26 02:51:20 $
8 *
9 * @brief Interface definition between HLT and DF
10 */
11
12#ifndef EFHLT_INTERFACE_H
13#define EFHLT_INTERFACE_H
14
15#include "eformat/eformat.h"
16#include <string>
17
18/**
19 * Defines the namespace that contains definitions that are common to both
20 * Dataflow and the ATLAS High-Level Triggers software. This abstract
21 * interface disantangles both development trees.
22 */
23namespace efhlt {
24
25 /**
26 * Defines common operations for the LVEF HLT software.
27 */
28 class Interface {
29
30 public:
31 /**
32 * Virtualizes the destruction.
33 */
34 virtual ~Interface() {}
35
36 /**
37 * Configures the framework
38 *
39 * @param config Is the only configuration parameter passed. The
40 * actual configuration implementation has to parse it, if that is the
41 * case in order to find its own way through the framework's configuration
42 * system.
43 */
44 virtual bool configure( const std::string& config ) = 0;
45
46 /**
47 * Unconfigures the framework, releasing all acquired resources.
48 */
49 virtual bool unconfigure( void ) = 0;
50
51 /**
52 * prepares the HLT framework for a run
53 *
54 * @param run_number The Run number to be used for this run.
55 */
56 virtual bool prepareForRun( int run_number = 0 ) = 0;
57
58 /**
59 * Process one event, taking as input a pointer to the RawEvent serialized in a contiguous
60 * memory region (feStore) and giving as output the yes/no decision and the address
61 * (sdStore) of the "local" memory region containing the serialized EF fragment
62 */
63 virtual bool process( const uint32_t*& feStore, const uint32_t*& sdStore,
64 std::string& efDecision_s, std::vector<uint32_t>& efBitPattern ) = 0;
65 };
66
67} // namespace efhlt
68
69#endif /* EFHLT_INTERFACE_H */
virtual bool process(const uint32_t *&feStore, const uint32_t *&sdStore, std::string &efDecision_s, std::vector< uint32_t > &efBitPattern)=0
virtual bool prepareForRun(int run_number=0)=0
virtual ~Interface()
Definition Interface.h:34
virtual bool unconfigure(void)=0
virtual bool configure(const std::string &config)=0