9#include "pflib/Target.h"
41 virtual bool have_roc(
int iroc)
const override;
44 virtual bool have_econ(
int iecon)
const override;
53 virtual ROC&
roc(
int which)
override;
56 virtual ECON&
econ(
int which)
override;
The HGC ROC has 4 MAX5825 chips doing the DAC for the bias voltages.
Definition Bias.h:138
Interface with DAQ via a WishboneInterface.
Definition DAQ.h:19
Interface for configuring the elinks.
Definition Elinks.h:13
Representation of GPIO controller.
Definition GPIO.h:12
representing an HcalBackplane
Definition HcalBackplane.h:16
virtual TRIG * trig(int itrig)
get the trig object, if valid
Definition HcalBackplane.h:71
virtual DAQ & daq()=0
get the DAQ object
Bias bias(int which)
Get an I2C interface for the given HGCROC board's bias bus
Definition HcalBackplane.cxx:187
virtual int nrocs() override
number of boards
Definition HcalBackplane.h:35
const std::vector< std::pair< int, std::vector< int > > > & getHardwareRocErxMappingTRG() override
Get the ROC to eRx mapping for the TRG path.
Definition HcalBackplane.cxx:135
virtual bool have_roc(int iroc) const override
do we have a roc with this id?
Definition HcalBackplane.cxx:106
static const std::vector< std::pair< int, int > > ROC_ERX_MAPPING_DAQ
the ROC to eRx mapping along the DAQ path for this hardware
Definition HcalBackplane.h:81
virtual Elinks & elinks()=0
get the Elinks object
virtual ECON & econ(int which) override
get a ECON interface for the given econ board
Definition HcalBackplane.cxx:174
virtual std::vector< int > econ_ids() const override
get a list of the econ IDs we have set up
Definition HcalBackplane.cxx:150
virtual ROC & roc(int which) override
Get a ROC interface for the given HGCROC board.
Definition HcalBackplane.cxx:161
int necon_
Number of ECON boards in this system.
Definition HcalBackplane.h:91
virtual int necons() override
number of econds
Definition HcalBackplane.h:38
std::unique_ptr< GPIO > gpio_
The GPIO interface.
Definition HcalBackplane.h:94
std::array< std::unique_ptr< HGCROCBoard >, 4 > rocs_
the backplane can hold up to 4 HGCROC boards
Definition HcalBackplane.h:107
int nhgcroc_
Number of HGCROC boards in this system.
Definition HcalBackplane.h:88
std::array< std::unique_ptr< ECON >, 3 > econs_
the ECONs on the ECON Mezzanine on this backplane
Definition HcalBackplane.h:110
virtual std::vector< int > roc_ids() const override
get a list of the IDs we have set up
Definition HcalBackplane.cxx:139
virtual ~HcalBackplane()=default
virtual destructor since we'll be holding this as a Target
const std::vector< std::pair< int, int > > & getHardwareRocErxMappingDAQ() override
Get the ROC to eRx mapping for the DAQ path.
Definition HcalBackplane.cxx:124
virtual GPIO & gpio()
Get the GPIO object for debugging purposes.
Definition HcalBackplane.h:62
void init(lpGBT &daq_lpgbt, lpGBT &trig_lpgbt, int hgcroc_boards)
Common initialization for slow control given lpGBT objects and a mask for which HGCROC boards are con...
Definition HcalBackplane.cxx:21
virtual bool have_econ(int iecon) const override
do we have an econ with this id?
Definition HcalBackplane.cxx:113
std::unique_ptr< pflib::TRIG > trig_
pointer to the TRIG object if available
Definition HcalBackplane.h:113
static const std::vector< std::pair< int, std::vector< int > > > ROC_ERX_MAPPING_TRG
the ROC to eRx mapping along the TRG path for this hardware
Definition HcalBackplane.h:84
Trigger path management interface.
Definition TRIG.h:18
encapulating a given setup's access rules
Definition Target.h:26
Class which provides an interface with an lpGBT ASIC as mounted on an LDMX mezzanine.
Definition lpGBT.h:54
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3
an HGCROC board contains one ROC, one Bias board and some other utilities that are accessible via the...
Definition HcalBackplane.h:101