BOSS 7.0.8
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="[email protected]">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/**
20 * Defines the namespace that contains definitions that are common to both
21 * Dataflow and the ATLAS High-Level Triggers software. This abstract
22 * interface disantangles both development trees.
23 */
24namespace efhlt {
25
26 /**
27 * Defines common operations for the LVEF HLT software.
28 */
29 class Interface {
30
31 public:
32
33 /**
34 * Virtualizes the destruction.
35 */
36 virtual ~Interface () {}
37
38 /**
39 * Configures the framework
40 *
41 * @param config Is the only configuration parameter passed. The
42 * actual configuration implementation has to parse it, if that is the
43 * case in order to find its own way through the framework's configuration
44 * system.
45 */
46 virtual bool configure (const std::string& config) =0;
47
48 /**
49 * Unconfigures the framework, releasing all acquired resources.
50 */
51 virtual bool unconfigure (void) =0;
52
53 /**
54 * prepares the HLT framework for a run
55 *
56 * @param run_number The Run number to be used for this run.
57 */
58 virtual bool prepareForRun (int run_number=0) =0;
59
60 /**
61 * Process one event, taking as input a pointer to the RawEvent serialized in a contiguous
62 * memory region (feStore) and giving as output the yes/no decision and the address (sdStore)
63 * of the "local" memory region containing the serialized EF fragment
64 */
65 virtual bool process (
66 const uint32_t *&feStore,
67 const uint32_t *&sdStore,
68 std::string &efDecision_s,
69 std::vector<uint32_t> &efBitPattern
70 )=0;
71
72 };
73
74}
75
76#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:36
virtual bool unconfigure(void)=0
virtual bool configure(const std::string &config)=0
Includes all entities from the Event Format Library (eformat)