|
pflib v3.9.0-rc3-11-g2537d8f
Pretty Fine HGCROC Interaction Library
|
encapulating a given setup's access rules More...
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 ROC & | roc (int which) |
| Get a ROC interface for the given HGCROC board. | |
| virtual ECON & | econ (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 Elinks & | elinks ()=0 |
| get the Elinks object | |
| virtual FastControl & | fc ()=0 |
| get the FastControl object | |
| virtual DAQ & | daq ()=0 |
| get the DAQ object | |
| std::vector< std::string > | i2c_bus_names () |
| names of different I2C busses we could talk to | |
| I2C & | get_i2c_bus (const std::string &name) |
| get an I2C bus by name | |
| std::vector< std::string > | opto_link_names () const |
| names of different Optical Links we could talk to | |
| OptoLink & | get_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")} |
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).
|
strong |
|
pure virtual |
get the DAQ object
Implemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplane, pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.
|
inlinevirtual |
get a ECON interface for the given econ board
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
get a list of the econ IDs we have set up
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
pure virtual |
get the Elinks object
Implemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplane, pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.
|
pure virtual |
get the FastControl object
Implemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.
|
inlinevirtual |
generate a hard reset to all the ECON boards
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, and pflib::HcalBackplaneZCU.
|
inlinevirtual |
Generate a hard reset to all the HGCROC boards.
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, pflib::HcalBackplaneZCU, and pflib::HcalFiberless.
|
inlinevirtual |
do we have an econ with this id?
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
do we have a roc with this id?
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
number of econds
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
number of boards
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
Get a ROC interface for the given HGCROC board.
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
get a list of the IDs we have set up
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, and pflib::HcalBackplane.
|
inlinevirtual |
Generate a soft reset to a specific ECON board, -1 for all.
Reimplemented in pflib::EcalSMMTargetBW, pflib::EcalSMMTargetZCU, pflib::HcalBackplaneBW, and pflib::HcalBackplaneZCU.
|
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.