pflib v3.9.4-7-gb2e7f4f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
pflib::HcalBackplane Class Referenceabstract

representing an HcalBackplane More...

#include <HcalBackplane.h>

Inheritance diagram for pflib::HcalBackplane:
[legend]
Collaboration diagram for pflib::HcalBackplane:
[legend]

Classes

struct  HGCROCBoard
 an HGCROC board contains one ROC, one Bias board and some other utilities that are accessible via the Bias C++ object More...
 

Public Member Functions

virtual ~HcalBackplane ()=default
 virtual destructor since we'll be holding this as a Target
 
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 connected.
 
virtual int nrocs () override
 number of boards
 
virtual int necons () override
 number of econds
 
virtual bool have_roc (int iroc) const override
 do we have a roc with this id?
 
virtual bool have_econ (int iecon) const override
 do we have an econ with this id?
 
virtual std::vector< int > roc_ids () const override
 get a list of the IDs we have set up
 
virtual std::vector< int > econ_ids () const override
 get a list of the econ IDs we have set up
 
virtual ROCroc (int which) override
 Get a ROC interface for the given HGCROC board.
 
virtual ECONecon (int which) override
 get a ECON interface for the given econ board
 
Bias bias (int which)
 Get an I2C interface for the given HGCROC board's bias bus

 
virtual GPIOgpio ()
 Get the GPIO object for debugging purposes.
 
virtual Elinkselinks ()=0
 get the Elinks object
 
virtual DAQdaq ()=0
 get the DAQ object
 
const std::vector< std::pair< int, int > > & getRocErxMapping () override
 Get the ROC to eRx mapping.
 
- Public Member Functions inherited from pflib::Target
virtual void hardResetROCs ()
 Generate a hard reset to all the HGCROC boards.
 
virtual void hardResetECONs ()
 generate a hard reset to all the ECON boards
 
virtual uint32_t getFirmwareVersion ()
 Get the firmware version.
 
virtual void softResetROC (int which=-1)
 Generate a soft reset to a specific HGCROC board, -1 for all.
 
virtual void softResetECON (int which=-1)
 Generate a soft reset to a specific ECON board, -1 for all.
 
virtual FastControlfc ()=0
 get the FastControl object
 
std::vector< std::stringi2c_bus_names ()
 names of different I2C busses we could talk to
 
I2Cget_i2c_bus (const std::string &name)
 get an I2C bus by name
 
std::vector< std::stringopto_link_names () const
 names of different Optical Links we could talk to
 
OptoLinkget_opto_link (const std::string &name) const
 get an OptoLink by name
 
virtual void setup_run (int irun, DaqFormat format, int contrib_id=-1)
 
virtual std::vector< uint32_t > read_event ()=0
 
virtual bool has_event ()
 

Protected Attributes

int nhgcroc_
 Number of HGCROC boards in this system.
 
int necon_
 Number of ECON boards in this system.
 
std::unique_ptr< GPIOgpio_
 The GPIO interface.
 
std::array< std::unique_ptr< HGCROCBoard >, 4 > rocs_
 the backplane can hold up to 4 HGCROC boards
 
std::array< std::unique_ptr< ECON >, 3 > econs_
 the ECONs on the ECON Mezzanine on this backplane
 
- Protected Attributes inherited from pflib::Target
std::map< std::string, std::shared_ptr< I2C > > i2c_
 
std::map< std::string, std::shared_ptr< OptoLink > > opto_
 
logging::logger the_log_ {logging::get("Target")}
 
std::vector< std::pair< int, int > > roc_to_erx_map_
 

Additional Inherited Members

- Public Types inherited from pflib::Target
enum class  DaqFormat { SIMPLEROC = 1 , ECOND_NO_ZS = 2 , ECOND_SW_HEADERS = 3 }
 types of daq formats that we can do More...
 

Detailed Description

representing an HcalBackplane

Member Function Documentation

◆ daq()

virtual DAQ & pflib::HcalBackplane::daq ( )
pure virtual

get the DAQ object

Implements pflib::Target.

Implemented in pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.

◆ econ()

ECON & pflib::HcalBackplane::econ ( int which)
overridevirtual

get a ECON interface for the given econ board

Reimplemented from pflib::Target.

Reimplemented in pflib::HcalFiberless.

◆ econ_ids()

std::vector< int > pflib::HcalBackplane::econ_ids ( ) const
overridevirtual

get a list of the econ IDs we have set up

Reimplemented from pflib::Target.

◆ elinks()

virtual Elinks & pflib::HcalBackplane::elinks ( )
pure virtual

◆ getRocErxMapping()

const std::vector< std::pair< int, int > > & pflib::HcalBackplane::getRocErxMapping ( )
overridevirtual

Get the ROC to eRx mapping.

Implements pflib::Target.

◆ have_econ()

bool pflib::HcalBackplane::have_econ ( int iecon) const
overridevirtual

do we have an econ with this id?

Reimplemented from pflib::Target.

◆ have_roc()

bool pflib::HcalBackplane::have_roc ( int iroc) const
overridevirtual

do we have a roc with this id?

Reimplemented from pflib::Target.

Reimplemented in pflib::HcalFiberless.

◆ init()

void pflib::HcalBackplane::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 connected.

Parameters
[in]daq_lpgbtaccessor to DAQ lpGBT
[in]trig_lpgbtaccessor to TRIG lpGBT
[in]hgcroc_boardsbit-mask saying if a board is active/enabled (1) or inactive/disabled (0) - the bit in position i represents board i

◆ necons()

virtual int pflib::HcalBackplane::necons ( )
inlineoverridevirtual

number of econds

Reimplemented from pflib::Target.

Reimplemented in pflib::HcalFiberless.

◆ nrocs()

virtual int pflib::HcalBackplane::nrocs ( )
inlineoverridevirtual

number of boards

Reimplemented from pflib::Target.

Reimplemented in pflib::HcalFiberless.

◆ roc()

ROC & pflib::HcalBackplane::roc ( int which)
overridevirtual

Get a ROC interface for the given HGCROC board.

Reimplemented from pflib::Target.

◆ roc_ids()

std::vector< int > pflib::HcalBackplane::roc_ids ( ) const
overridevirtual

get a list of the IDs we have set up

Reimplemented from pflib::Target.

Reimplemented in pflib::HcalFiberless.


The documentation for this class was generated from the following files: