BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/ESController/ESController/SC.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2/**
3 * @author <a href="mailto:[email protected]">Mireia Dosil</a>
4 * $Revision: 1.2 $
5 * $Date: 2008/04/15 10:12:13 $
6 *
7 * @brief Pesa Steering Controller for Event Filter algorithms
8 */
9
10#ifndef ESC_STEERING_H
11#define ESC_STEERING_H
12
13#include "efhlt/Interface.h"
14#include "ESController/Config.h"
15#include <map>
16#include <string>
17
18// Include files for Gaudi
19#include "GaudiKernel/IInterface.h"
20#include "GaudiKernel/IEventProcessor.h"
21
22namespace efpsc {
23
24 class SC : public efhlt::Interface
25 {
26 public:
27 /**
28 * C'tor. (Nothing happens here...)
29 */
30 SC() ;
31
32 /**
33 * D'tor virtualisation
34 */
35 virtual ~SC() ;
36
37 /**
38 * Configures the framework
39 *
40 * @param config Is the only configuration parameter passed. The
41 * actual configuration implementation has to parse it, if that is the
42 * case in order to find its own way through the framework's configuration
43 * system.
44 */
45 virtual bool configure (const std::string& config);
46
47 /**
48 * Unconfigures the framework, releasing all acquired resources.
49 */
50 virtual bool unconfigure (void);
51
52 virtual bool prepareForRun(int run_number);
53
54 /**
55 * Process one event, taking as input a pointer to the RawEvent serialized in a contiguous
56 * memory region (feStore) and giving as output the yes/no decision and the address (sdStore)
57 * of the "local" memory region containing the serialized EF fragment
58 */
59 virtual bool process (
60 const uint32_t *&feStore,
61 const uint32_t *&sdStore,
62 std::string &efDecision_s,
63 std::vector<uint32_t> &efBitPattern);
64
65 private: ///< helpers
66
67 IEventProcessor *m_eventLoopMgr ;
68
69 private: ///< representation
70 efpsc::Config* m_config; ///< my own configuration
71
72 bool m_isCreated;
73 int m_outLev;
74 // Pesa Application Manager
75 IInterface* m_pesaAppMgr;
76 std::string m_nameEventLoopMgr;
77 };
78}
79
80#endif /* ESC_STEERING_H */
Interface definition between HLT and DF.
virtual bool process(const uint32_t *&feStore, const uint32_t *&sdStore, std::string &efDecision_s, std::vector< uint32_t > &efBitPattern)
virtual ~SC()
virtual bool unconfigure(void)
virtual bool configure(const std::string &config)
virtual bool prepareForRun(int run_number)
Pesa Steering Controller for Event Filter algorithms.