pflib v3.9.5-18-g30f792c
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;
33 virtual int nrocs() override;
34 virtual int necons() override;
35 virtual bool have_roc(int iroc) const override;
36 virtual bool have_econ(int iecon) const override;
37 virtual std::vector<int> roc_ids() const override;
38 virtual std::vector<int> econ_ids() const override;
39 virtual ROC& roc(int which) override;
40 virtual ECON& econ(int which) override;
41 virtual void softResetROC(int which) override;
42 virtual void softResetECON(int which = -1) override;
43 virtual void hardResetROCs() override;
44 virtual void hardResetECONs() override;
45 virtual void setup_run(int irun, Target::DaqFormat format,
46 int contrib_id) override;
47
48 protected:
55};
56
57} // namespace pflib
58
59#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:92
std::shared_ptr< EcalModule > the_module_
handle to the hexa-module that we are connected to
Definition EcalSingleModuleMotherboard.h:50
virtual void softResetROC(int which) override
Generate a soft reset to a specific HGCROC board, -1 for all.
Definition EcalSingleModuleMotherboard.cxx:96
Target::DaqFormat format_
the format we are using for DAQ
Definition EcalSingleModuleMotherboard.h:52
virtual bool have_roc(int iroc) const override
do we have a roc with this id?
Definition EcalSingleModuleMotherboard.cxx:72
virtual int nrocs() override
number of boards
Definition EcalSingleModuleMotherboard.cxx:68
virtual void hardResetECONs() override
generate a hard reset to all the ECON boards
Definition EcalSingleModuleMotherboard.cxx:110
virtual ROC & roc(int which) override
Get a ROC interface for the given HGCROC board.
Definition EcalSingleModuleMotherboard.cxx:88
virtual int necons() override
number of econds
Definition EcalSingleModuleMotherboard.cxx:70
virtual std::vector< int > econ_ids() const override
get a list of the econ IDs we have set up
Definition EcalSingleModuleMotherboard.cxx:84
virtual void hardResetROCs() override
Generate a hard reset to all the HGCROC boards.
Definition EcalSingleModuleMotherboard.cxx:106
virtual const std::vector< std::pair< int, int > > & getHardwareRocErxMapping() override
Define the ROC-half -> eRx input into the ECON-D for the hardware.
Definition EcalSingleModuleMotherboard.cxx:64
virtual std::vector< int > roc_ids() const override
get a list of the IDs we have set up
Definition EcalSingleModuleMotherboard.cxx:80
virtual bool have_econ(int iecon) const override
do we have an econ with this id?
Definition EcalSingleModuleMotherboard.cxx:76
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:101
int contrib_id_
the contributor ID for DAQ
Definition EcalSingleModuleMotherboard.h:54
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:108
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