stream  0.10.0
stream analysis framework
OpticSplitter.h
1 #ifndef BASE_OPTICSPLITTER_H
2 #define BASE_OPTICSPLITTER_H
3 
4 #include "base/SysCoreProc.h"
5 
6 #include "base/defines.h"
7 
8 #include <map>
9 
10 namespace base {
11 
17 
18  friend class SysCoreProc;
19 
21  typedef std::map<unsigned,base::SysCoreProc*> SysCoreMap;
22 
23 
24  protected:
25 
26  SysCoreMap fMap;
27 
30  virtual bool doTriggerSelection() const { return false; }
31 
32  void AddSub(SysCoreProc* tdc, unsigned id);
33 
34  public:
35 
36  OpticSplitter(unsigned brdid = 0xff);
37  virtual ~OpticSplitter();
38 
39  virtual bool FirstBufferScan(const base::Buffer& buf);
40 
41  };
42 }
43 
44 #endif
Memory management class.
Definition: Buffer.h:49
This is splitter of raw data, recorded by the optic readout Current ABB firmware mix data from all RO...
Definition: OpticSplitter.h:16
virtual bool FirstBufferScan(const base::Buffer &buf)
Scan all messages, find reference signals.
Definition: OpticSplitter.cxx:41
virtual ~OpticSplitter()
destructor
Definition: OpticSplitter.cxx:26
virtual bool doTriggerSelection() const
Returns true when processor used to select trigger signal TRB3 not yet able to perform trigger select...
Definition: OpticSplitter.h:30
OpticSplitter(unsigned brdid=0xff)
constructor
Definition: OpticSplitter.cxx:10
void AddSub(SysCoreProc *tdc, unsigned id)
Way to register sub-processor.
Definition: OpticSplitter.cxx:33
SysCoreMap fMap
map of processors
Definition: OpticSplitter.h:26
Abstract processor of data streams.
Definition: StreamProc.h:21
SysCoreProc is base class for many processors of data, provided by SysCore2/3 boards.
Definition: SysCoreProc.h:17