pflib v3.0.0-rc1-29-g3a901ac
Pretty Fine HGCROC Interaction Library
All Classes Namespaces Files Functions Variables Typedefs Pages
Target.h
1#ifndef PFLIB_TARGET_H_INCLUDED
2#define PFLIB_TARGET_H_INCLUDED
3
4#include "pflib/I2C.h"
5#include "pflib/Hcal.h"
6#include "pflib/FastControl.h"
7
8namespace pflib {
9
13class Target {
14 public:
15
16 std::vector<std::string> i2c_bus_names();
17 I2C& get_i2c_bus(const std::string& name);
18
19 Hcal& hcal() { return *hcal_; }
20
21 FastControl& fc() { return *fc_; }
22
23 virtual std::vector<uint32_t> read_event() = 0;
24 virtual bool has_event() { return hcal().daq().getEventOccupancy()>0; }
25
26 protected:
28
31
32};
33
34 Target* makeTargetFiberless();
35
36}
37
38#endif // PFLIB_TARGET_H_INCLUDED
Representation of FastControl controller.
Definition FastControl.h:11
representing a standard HCAL motherboard or a test system
Definition Hcal.h:18
virtual DAQ & daq()=0
get the FastControl object
Base class which encapsulates the I2C interface, represents a single bus.
Definition I2C.h:14
encapulating a given setup's access rules
Definition Target.h:13
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3