pflib v3.12.0-1-g716e801
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
DAQ.h
1#ifndef PFLIB_DAQ_H_INCLUDED
2#define PFLIB_DAQ_H_INCLUDED
3
4#include <stdint.h>
5
6#include <map>
7#include <string>
8#include <vector>
9
10namespace pflib {
11
19class DAQ {
20 protected:
21 DAQ(int links);
22
23 public:
24 virtual void reset() = 0;
26 virtual int getEventOccupancy() = 0;
28 virtual void setupLink(int ilink, int l1a_delay, int l1a_capture_width) = 0;
30 virtual void getLinkSetup(int ilink, int& l1a_delay,
31 int& l1a_capture_width) = 0;
33 virtual void bufferStatus(int ilink, bool& empty, bool& full) = 0;
34
36 virtual void setup(int econid, int samples_per_ror, int soi = -1);
38 int econid() const;
40 int samples_per_ror() const;
42 int soi() const;
43
45 virtual void enable(bool enable = true);
47 virtual bool enabled();
49 int nlinks() const;
51 virtual bool AXIS_enabled();
53 virtual void AXIS_enable(bool enable);
54
56 virtual std::vector<uint32_t> getLinkData(int ilink) = 0;
58 virtual void advanceLinkReadPtr() = 0;
59
61 virtual std::map<std::string, uint32_t> get_debug(uint32_t ask);
62
71
72 private:
82 int soi_;
83};
84
85} // namespace pflib
86
87#endif // PFLIB_DAQ_H_INCLUDED
Interface with DAQ via a WishboneInterface.
Definition DAQ.h:19
virtual void enable(bool enable=true)
enable/disable the readout
Definition DAQ.cxx:18
std::vector< uint32_t > read_event_sw_headers()
readout an event including emulation of the headers the firmware inserts
Definition DAQ.cxx:28
int soi() const
get the soi
Definition DAQ.cxx:17
virtual void setup(int econid, int samples_per_ror, int soi=-1)
setup overall event information for daq channels
Definition DAQ.cxx:9
int n_links
number of links
Definition DAQ.h:74
virtual std::vector< uint32_t > getLinkData(int ilink)=0
read out link data
virtual bool AXIS_enabled()
is AXIS enabled?
Definition DAQ.cxx:21
virtual void bufferStatus(int ilink, bool &empty, bool &full)=0
get empty/full status for the given link and stage
virtual void advanceLinkReadPtr()=0
Advance link read pointer.
virtual std::map< std::string, uint32_t > get_debug(uint32_t ask)
get any useful debugging data
Definition DAQ.cxx:24
int soi_
index for sample of interest in set of samples
Definition DAQ.h:82
virtual void AXIS_enable(bool enable)
enable/disable AXIS
Definition DAQ.cxx:22
int econid() const
get the econid
Definition DAQ.cxx:15
bool enabled_
enabled
Definition DAQ.h:76
virtual void setupLink(int ilink, int l1a_delay, int l1a_capture_width)=0
Setup a link.
int samples_
number of samples per readout request
Definition DAQ.h:80
virtual void getLinkSetup(int ilink, int &l1a_delay, int &l1a_capture_width)=0
read link parameters into the passed variables
int nlinks() const
number of elinks
Definition DAQ.cxx:20
virtual bool enabled()
is the readout enabled?
Definition DAQ.cxx:19
int econid_
id for the econ we are reading
Definition DAQ.h:78
int samples_per_ror() const
get the samples
Definition DAQ.cxx:16
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3