5#ifndef ALGO_DETECTORS_MUCH_READOUTCONFIG_H
6#define ALGO_DETECTORS_MUCH_READOUTCONFIG_H
40 std::vector<uint32_t>
Map(uint16_t equipId, uint16_t elink);
47 std::vector<bool>
MaskMap(uint16_t equipId, uint16_t elink);
52 std::map<uint16_t, std::vector<std::vector<uint32_t>>>
fReadoutMap = {};
56 std::map<uint16_t, std::map<size_t, std::vector<bool>>>
fMaskMap = {};
93 int8_t
GetPadXA(uint8_t febid, uint8_t channelid);
94 int8_t
GetPadYA(uint8_t febid, uint8_t channelid);
95 int8_t
GetPadXB(uint8_t febid, uint8_t channelid);
96 int8_t
GetPadYB(uint8_t febid, uint8_t channelid);
99 int8_t
GetPadXRpc(uint8_t febid, uint8_t channelid);
100 int8_t
GetPadYRpc(uint8_t febid, uint8_t channelid);
uint32_t CreateMuchAddress(uint32_t dpbidx, int32_t iFebId, uint32_t usChan)
Maps component index, Fed Id and channel number to Much Address.
int8_t GetPadXB(uint8_t febid, uint8_t channelid)
static const uint16_t numAsicsPerFeb
Number of ASICs connected in each FEB for MUCH.
std::vector< int16_t > fChannelsToPadXA
Array which stores the corresponding x position of PAD of entire module A.
std::vector< int16_t > fChannelsToPadXB
Array which stores the corresponding x position of PAD of entire module B.
uint16_t numFebsInGemB
Number of FEBs connected in GEM Module B.
static const uint16_t numCrobPerComp
Constants.
void InitChannelToPadMaps()
Init arrays which store positions of PADs.
int8_t GetPadYB(uint8_t febid, uint8_t channelid)
static const uint16_t numFebsPerCrob
Number of FEBs connected to each CROB for mMuch 2019.
std::map< uint16_t, std::vector< std::vector< uint32_t > > > fReadoutMap
ReadoutConfig()
Constructor.
void Init()
Initialisation of readout map.
std::vector< int16_t > fnFebsIdsArrayRpc
Array to hold FEB IDs connected to RPC Module.
std::vector< uint16_t > GetEquipmentIds()
Equipment in the configuration.
int8_t GetPadYA(uint8_t febid, uint8_t channelid)
std::vector< int16_t > fChannelsToPadYRpc
Array which stores the corresponding y position of PAD of RPC module.
int8_t GetPadYRpc(uint8_t febid, uint8_t channelid)
std::vector< int16_t > fnFebsIdsArrayGemA
Array to hold FEB IDs connected to GEM Module A.
virtual ~ReadoutConfig()
Destructor.
std::vector< int16_t > fChannelsToPadYB
Array which stores the corresponding y position of PAD of entire module B.
size_t GetNumElinks(uint16_t equipmentId)
Number of elinks of a component.
int8_t GetPadXRpc(uint8_t febid, uint8_t channelid)
std::vector< int16_t > fChannelsToPadYA
Array which stores the corresponding y position of PAD of entire module A.
std::vector< int16_t > fChannelsToPadXRpc
Array which stores the corresponding x position of PAD of RPC module.
std::vector< bool > MaskMap(uint16_t equipId, uint16_t elink)
API: Mapping from component and elink to channel mask flags.
static const uint16_t numComp
Total number of MUCH DPBs in system.
int32_t GetFebId(uint16_t)
static const uint16_t numElinksPerCrob
Number of elinks in each CROB ?
const uint16_t numChanPerAsic
Number of channels in each ASIC.
uint16_t numFebsInGemA
Variables.
uint16_t numFebsInRpc
Number of FEBs connected in RPC Module.
std::vector< int16_t > fnFebsIdsArrayGemB
Array to hold FEB IDs connected to GEM Module B.
std::vector< uint32_t > Map(uint16_t equipId, uint16_t elink)
API: Mapping from component and elink to addresses per channel.
int8_t GetPadXA(uint8_t febid, uint8_t channelid)
std::map< uint16_t, std::map< size_t, std::vector< bool > > > fMaskMap