pflib v3.0.0-rc1-29-g3a901ac
Pretty Fine HGCROC Interaction Library
All Classes Namespaces Files Functions Variables Typedefs Pages
DAQ.h
1#ifndef PFLIB_DAQ_H_INCLUDED
2#define PFLIB_DAQ_H_INCLUDED
3
4#include <vector>
5#include <stdint.h>
6
7namespace pflib {
8
16class DAQ {
17 protected:
18 DAQ(int links) : n_links{links} { }
19 public:
20 virtual void reset() = 0;
22 virtual int getEventOccupancy() = 0;
24 //void setIds(int fpga_id);
26 //int getFPGAid();
28 virtual void setupLink(int ilink, int l1a_delay, int l1a_capture_width) = 0;
30 virtual void getLinkSetup(int ilink, int& l1a_delay, int& l1a_capture_width) = 0;
32 virtual void bufferStatus(int ilink, bool& empty, bool& full) = 0;
34 virtual void enable(bool enable=true) { enabled_=enable; }
36 virtual bool enabled() { return enabled_; }
38 int nlinks() const { return n_links; }
40 virtual std::vector<uint32_t> getLinkData(int ilink) = 0;
42 virtual void advanceLinkReadPtr() { }
43
44 private:
49};
50
51
52DAQ* get_DAQ_zcu();
53
54}
55
56#endif // PFLIB_DAQ_H_INCLUDED
Interface with DAQ via a WishboneInterface.
Definition DAQ.h:16
virtual void enable(bool enable=true)
enable/disable the readout
Definition DAQ.h:34
virtual void advanceLinkReadPtr()
Advance link read pointer.
Definition DAQ.h:42
int n_links
number of links
Definition DAQ.h:46
virtual std::vector< uint32_t > getLinkData(int ilink)=0
read out link data
virtual void setupLink(int ilink, int l1a_delay, int l1a_capture_width)=0
Set the FPGA id and the link ids based on the FPGA id.
Definition DAQ.cxx:48
virtual void getLinkSetup(int ilink, int &l1a_delay, int &l1a_capture_width)=0
read link parameters into the passed variables
Definition DAQ.cxx:72
bool enabled_
enabled
Definition DAQ.h:48
int nlinks() const
number of elinks
Definition DAQ.h:38
virtual bool enabled()
is the readout enabled?
Definition DAQ.h:36
virtual void bufferStatus(int ilink, bool &empty, bool &full)=0
get empty/full status for the given link and stage
Definition DAQ.cxx:86
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3