pflib v3.9.0-rc3-11-g2537d8f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
pflib::Target Class Referenceabstract

encapulating a given setup's access rules More...

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

Public Types

enum class  DaqFormat { SIMPLEROC = 1 , ECOND_NO_ZS = 2 , ECOND_SW_HEADERS = 3 }
 types of daq formats that we can do More...
 

Public Member Functions

virtual int nrocs ()
 number of boards
 
virtual int necons ()
 number of econds
 
virtual bool have_roc (int iroc) const
 do we have a roc with this id?
 
virtual bool have_econ (int iecon) const
 do we have an econ with this id?
 
virtual std::vector< int > roc_ids () const
 get a list of the IDs we have set up
 
virtual std::vector< int > econ_ids () const
 get a list of the econ IDs we have set up
 
virtual ROCroc (int which)
 Get a ROC interface for the given HGCROC board.
 
virtual ECONecon (int which)
 get a ECON interface for the given econ board
 
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 Elinkselinks ()=0
 get the Elinks object
 
virtual FastControlfc ()=0
 get the FastControl object
 
virtual DAQdaq ()=0
 get the DAQ 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

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")}
 

Detailed Description

encapulating a given setup's access rules

Since both the Hcal and Ecal have ECONs and HGCROCs (that is the whole reason we share pflib and firmware), this pflib::Target is the unifying point for them. It represents one "DMA access" point (i.e. an HcalBackplane or a "group" of Ecal modules).

Member Enumeration Documentation

◆ DaqFormat

enum class pflib::Target::DaqFormat
strong

types of daq formats that we can do

Enumerator
SIMPLEROC 

simple format for direct HGCROC connection

ECOND_NO_ZS 

ECON-D without applying zero suppression.

ECOND_SW_HEADERS 

ECON-D with headers.

Member Function Documentation

◆ daq()

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

◆ econ()

virtual ECON & pflib::Target::econ ( int which)
inlinevirtual

get a ECON interface for the given econ board

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ econ_ids()

virtual std::vector< int > pflib::Target::econ_ids ( ) const
inlinevirtual

get a list of the econ IDs we have set up

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ elinks()

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

◆ fc()

virtual FastControl & pflib::Target::fc ( )
pure virtual

◆ hardResetECONs()

virtual void pflib::Target::hardResetECONs ( )
inlinevirtual

generate a hard reset to all the ECON boards

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, and pflib::HcalBackplaneZCU.

◆ hardResetROCs()

virtual void pflib::Target::hardResetROCs ( )
inlinevirtual

Generate a hard reset to all the HGCROC boards.

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.

◆ have_econ()

virtual bool pflib::Target::have_econ ( int iecon) const
inlinevirtual

do we have an econ with this id?

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ have_roc()

virtual bool pflib::Target::have_roc ( int iroc) const
inlinevirtual

do we have a roc with this id?

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ necons()

virtual int pflib::Target::necons ( )
inlinevirtual

number of econds

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ nrocs()

virtual int pflib::Target::nrocs ( )
inlinevirtual

number of boards

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ roc()

virtual ROC & pflib::Target::roc ( int which)
inlinevirtual

Get a ROC interface for the given HGCROC board.

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ roc_ids()

virtual std::vector< int > pflib::Target::roc_ids ( ) const
inlinevirtual

get a list of the IDs we have set up

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.

◆ softResetECON()

virtual void pflib::Target::softResetECON ( int which = -1)
inlinevirtual

Generate a soft reset to a specific ECON board, -1 for all.

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, and pflib::HcalBackplaneZCU.

◆ softResetROC()

virtual void pflib::Target::softResetROC ( int which = -1)
inlinevirtual

Generate a soft reset to a specific HGCROC board, -1 for all.

Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.


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