CbmRoot
|
Definition of ASIC parameters. More...
#include <CbmTrdParAsic.h>
Public Types | |
enum | ECbmTrdComponentIdDecoding : ULong_t { kElinkIdPosition = 1, kCrobNrPosition = 100, kCrobIdPosition = 1000, kCriIdPosition = 100000 } |
Enum for decodation of spadic componentId (Hardware to software mapping) Since the length of the CriIds is currently unknown, this is defined as ULong to not loose the needed precision. More... | |
Public Member Functions | |
CbmTrdParAsic (Int_t address=0, Int_t FebGrouping=-1, Double_t x=0, Double_t y=0, Double_t z=0, std::uint64_t compId=0) | |
virtual | ~CbmTrdParAsic () |
virtual Double_t | GetSizeX () const =0 |
virtual Double_t | GetSizeY () const =0 |
virtual Double_t | GetX () const |
virtual Double_t | GetY () const |
virtual Double_t | GetZ () const |
virtual Int_t | GetAddress () const |
virtual std::uint64_t | GetComponentId () const |
virtual Int_t | GetNchannels () const =0 |
virtual Int_t | GetFebGrouping () const |
virtual Int_t | GetChannelAddress (Int_t ich) const |
virtual std::vector< Int_t > | GetChannelAddresses () const |
virtual void | LoadParams (FairParamList *) |
virtual void | Print (Option_t *opt="") const |
virtual Int_t | QueryChannel (Int_t ch) const |
Query ASIC for specific pad address. More... | |
virtual void | SetChannelAddress (Int_t address) |
virtual void | SetChannelAddresses (std::vector< Int_t > addresses) |
virtual void | SetFebGrouping (Int_t feb) |
virtual void | SetPosition (Double_t x=0, Double_t y=0, Double_t z=0) |
virtual void | SetComponentId (std::uint64_t id) |
virtual Int_t | GetModuleId () const |
virtual void | SetModuleId (Int_t m) |
Protected Attributes | |
Int_t | fAddress |
unique ASIC ID More... | |
Double_t | fX |
center of asic in global c.s. [cm] More... | |
Double_t | fY |
center of asic in global c.s. [cm] More... | |
Double_t | fZ |
center of asic in global c.s. [cm] More... | |
Int_t | fFebGrouping |
no of ASIC in ROB More... | |
std::uint64_t | fComponentId |
For the digit decoding see ECbmTrdComponentIdDecoding. nTh cRob on the module counted from top to bottom a long the sensitive side. This Id is needed to connect the microslice to a given channel, has to be set "by hand", i.e. is not given in the geometry macros. ComponentIdMaps for the Spadic are stored in CbmTrdHardwareSetupR. A macro to write those Ids to the parameter files can be found at https://git.cbm.gsi.de/trd/macros/mcbm2020/blob/master/writeSpadicHwAddresses.C. More... | |
std::vector< Int_t > | fChannelAddresses |
addresses of individual output channels More... | |
Int_t | fModuleId |
module id More... | |
Definition of ASIC parameters.
Definition at line 15 of file CbmTrdParAsic.h.
enum CbmTrdParAsic::ECbmTrdComponentIdDecoding : ULong_t |
Enum for decodation of spadic componentId (Hardware to software mapping) Since the length of the CriIds is currently unknown, this is defined as ULong to not loose the needed precision.
Enumerator | |
---|---|
kElinkIdPosition | |
kCrobNrPosition | |
kCrobIdPosition | |
kCriIdPosition |
Definition at line 27 of file CbmTrdParAsic.h.
CbmTrdParAsic::CbmTrdParAsic | ( | Int_t | address = 0 , |
Int_t | FebGrouping = -1 , |
||
Double_t | x = 0 , |
||
Double_t | y = 0 , |
||
Double_t | z = 0 , |
||
std::uint64_t | compId = 0 |
||
) |
Definition at line 8 of file CbmTrdParAsic.cxx.
|
inlinevirtual |
Definition at line 23 of file CbmTrdParAsic.h.
|
inlinevirtual |
Definition at line 41 of file CbmTrdParAsic.h.
References fAddress.
Referenced by CbmTrdParManager::CreateModuleParameters(), and CbmTrdParSetAsic::GetAsicAddresses().
|
inlinevirtual |
Reimplemented in CbmTrdParFasp.
Definition at line 45 of file CbmTrdParAsic.h.
References fChannelAddresses, and GetNchannels().
|
inlinevirtual |
Definition at line 48 of file CbmTrdParAsic.h.
References fChannelAddresses.
Referenced by CbmTrdHardwareSetupR::CreateAsicChannelMap().
|
inlinevirtual |
Definition at line 42 of file CbmTrdParAsic.h.
References fComponentId.
Referenced by CbmTrdHardwareSetupR::CreateHwToSwAsicAddressTranslatorMap().
|
inlinevirtual |
Definition at line 44 of file CbmTrdParAsic.h.
References fFebGrouping.
|
inlinevirtualinherited |
Definition at line 15 of file CbmTrdParMod.h.
References CbmTrdParMod::fModuleId.
Referenced by CbmTrdParSet::addParam(), and CbmMcbm2018UnpackerAlgoTrdR::CreateHistogram().
|
pure virtual |
Implemented in CbmTrdParFasp, and CbmTrdParSpadic.
Referenced by GetChannelAddress(), and SetChannelAddresses().
|
pure virtual |
Accessors
Implemented in CbmTrdParFasp, and CbmTrdParSpadic.
Referenced by CbmTrdHitRateFastQa::ScanModulePlane().
|
pure virtual |
Implemented in CbmTrdParFasp, and CbmTrdParSpadic.
Referenced by CbmTrdHitRateFastQa::ScanModulePlane().
|
inlinevirtual |
Definition at line 37 of file CbmTrdParAsic.h.
References fX.
Referenced by CbmTrdHitRateFastQa::ScanModulePlane().
|
inlinevirtual |
Definition at line 38 of file CbmTrdParAsic.h.
References fY.
Referenced by CbmTrdHitRateFastQa::ScanModulePlane().
|
inlinevirtual |
Definition at line 39 of file CbmTrdParAsic.h.
References fZ.
|
inlinevirtual |
Reimplemented in CbmTrdParFasp, and CbmTrdParSpadic.
Definition at line 51 of file CbmTrdParAsic.h.
|
virtual |
Reimplemented in CbmTrdParFasp.
Definition at line 24 of file CbmTrdParAsic.cxx.
References fAddress, fX, and fY.
Referenced by CbmTrdParFasp::Print().
|
virtual |
Query ASIC for specific pad address.
[in] | ch | pad address within module as provided by CbmTrdModuleAbstract::GetPadAddress() |
Definition at line 30 of file CbmTrdParAsic.cxx.
References fChannelAddresses.
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParSetAsic::GetAsicAddress(), CbmTrdParFasp::GetChannel(), and SetChannelAddress().
|
virtual |
Definition at line 41 of file CbmTrdParAsic.cxx.
References fChannelAddresses, and QueryChannel().
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParFasp::LoadParams(), and CbmTrdModuleSimR::SetAsicPar().
|
virtual |
Definition at line 51 of file CbmTrdParAsic.cxx.
References fChannelAddresses, and GetNchannels().
Referenced by CbmTrdParManager::CreateModuleParameters(), and CbmTrdParSetAsic::getParams().
|
inlinevirtual |
Definition at line 66 of file CbmTrdParAsic.h.
References fComponentId.
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParSetAsic::getParams(), and CbmTrdHardwareSetupR::WriteComponentIdsToParams().
|
inlinevirtual |
Definition at line 60 of file CbmTrdParAsic.h.
References fFebGrouping.
|
inlinevirtualinherited |
Definition at line 17 of file CbmTrdParMod.h.
References CbmTrdParMod::fModuleId, and m.
Referenced by CbmTrdParManager::CreateModuleParameters().
|
inlinevirtual |
|
protected |
unique ASIC ID
Definition at line 69 of file CbmTrdParAsic.h.
Referenced by GetAddress(), CbmTrdParSpadic::GetAddressOnModule(), CbmTrdParSpadic::LoadParams(), CbmTrdParFasp::LoadParams(), and Print().
|
protected |
addresses of individual output channels
Definition at line 77 of file CbmTrdParAsic.h.
Referenced by CbmTrdParSpadic::CbmTrdParSpadic(), GetChannelAddress(), CbmTrdParFasp::GetChannelAddress(), GetChannelAddresses(), CbmTrdParSpadic::LoadParams(), CbmTrdParFasp::Print(), QueryChannel(), SetChannelAddress(), and SetChannelAddresses().
|
protected |
For the digit decoding see ECbmTrdComponentIdDecoding. nTh cRob on the module counted from top to bottom a long the sensitive side. This Id is needed to connect the microslice to a given channel, has to be set "by hand", i.e. is not given in the geometry macros. ComponentIdMaps for the Spadic are stored in CbmTrdHardwareSetupR. A macro to write those Ids to the parameter files can be found at https://git.cbm.gsi.de/trd/macros/mcbm2020/blob/master/writeSpadicHwAddresses.C.
Definition at line 75 of file CbmTrdParAsic.h.
Referenced by GetComponentId(), CbmTrdParSpadic::GetCriId(), CbmTrdParSpadic::GetCrobId(), CbmTrdParSpadic::GetCrobNumber(), CbmTrdParSpadic::GetElinkId(), CbmTrdParSpadic::LoadParams(), and SetComponentId().
|
protected |
no of ASIC in ROB
Definition at line 73 of file CbmTrdParAsic.h.
Referenced by GetFebGrouping(), and SetFebGrouping().
|
protectedinherited |
module id
Definition at line 20 of file CbmTrdParMod.h.
Referenced by CbmTrdParModGas::CbmTrdParModGas(), CbmTrdParMod::GetModuleId(), CbmTrdParModGas::Print(), CbmTrdParModDigi::Print(), CbmTrdParModGas::SetDriftMap(), and CbmTrdParMod::SetModuleId().
|
protected |
center of asic in global c.s. [cm]
Definition at line 70 of file CbmTrdParAsic.h.
Referenced by GetX(), Print(), and SetPosition().
|
protected |
center of asic in global c.s. [cm]
Definition at line 71 of file CbmTrdParAsic.h.
Referenced by GetY(), Print(), and SetPosition().
|
protected |
center of asic in global c.s. [cm]
Definition at line 72 of file CbmTrdParAsic.h.
Referenced by GetZ(), and SetPosition().