BufferNodeSimulator.h
Go to the documentation of this file.
1 /*
2  * File: BufferNodeSimulator.h
3  * Author: denis
4  *
5  * This class simulates the Buffer Node in NOvA DAQ
6  *
7  * Created on February 14, 2012, 2:50 PM
8  */
9 
10 #ifndef _BUFFERNODESIMULATOR_H
11 #define _BUFFERNODESIMULATOR_H
12 #include "DAQDataFormats/RawDataBlock.h"
13 #include <vector>
14 
15 // forward declarations
16 namespace daqdataformats{
17  class RawMilliSlice;
18  class RawTrigger;
19 }
20 
21 
22 namespace mcdatadaq {
23 
25  public:
26  BufferNodeSimulator(uint32_t buffer_node_id); ///< Constructor
27  ~BufferNodeSimulator(); ///< Destructor
28 
29  /// Given all MilliSlices for all DCMs and a Trigger from GlobalTrigger, produce DataBlock
30  daqdataformats::RawDataBlock* getDataBlock(const std::vector<daqdataformats::RawMilliSlice*>&,
32 
33  /// This Buffer Node ID
34  uint32_t getBufferNodeID() const;
35 
36  /// Advance to the next event - clearing the DataBlock
37  bool nextEvent();
38 
39  private:
40 
41  /// Add a millislice to the dataBlock
42  bool addMilliSlice(daqdataformats::RawMilliSlice*);
43 
44  private:
45  uint32_t _bufferNodeID; ///< Buffer Node ID
46 
48  };
49 }
50 #endif /* _BUFFERNODESIMULATOR_H */
51 
daqdataformats::RawDataBlock _dataBlock
Data Block.
uint32_t _bufferNodeID
Buffer Node ID.
Class to hold the data from the global trigger in the correct format.
Definition: RawTrigger.h:40
Something conflicts with RandomNumberGenerator. Keep DAQSimulator.h include below Art Framework inclu...
Class to hold the data from the FEBs in correct formats.