BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
SC.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2/**
3 * @author <a href="mailto:dosil@ifae.es">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 "ESController/Config.h"
14#include "efhlt/Interface.h"
15#include <map>
16#include <string>
17
18// Include files for Gaudi
19#include "GaudiKernel/IEventProcessor.h"
20#include "GaudiKernel/IInterface.h"
21
22namespace efpsc {
23
24 class SC : public efhlt::Interface {
25 public:
26 /**
27 * C'tor. (Nothing happens here...)
28 */
29 SC();
30
31 /**
32 * D'tor virtualisation
33 */
34 virtual ~SC();
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 );
45
46 /**
47 * Unconfigures the framework, releasing all acquired resources.
48 */
49 virtual bool unconfigure( void );
50
51 virtual bool prepareForRun( int run_number );
52
53 /**
54 * Process one event, taking as input a pointer to the RawEvent serialized in a contiguous
55 * memory region (feStore) and giving as output the yes/no decision and the address
56 * (sdStore) of the "local" memory region containing the serialized EF fragment
57 */
58 virtual bool process( const uint32_t*& feStore, const uint32_t*& sdStore,
59 std::string& efDecision_s, std::vector<uint32_t>& efBitPattern );
60
61 private: ///< helpers
62 IEventProcessor* m_eventLoopMgr;
63
64 private: ///< representation
65 efpsc::Config* m_config; ///< my own configuration
66
67 bool m_isCreated;
68 int m_outLev;
69 // Pesa Application Manager
70 IInterface* m_pesaAppMgr;
71 std::string m_nameEventLoopMgr;
72 };
73} // namespace efpsc
74
75#endif /* ESC_STEERING_H */
Configuration for the implementations of EF algorithms.
Interface definition between HLT and DF.
virtual bool prepareForRun(int run_number)
Definition SC.cxx:389
virtual ~SC()
Definition SC.cxx:52
virtual bool unconfigure(void)
Definition SC.cxx:298
virtual bool configure(const std::string &config)
Definition SC.cxx:57
SC()
Definition SC.cxx:34
virtual bool process(const uint32_t *&feStore, const uint32_t *&sdStore, std::string &efDecision_s, std::vector< uint32_t > &efBitPattern)
Definition SC.cxx:401
Pesa Steering Controller for Event Filter algorithms.
Definition Config.h:17