pflib v3.14.1-5-gc57a164
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
pflib::HcalBackplaneBW Class Reference
Inheritance diagram for pflib::HcalBackplaneBW:
[legend]
Collaboration diagram for pflib::HcalBackplaneBW:
[legend]

Public Member Functions

 HcalBackplaneBW (int itarget, uint8_t board_mask, const char *dev)
 
virtual void softResetROC (int which) override
 Generate a soft reset to a specific HGCROC board, -1 for all.
 
virtual void softResetECON (int which=-1) override
 Generate a soft reset to a specific ECON board, -1 for all.
 
virtual void hardResetROCs () override
 Generate a hard reset to all the HGCROC boards.
 
virtual void hardResetECONs () override
 generate a hard reset to all the ECON boards
 
virtual Elinks & elinks () override
 get the Elinks object
 
virtual DAQ & daq () override
 get the DAQ object
 
virtual FastControl & fc () override
 get the FastControl object
 
virtual void setup_run (int irun, Target::DaqFormat format, int contrib_id)
 
virtual std::vector< uint32_t > read_event () override
 
- Public Member Functions inherited from pflib::HcalBackplane
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, bool use_bias_cache)
 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 ROC & roc (int which) override
 Get a ROC interface for the given HGCROC board.
 
virtual ECON & econ (int which) override
 get a ECON interface for the given econ board
 
Bias & bias (int which) override
 Get an I2C interface for the given HGCROC board's bias bus

 
virtual GPIO & gpio ()
 Get the GPIO object for debugging purposes.
 
virtual TRIG * trig (int itrig)
 get the trig object, if valid
 
const std::vector< std::pair< int, int > > & getHardwareRocErxMappingDAQ () override
 Get the ROC to eRx mapping for the DAQ path.
 
const std::vector< std::pair< int, std::vector< int > > > & getHardwareRocErxMappingTRG () override
 Get the ROC to eRx mapping for the TRG path.
 
- Public Member Functions inherited from pflib::HcalTarget
- Public Member Functions inherited from pflib::Target
virtual uint32_t getFirmwareVersion ()
 Get the firmware version.
 
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
 
const packing::SingleECONDRocErxMapping & getRocErxMapping ()
 get the mapping that can be used to convert between (i_erx, link_chan) and (i_roc, chan) indices
 
virtual bool has_event ()
 
TempParametersAllROCs tempApplyAllROCs (const std::map< std::string, std::map< std::string, uint64_t > > &parameters)
 temporarily apply the same parameters to all the ROCs these parameters are unset when the returned object goes out of scope
 
TempParametersAllROCs tempApplyAllROCs (const std::map< int, std::map< std::string, std::map< std::string, uint64_t > > > &parameters)
 temporarily apply some parameters (varying depending on ROC) these parameters are unset when the returned object goes out of scope
 

Private Attributes

logging::logger the_log_ {logging::get("HcalBackplaneBW")}
 
std::unique_ptr< pflib::lpGBT > daq_lpgbt_
 
std::unique_ptr< pflib::lpGBT > trig_lpgbt_
 
std::unique_ptr< pflib::bittware::OptoElinksBW > elinks_
 
std::unique_ptr< bittware::HcalBackplaneBW_Capture > daq_
 
std::shared_ptr< pflib::bittware::BWFastControl > fc_
 
Target::DaqFormat format_
 
int contrib_id_
 

Additional Inherited Members

- Public Types inherited from pflib::Target
enum class  DaqFormat { SIMPLEROC = 1 , ECOND_SW_HEADERS = 2 }
 types of daq formats that we can do More...
 
- Static Public Attributes inherited from pflib::HcalBackplane
static const std::vector< std::pair< int, int > > ROC_ERX_MAPPING_DAQ
 the ROC to eRx mapping along the DAQ path for this hardware
 
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
 
- Protected Attributes inherited from pflib::HcalBackplane
int nhgcroc_
 Number of HGCROC boards in this system.
 
int necon_
 Number of ECON boards in this system.
 
std::unique_ptr< GPIO > gpio_
 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
 
std::unique_ptr< pflib::TRIG > trig_
 pointer to the TRIG object if available
 
- 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")}
 

Member Function Documentation

◆ daq()

virtual DAQ & pflib::HcalBackplaneBW::daq ( )
inlineoverridevirtual

get the DAQ object

Implements pflib::HcalBackplane.

◆ elinks()

virtual Elinks & pflib::HcalBackplaneBW::elinks ( )
inlineoverridevirtual

get the Elinks object

Implements pflib::HcalBackplane.

◆ fc()

virtual FastControl & pflib::HcalBackplaneBW::fc ( )
inlineoverridevirtual

get the FastControl object

Implements pflib::Target.

◆ hardResetECONs()

virtual void pflib::HcalBackplaneBW::hardResetECONs ( )
inlineoverridevirtual

generate a hard reset to all the ECON boards

Implements pflib::Target.

◆ hardResetROCs()

virtual void pflib::HcalBackplaneBW::hardResetROCs ( )
inlineoverridevirtual

Generate a hard reset to all the HGCROC boards.

Implements pflib::Target.

◆ read_event()

virtual std::vector< uint32_t > pflib::HcalBackplaneBW::read_event ( )
inlineoverridevirtual

Implements pflib::Target.

◆ setup_run()

virtual void pflib::HcalBackplaneBW::setup_run ( int irun,
Target::DaqFormat format,
int contrib_id )
inlinevirtual

Implements pflib::Target.

◆ softResetECON()

virtual void pflib::HcalBackplaneBW::softResetECON ( int which = -1)
inlineoverridevirtual

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

Implements pflib::Target.

◆ softResetROC()

virtual void pflib::HcalBackplaneBW::softResetROC ( int which)
inlineoverridevirtual

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

Implements pflib::Target.


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