pflib v3.9.0-rc3-11-g2537d8f
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  ECONConnection
 The I2C interface and object for a ECON board. More...
 
struct  ROCConnection
 The I2C interfaces and objects for a HGCROC board. More...
 

Public Member Functions

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
 
- 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 Member Functions

void add_roc (int iroc, uint8_t roc_baseaddr, const std::string &roc_type_version, std::shared_ptr< I2C > roc_i2c, std::shared_ptr< I2C > bias_i2c, std::shared_ptr< I2C > board_i2c)
 Add a ROC to the set of ROCs.
 
void add_econ (int iecon, uint8_t econ_baseaddr, const std::string &econ_type, std::shared_ptr< I2C > econ_i2c)
 Add a ECON to the set of ECONs.
 

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::map< int, ROCConnectionroc_connections_
 
std::map< int, ECONConnectionecon_connections_
 
- 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")}
 

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.

◆ 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

◆ 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.

◆ necons()

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

number of econds

Reimplemented from pflib::Target.

◆ nrocs()

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

number of boards

Reimplemented from pflib::Target.

◆ 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.


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