5#ifndef CBMTRDPARSPADIC_H
6#define CBMTRDPARSPADIC_H
13#include <RtypesCore.h>
24 CbmTrdParSpadic(Int_t address = 0, Int_t FebGrouping = -1, Double_t
x = 0, Double_t
y = 0, Double_t z = 0,
39 Int_t criId, Int_t crobId, Int_t nThCrobOnModule,
53 static std::uint8_t
GetCrobId(
size_t componentId);
67 UInt_t
GetElinkNr(Int_t moduleChannel, UInt_t nChannelsPerRow);
82 const std::vector<UInt_t>
fVecSpadicChannels = {23, 7, 22, 6, 21, 19, 5, 20, 18, 4, 3, 17, 16, 2, 1, 0,
83 31, 30, 29, 15, 14, 28, 27, 13, 11, 26, 12, 10, 25, 9, 24, 8};
86 std::map<UInt_t, UInt_t>* map);
Definition of ASIC parameters.
Int_t fAddress
unique ASIC ID
Definition of SPADIC parameters.
virtual Int_t GetNchannels() const
virtual Double_t GetSizeX() const
static size_t CreateComponentId(Int_t criId, Int_t crobId, Int_t nThCrobOnModule, Int_t eLinkId)
Create the componentId from a given criId, crobId, eLinkId and the nThCrobOnModule count,...
virtual Double_t GetSizeZ() const
const std::vector< UInt_t > fVecSpadicChannels
CbmTrdParSpadic(Int_t address=0, Int_t FebGrouping=-1, Double_t x=0, Double_t y=0, Double_t z=0, size_t compId=0)
void FillAsicChannelToElinkMap(std::map< UInt_t, UInt_t > *map)
Write the eLink to asicChannel mapping to the passed map.
static Double_t fgSizeZ
SPADIC half size in z [cm].
static Double_t fgSizeX
SPADIC half size in x [cm].
std::uint8_t GetCrobNumber()
static Int_t GetNasicsPerCrob(Int_t moduleType)
Returns the number of asics per Crob on a given moduleType defined in eCbmTrdModuleTypes.
virtual void LoadParams(FairParamList *inList)
Loads the specific params for the spadic placed at fAddress, e.g. channel calibration parameters.
UInt_t GetAddressOnModule() const
Returns the number of the asic on the module counted from top left.
UInt_t GetElinkNr(Int_t moduleChannel, UInt_t nChannelsPerRow)
Return the number of the elink (counting started in channel order from bottom left to right) correlat...
static Int_t GetNasicsOnModule(Int_t moduleType)
Returns the number of asics on a given moduleType defined in eCbmTrdModuleTypes.
std::vector< UInt_t > GetSpadicChannelVec()
Return the vector with the corresponding spadic channel numbers sorted from channel 00....
Int_t GetAsicChAddress(const Int_t asicChannel)
Returns the nth asic Channel in asic coordinates in single asic padplane coordinates....
virtual Double_t GetSizeY() const
static Double_t fgSizeY
SPADIC half size in y [cm].
virtual ~CbmTrdParSpadic()
static std::uint8_t GetElinkId(size_t componentId, Int_t channelId)
eLinkId for the given asicAddress and channelId (in the asic coordinates, i.e. 00....
std::map< UInt_t, UInt_t > fMapAsicChannelToElink