pflib v3.9.5-27-gb09aabf
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
EcalSingleModuleMotherboard.h
1#pragma once
2#ifndef PFLIB_ECALSINGLEMODULEMOTHERBOARD_H
3#define PFLIB_ECALSINGLEMODULEMOTHERBOARD_H
4
5#include "pflib/EcalModule.h"
6#include "pflib/Target.h"
7
8namespace pflib {
9
20 public:
21 virtual ~EcalSingleModuleMotherboard() = default;
29 void init(lpGBT& daq_lpgbt, lpGBT& trg_lpgbt, int module_i2c_bus,
30 int roc_mask);
32 override;
35 virtual int nrocs() override;
36 virtual int necons() override;
37 virtual bool have_roc(int iroc) const override;
38 virtual bool have_econ(int iecon) const override;
39 virtual std::vector<int> roc_ids() const override;
40 virtual std::vector<int> econ_ids() const override;
41 virtual ROC& roc(int which) override;
42 virtual ECON& econ(int which) override;
43 virtual void softResetROC(int which) override;
44 virtual void softResetECON(int which = -1) override;
45 virtual void hardResetROCs() override;
46 virtual void hardResetECONs() override;
47 virtual void setup_run(int irun, Target::DaqFormat format,
48 int contrib_id) override;
49
50 protected:
57};
58
59} // namespace pflib
60
61#endif
Definition ECON.h:19
a target for Ecal motherboards holding a single module
Definition EcalSingleModuleMotherboard.h:19
virtual ECON & econ(int which) override
get a ECON interface for the given econ board
Definition EcalSingleModuleMotherboard.cxx:97
std::shared_ptr< EcalModule > the_module_
handle to the hexa-module that we are connected to
Definition EcalSingleModuleMotherboard.h:52
virtual void softResetROC(int which) override
Generate a soft reset to a specific HGCROC board, -1 for all.
Definition EcalSingleModuleMotherboard.cxx:101
Target::DaqFormat format_
the format we are using for DAQ
Definition EcalSingleModuleMotherboard.h:54
virtual bool have_roc(int iroc) const override
do we have a roc with this id?
Definition EcalSingleModuleMotherboard.cxx:77
virtual int nrocs() override
number of boards
Definition EcalSingleModuleMotherboard.cxx:73
virtual void hardResetECONs() override
generate a hard reset to all the ECON boards
Definition EcalSingleModuleMotherboard.cxx:115
virtual ROC & roc(int which) override
Get a ROC interface for the given HGCROC board.
Definition EcalSingleModuleMotherboard.cxx:93
virtual int necons() override
number of econds
Definition EcalSingleModuleMotherboard.cxx:75
virtual std::vector< int > econ_ids() const override
get a list of the econ IDs we have set up
Definition EcalSingleModuleMotherboard.cxx:89
virtual const std::vector< std::pair< int, std::vector< int > > > & getHardwareRocErxMappingTRG() override
Define the ROC-TRG -> eRx input into the ECON-T for the hardware.
Definition EcalSingleModuleMotherboard.cxx:69
virtual void hardResetROCs() override
Generate a hard reset to all the HGCROC boards.
Definition EcalSingleModuleMotherboard.cxx:111
virtual std::vector< int > roc_ids() const override
get a list of the IDs we have set up
Definition EcalSingleModuleMotherboard.cxx:85
virtual const std::vector< std::pair< int, int > > & getHardwareRocErxMappingDAQ() override
Define the ROC-half -> eRx input into the ECON-D for the hardware.
Definition EcalSingleModuleMotherboard.cxx:64
virtual bool have_econ(int iecon) const override
do we have an econ with this id?
Definition EcalSingleModuleMotherboard.cxx:81
void init(lpGBT &daq_lpgbt, lpGBT &trg_lpgbt, int module_i2c_bus, int roc_mask)
common initialization given the DAQ/TRG lpGBTs and a mask labeling which ROCs on the module are activ...
Definition EcalSingleModuleMotherboard.cxx:7
virtual void softResetECON(int which=-1) override
Generate a soft reset to a specific ECON board, -1 for all.
Definition EcalSingleModuleMotherboard.cxx:106
int contrib_id_
the contributor ID for DAQ
Definition EcalSingleModuleMotherboard.h:56
Definition ROC.h:19
encapulating a given setup's access rules
Definition Target.h:25
DaqFormat
types of daq formats that we can do
Definition Target.h:126
Class which provides an interface with an lpGBT ASIC as mounted on an LDMX mezzanine.
Definition lpGBT.h:53
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3