CbmRoot
|
Definition of FASP parameters. More...
#include <CbmTrdParFasp.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 | |
CbmTrdParFasp (Int_t address=0, Int_t FebGrouping=-1, Double_t x=0, Double_t y=0, Double_t z=0) | |
virtual | ~CbmTrdParFasp () |
const CbmTrdParFaspChannel * | GetChannel (Int_t pad_address, UChar_t pair) const |
Query the calibration for one FASP RO channel. | |
const CbmTrdParFaspChannel * | GetChannel (Int_t chId) const |
Query the calibration for one FASP RO channel. | |
virtual Int_t | GetNchannels () const |
virtual Int_t | GetChannelAddress (Int_t chId) const |
Return the global RO channel for curent FASP and channel index. | |
virtual uint32_t | GetChannelMask () const |
virtual bool | IsChannelMasked (int ch) const |
int | GetPadAddress (Int_t ich) const |
Double_t | GetSizeX () const |
Double_t | GetSizeY () const |
Double_t | GetSizeZ () const |
virtual void | LoadParams (FairParamList *l) |
void | LoadParams (int *vals) |
Load ASIC parameters from param file. Called from e.g. CbmTrdParSetAsic. | |
virtual void | Print (Option_t *opt="") const |
virtual Bool_t | SetCalibParameters (Int_t ch, Double_t const *par) |
Load FASP calibration parameters for a specific channel. | |
virtual void | SetChannelMask (uint32_t mask) |
virtual Double_t | GetX () const |
virtual Double_t | GetY () const |
virtual Double_t | GetZ () const |
virtual Int_t | GetAddress () const |
virtual size_t | GetComponentId () const |
virtual Int_t | GetFebGrouping () const |
virtual std::vector< Int_t > | GetChannelAddresses () const |
virtual Int_t | QueryChannel (Int_t ch) const |
Query ASIC for specific pad address. | |
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 (size_t id) |
virtual uint16_t | GetConfig () const |
virtual int | GetModuleId () const |
virtual uint8_t | GetVersion () const |
virtual void | SetConfigId (uint16_t c) |
virtual void | SetModuleId (int m) |
virtual void | SetVersion (uint8_t v) |
Protected Attributes | |
Int_t | fAddress |
unique ASIC ID | |
Double_t | fX |
center of asic in global c.s. [cm] | |
Double_t | fY |
center of asic in global c.s. [cm] | |
Double_t | fZ |
center of asic in global c.s. [cm] | |
Int_t | fFebGrouping |
no of ASIC in ROB | |
size_t | fComponentId |
Hardware component Id used for addressing For the digit decoding see ECbmTrdComponentIdDecoding. nTh cRob on the module counted from top to bottom along 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. | |
std::vector< Int_t > | fChannelAddresses |
addresses of individual output channels | |
uint8_t | fVersion = 0 |
version of the parameter | |
uint16_t | fConfig = 0 |
configuration setup of the module | |
int | fModuleId = 0 |
module id | |
Private Attributes | |
CbmTrdParFaspChannel | fCalib [NFASPCH] |
calibration map for FASP channels | |
Static Private Attributes | |
static Double_t | fgSizeX = 2. |
FASP half size in x [cm]. | |
static Double_t | fgSizeY = 2. |
FASP half size in y [cm]. | |
static Double_t | fgSizeZ = 0.5 |
FASP half size in z [cm]. | |
Definition of FASP parameters.
Definition at line 83 of file CbmTrdParFasp.h.
|
inherited |
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 28 of file CbmTrdParAsic.h.
CbmTrdParFasp::CbmTrdParFasp | ( | Int_t | address = 0, |
Int_t | FebGrouping = -1, | ||
Double_t | x = 0, | ||
Double_t | y = 0, | ||
Double_t | z = 0 ) |
Definition at line 20 of file CbmTrdParFasp.cxx.
|
inlinevirtual |
Definition at line 86 of file CbmTrdParFasp.h.
|
inlinevirtualinherited |
Definition at line 43 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fAddress.
Referenced by CbmTrdParManager::CreateModuleParameters(), and CbmTrdParModAsic::SetAsicPar().
const CbmTrdParFaspChannel * CbmTrdParFasp::GetChannel | ( | Int_t | chId | ) | const |
Query the calibration for one FASP RO channel.
chId | the index of the channel in the current FASP [0 - 15] |
Definition at line 35 of file CbmTrdParFasp.cxx.
const CbmTrdParFaspChannel * CbmTrdParFasp::GetChannel | ( | Int_t | pad_address, |
UChar_t | pair ) const |
Query the calibration for one FASP RO channel.
pad_address | the index of the pad on the module [row*ncol+col] |
pair | 0 for tilt and 1 for rect |
Definition at line 27 of file CbmTrdParFasp.cxx.
References fCalib, and CbmTrdParAsic::QueryChannel().
Referenced by CbmTrdModuleSim2D::FlushBuffer(), CbmTrdParModAsic::GetFaspChannelPar(), CbmTrdModuleRec2D::GetFaspChCalibrator(), CbmTaskTrdUnpackParWrite::Init(), CbmTrdUnpackFaspMonitor::MapMaskedChannels(), CbmTrdUnpackFaspAlgo::pushDigis(), and CbmTrdParSetAsic::putParams().
|
inlinevirtual |
Return the global RO channel for curent FASP and channel index.
chId | the index of the channel in the current FASP [0 - 15] |
Definition at line 100 of file CbmTrdParFasp.h.
References CbmTrdParAsic::fChannelAddresses, and GetNchannels().
Referenced by GetPadAddress().
|
inlinevirtualinherited |
Definition at line 47 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fChannelAddresses.
Referenced by CbmTrdUnpackFaspMonitor::addParam(), CbmTrdHardwareSetupR::CreateAsicChannelMap(), CbmTaskTrdUnpackParWrite::Init(), and CbmTrdParSetAsic::putParams().
|
virtual |
Definition at line 127 of file CbmTrdParFasp.cxx.
References fCalib, and NFASPCH.
Referenced by CbmTrdParSetAsic::putParams().
|
inlinevirtualinherited |
Definition at line 44 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fComponentId.
Referenced by CbmTrdHardwareSetupR::CreateHwToSwAsicAddressTranslatorMap(), and CbmTaskTrdUnpackParWrite::Init().
|
inlinevirtualinherited |
Definition at line 17 of file CbmTrdParMod.h.
References CbmTrdParMod::fConfig.
|
inlinevirtualinherited |
Definition at line 46 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fFebGrouping.
|
inlinevirtualinherited |
Definition at line 18 of file CbmTrdParMod.h.
References CbmTrdParMod::fModuleId.
Referenced by CbmTrdParSet::addParam(), and CbmMcbm2018UnpackerAlgoTrdR::CreateHistogram().
|
inlinevirtual |
Implements CbmTrdParAsic.
Definition at line 96 of file CbmTrdParFasp.h.
References NFASPCH.
Referenced by GetChannelAddress(), CbmTaskTrdUnpackParWrite::Init(), and Print().
|
inline |
Definition at line 106 of file CbmTrdParFasp.h.
References GetChannelAddress().
Referenced by CbmTaskTrdUnpackParWrite::Init(), CbmTrdUnpackFaspMonitor::MapMaskedChannels(), Print(), and CbmTrdUnpackFaspAlgo::pushDigis().
|
inlinevirtual |
Accessors
Implements CbmTrdParAsic.
Definition at line 107 of file CbmTrdParFasp.h.
References fgSizeX.
|
inlinevirtual |
|
inline |
Definition at line 109 of file CbmTrdParFasp.h.
References fgSizeZ.
|
inlinevirtualinherited |
Definition at line 19 of file CbmTrdParMod.h.
References CbmTrdParMod::fVersion.
|
inlinevirtualinherited |
Definition at line 39 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fX.
Referenced by CbmTrdHitRateFastQa::ScanModulePlane().
|
inlinevirtualinherited |
Definition at line 40 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fY.
Referenced by CbmTrdHitRateFastQa::ScanModulePlane().
|
inlinevirtualinherited |
Definition at line 41 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fZ.
|
virtual |
Reimplemented from CbmTrdParAsic.
Definition at line 42 of file CbmTrdParFasp.cxx.
References fCalib, CbmTrdParFaspChannel::IsMasked(), and NFASPCH.
|
virtual |
Reimplemented from CbmTrdParAsic.
Definition at line 49 of file CbmTrdParFasp.cxx.
References CbmTrdParAsic::fAddress, fCalib, NFASPCH, CbmTrdParAsic::SetChannelAddress(), and CbmTrdParFaspChannel::SetPairing().
void CbmTrdParFasp::LoadParams | ( | int * | vals | ) |
Load ASIC parameters from param file. Called from e.g. CbmTrdParSetAsic.
Definition at line 73 of file CbmTrdParFasp.cxx.
References fCalib, CbmTrdParFaspChannel::fMinDelaySignal, CbmTrdParFaspChannel::fPileUpTime, CbmTrdParFaspChannel::fThreshold, NFASPCH, CbmTrdParAsic::SetChannelAddress(), SetChannelMask(), and CbmTrdParFaspChannel::SetPairing().
|
virtual |
Reimplemented from CbmTrdParAsic.
Definition at line 138 of file CbmTrdParFasp.cxx.
References fCalib, CbmTrdParAsic::fChannelAddresses, GetNchannels(), GetPadAddress(), CbmTrdParAsic::Print(), and CbmTrdParFaspChannel::Print().
Referenced by CbmTrdModuleSim2D::FlushBuffer(), and CbmTrdUnpackFaspAlgo::pushDigis().
|
virtualinherited |
Query ASIC for specific pad address.
[in] | ch | pad address within module as provided by CbmTrdModuleAbstract::GetPadAddress() |
Definition at line 31 of file CbmTrdParAsic.cxx.
References CbmTrdParAsic::fChannelAddresses.
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdModuleSim2D::FlushBuffer(), GetChannel(), and CbmTrdParAsic::SetChannelAddress().
|
virtual |
Load FASP calibration parameters for a specific channel.
ch | Address of the channel inside FASP |
par | pointer to the list of parameters |
The list of channel parameter should be arranged as follows: 0 : Signal formation time in [ns] 1 : Length of Flat-Top in [clocks] 2 : Threshold in [ADC units] 3 : Signal @ minimum delay i.e. fPileUpTime [ADC units] 4 : Factor of parabolic dependence dt=fdt*(s-s0)^2 to calculate trigger [a.u.] 5 : paring type ; 0 = tilt, 1 = rect
Definition at line 95 of file CbmTrdParFasp.cxx.
References fCalib, CbmTrdParFaspChannel::fFlatTop, CbmTrdParFaspChannel::fMinDelayParam, CbmTrdParFaspChannel::fMinDelaySignal, CbmTrdParFaspChannel::fPileUpTime, CbmTrdParFaspChannel::fThreshold, NFASPCH, and CbmTrdParFaspChannel::SetPairing().
Referenced by CbmTrdParManager::CreateModuleParameters().
|
virtualinherited |
Definition at line 41 of file CbmTrdParAsic.cxx.
References CbmTrdParAsic::fChannelAddresses, and CbmTrdParAsic::QueryChannel().
Referenced by CbmTrdParManager::CreateModuleParameters(), LoadParams(), LoadParams(), and CbmTrdModuleSimR::SetAsicPar().
|
virtualinherited |
Definition at line 51 of file CbmTrdParAsic.cxx.
References CbmTrdParAsic::fChannelAddresses, and CbmTrdParAsic::GetNchannels().
Referenced by CbmTrdParManager::CreateModuleParameters(), and CbmTrdParSetAsic::getParams().
|
virtual |
Definition at line 118 of file CbmTrdParFasp.cxx.
References fCalib, NFASPCH, and CbmTrdParFaspChannel::SetMask().
Referenced by LoadParams().
|
inlinevirtualinherited |
Definition at line 65 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fComponentId.
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParSetAsic::getParams(), and CbmTrdHardwareSetupR::WriteComponentIdsToParams().
|
inlinevirtualinherited |
Definition at line 21 of file CbmTrdParMod.h.
References CbmTrdParMod::fConfig.
|
inlinevirtualinherited |
Definition at line 58 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fFebGrouping.
|
inlinevirtualinherited |
Definition at line 22 of file CbmTrdParMod.h.
References CbmTrdParMod::fModuleId.
Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParSetAsic::getParams(), and CbmTrdParSetGeo::Init().
|
inlinevirtualinherited |
Definition at line 59 of file CbmTrdParAsic.h.
References CbmTrdParAsic::fX, CbmTrdParAsic::fY, CbmTrdParAsic::fZ, x, and y.
|
inlinevirtualinherited |
Definition at line 23 of file CbmTrdParMod.h.
References CbmTrdParMod::fVersion, and v.
|
protectedinherited |
unique ASIC ID
Definition at line 68 of file CbmTrdParAsic.h.
Referenced by CbmTrdParAsic::GetAddress(), CbmTrdParSpadic::GetAddressOnModule(), LoadParams(), CbmTrdParSpadic::LoadParams(), and CbmTrdParAsic::Print().
|
private |
calibration map for FASP channels
Definition at line 126 of file CbmTrdParFasp.h.
Referenced by GetChannel(), GetChannel(), GetChannelMask(), IsChannelMasked(), LoadParams(), LoadParams(), Print(), SetCalibParameters(), and SetChannelMask().
|
protectedinherited |
addresses of individual output channels
Definition at line 81 of file CbmTrdParAsic.h.
Referenced by CbmTrdParSpadic::CbmTrdParSpadic(), GetChannelAddress(), CbmTrdParAsic::GetChannelAddresses(), CbmTrdParSpadic::LoadParams(), Print(), CbmTrdParAsic::QueryChannel(), CbmTrdParAsic::SetChannelAddress(), and CbmTrdParAsic::SetChannelAddresses().
|
protectedinherited |
Hardware component Id used for addressing For the digit decoding see ECbmTrdComponentIdDecoding. nTh cRob on the module counted from top to bottom along 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 78 of file CbmTrdParAsic.h.
Referenced by CbmTrdParAsic::GetComponentId(), CbmTrdParSpadic::GetCriId(), CbmTrdParSpadic::GetCrobId(), CbmTrdParSpadic::GetCrobNumber(), CbmTrdParSpadic::GetElinkId(), CbmTrdParSpadic::LoadParams(), and CbmTrdParAsic::SetComponentId().
|
protectedinherited |
configuration setup of the module
Definition at line 27 of file CbmTrdParMod.h.
Referenced by CbmTrdParMod::GetConfig(), CbmTrdParModDigi::GetPadPlaneType(), and CbmTrdParMod::SetConfigId().
|
protectedinherited |
no of ASIC in ROB
Definition at line 72 of file CbmTrdParAsic.h.
Referenced by CbmTrdParAsic::GetFebGrouping(), and CbmTrdParAsic::SetFebGrouping().
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
protectedinherited |
module id
Definition at line 28 of file CbmTrdParMod.h.
Referenced by CbmTrdParModGas::CbmTrdParModGas(), CbmTrdParMod::GetModuleId(), CbmTrdParModDigi::Print(), CbmTrdParModGas::Print(), CbmTrdParModGas::SetDriftMap(), and CbmTrdParMod::SetModuleId().
|
protectedinherited |
version of the parameter
Definition at line 26 of file CbmTrdParMod.h.
Referenced by CbmTrdParModDigi::GetPadPlaneType(), CbmTrdParMod::GetVersion(), and CbmTrdParMod::SetVersion().
|
protectedinherited |
center of asic in global c.s. [cm]
Definition at line 69 of file CbmTrdParAsic.h.
Referenced by CbmTrdParAsic::GetX(), CbmTrdParAsic::Print(), and CbmTrdParAsic::SetPosition().
|
protectedinherited |
center of asic in global c.s. [cm]
Definition at line 70 of file CbmTrdParAsic.h.
Referenced by CbmTrdParAsic::GetY(), CbmTrdParAsic::Print(), and CbmTrdParAsic::SetPosition().
|
protectedinherited |
center of asic in global c.s. [cm]
Definition at line 71 of file CbmTrdParAsic.h.
Referenced by CbmTrdParAsic::GetZ(), and CbmTrdParAsic::SetPosition().