CbmRoot
Loading...
Searching...
No Matches
CbmTrdParFasp Class Reference

Definition of FASP parameters. More...

#include <CbmTrdParFasp.h>

Inheritance diagram for CbmTrdParFasp:
[legend]
Collaboration diagram for CbmTrdParFasp:
[legend]

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 CbmTrdParFaspChannelGetChannel (Int_t pad_address, UChar_t pair) const
 Query the calibration for one FASP RO channel.
 
const CbmTrdParFaspChannelGetChannel (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].
 

Detailed Description

Definition of FASP parameters.

Definition at line 83 of file CbmTrdParFasp.h.

Member Enumeration Documentation

◆ ECbmTrdComponentIdDecoding

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.

Constructor & Destructor Documentation

◆ CbmTrdParFasp()

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.

◆ ~CbmTrdParFasp()

virtual CbmTrdParFasp::~CbmTrdParFasp ( )
inlinevirtual

Definition at line 86 of file CbmTrdParFasp.h.

Member Function Documentation

◆ GetAddress()

virtual Int_t CbmTrdParAsic::GetAddress ( ) const
inlinevirtualinherited

◆ GetChannel() [1/2]

const CbmTrdParFaspChannel * CbmTrdParFasp::GetChannel ( Int_t chId) const

Query the calibration for one FASP RO channel.

Parameters
chIdthe index of the channel in the current FASP [0 - 15]

Definition at line 35 of file CbmTrdParFasp.cxx.

References fCalib, and NFASPCH.

◆ GetChannel() [2/2]

const CbmTrdParFaspChannel * CbmTrdParFasp::GetChannel ( Int_t pad_address,
UChar_t pair ) const

Query the calibration for one FASP RO channel.

Parameters
pad_addressthe index of the pad on the module [row*ncol+col]
pair0 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().

◆ GetChannelAddress()

virtual Int_t CbmTrdParFasp::GetChannelAddress ( Int_t chId) const
inlinevirtual

Return the global RO channel for curent FASP and channel index.

Parameters
chIdthe 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().

◆ GetChannelAddresses()

virtual std::vector< Int_t > CbmTrdParAsic::GetChannelAddresses ( ) const
inlinevirtualinherited

◆ GetChannelMask()

uint32_t CbmTrdParFasp::GetChannelMask ( ) const
virtual

Definition at line 127 of file CbmTrdParFasp.cxx.

References fCalib, and NFASPCH.

Referenced by CbmTrdParSetAsic::putParams().

◆ GetComponentId()

virtual size_t CbmTrdParAsic::GetComponentId ( ) const
inlinevirtualinherited

◆ GetConfig()

virtual uint16_t CbmTrdParMod::GetConfig ( ) const
inlinevirtualinherited

Definition at line 17 of file CbmTrdParMod.h.

References CbmTrdParMod::fConfig.

◆ GetFebGrouping()

virtual Int_t CbmTrdParAsic::GetFebGrouping ( ) const
inlinevirtualinherited

Definition at line 46 of file CbmTrdParAsic.h.

References CbmTrdParAsic::fFebGrouping.

◆ GetModuleId()

virtual int CbmTrdParMod::GetModuleId ( ) const
inlinevirtualinherited

◆ GetNchannels()

virtual Int_t CbmTrdParFasp::GetNchannels ( ) const
inlinevirtual

Implements CbmTrdParAsic.

Definition at line 96 of file CbmTrdParFasp.h.

References NFASPCH.

Referenced by GetChannelAddress(), CbmTaskTrdUnpackParWrite::Init(), and Print().

◆ GetPadAddress()

int CbmTrdParFasp::GetPadAddress ( Int_t ich) const
inline

◆ GetSizeX()

Double_t CbmTrdParFasp::GetSizeX ( ) const
inlinevirtual

Accessors

Implements CbmTrdParAsic.

Definition at line 107 of file CbmTrdParFasp.h.

References fgSizeX.

◆ GetSizeY()

Double_t CbmTrdParFasp::GetSizeY ( ) const
inlinevirtual

Implements CbmTrdParAsic.

Definition at line 108 of file CbmTrdParFasp.h.

References fgSizeY.

◆ GetSizeZ()

Double_t CbmTrdParFasp::GetSizeZ ( ) const
inline

Definition at line 109 of file CbmTrdParFasp.h.

References fgSizeZ.

◆ GetVersion()

virtual uint8_t CbmTrdParMod::GetVersion ( ) const
inlinevirtualinherited

Definition at line 19 of file CbmTrdParMod.h.

References CbmTrdParMod::fVersion.

◆ GetX()

virtual Double_t CbmTrdParAsic::GetX ( ) const
inlinevirtualinherited

Definition at line 39 of file CbmTrdParAsic.h.

References CbmTrdParAsic::fX.

Referenced by CbmTrdHitRateFastQa::ScanModulePlane().

◆ GetY()

virtual Double_t CbmTrdParAsic::GetY ( ) const
inlinevirtualinherited

Definition at line 40 of file CbmTrdParAsic.h.

References CbmTrdParAsic::fY.

Referenced by CbmTrdHitRateFastQa::ScanModulePlane().

◆ GetZ()

virtual Double_t CbmTrdParAsic::GetZ ( ) const
inlinevirtualinherited

Definition at line 41 of file CbmTrdParAsic.h.

References CbmTrdParAsic::fZ.

◆ IsChannelMasked()

bool CbmTrdParFasp::IsChannelMasked ( int ch) const
virtual

Reimplemented from CbmTrdParAsic.

Definition at line 42 of file CbmTrdParFasp.cxx.

References fCalib, CbmTrdParFaspChannel::IsMasked(), and NFASPCH.

◆ LoadParams() [1/2]

void CbmTrdParFasp::LoadParams ( FairParamList * l)
virtual

◆ LoadParams() [2/2]

void CbmTrdParFasp::LoadParams ( int * vals)

◆ Print()

void CbmTrdParFasp::Print ( Option_t * opt = "") const
virtual

◆ QueryChannel()

Int_t CbmTrdParAsic::QueryChannel ( Int_t ch) const
virtualinherited

Query ASIC for specific pad address.

Parameters
[in]chpad address within module as provided by CbmTrdModuleAbstract::GetPadAddress()
Returns
channel index within ASIC

Definition at line 31 of file CbmTrdParAsic.cxx.

References CbmTrdParAsic::fChannelAddresses.

Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdModuleSim2D::FlushBuffer(), GetChannel(), and CbmTrdParAsic::SetChannelAddress().

◆ SetCalibParameters()

Bool_t CbmTrdParFasp::SetCalibParameters ( Int_t ch,
Double_t const * par )
virtual

Load FASP calibration parameters for a specific channel.

Parameters
chAddress of the channel inside FASP
parpointer 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().

◆ SetChannelAddress()

void CbmTrdParAsic::SetChannelAddress ( Int_t address)
virtualinherited

◆ SetChannelAddresses()

void CbmTrdParAsic::SetChannelAddresses ( std::vector< Int_t > addresses)
virtualinherited

◆ SetChannelMask()

void CbmTrdParFasp::SetChannelMask ( uint32_t mask)
virtual

Definition at line 118 of file CbmTrdParFasp.cxx.

References fCalib, NFASPCH, and CbmTrdParFaspChannel::SetMask().

Referenced by LoadParams().

◆ SetComponentId()

virtual void CbmTrdParAsic::SetComponentId ( size_t id)
inlinevirtualinherited

◆ SetConfigId()

virtual void CbmTrdParMod::SetConfigId ( uint16_t c)
inlinevirtualinherited

Definition at line 21 of file CbmTrdParMod.h.

References CbmTrdParMod::fConfig.

◆ SetFebGrouping()

virtual void CbmTrdParAsic::SetFebGrouping ( Int_t feb)
inlinevirtualinherited

Definition at line 58 of file CbmTrdParAsic.h.

References CbmTrdParAsic::fFebGrouping.

◆ SetModuleId()

virtual void CbmTrdParMod::SetModuleId ( int m)
inlinevirtualinherited

◆ SetPosition()

virtual void CbmTrdParAsic::SetPosition ( Double_t x = 0,
Double_t y = 0,
Double_t z = 0 )
inlinevirtualinherited

Definition at line 59 of file CbmTrdParAsic.h.

References CbmTrdParAsic::fX, CbmTrdParAsic::fY, CbmTrdParAsic::fZ, x, and y.

◆ SetVersion()

virtual void CbmTrdParMod::SetVersion ( uint8_t v)
inlinevirtualinherited

Definition at line 23 of file CbmTrdParMod.h.

References CbmTrdParMod::fVersion, and v.

Member Data Documentation

◆ fAddress

Int_t CbmTrdParAsic::fAddress
protectedinherited

◆ fCalib

CbmTrdParFaspChannel CbmTrdParFasp::fCalib[NFASPCH]
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().

◆ fChannelAddresses

std::vector<Int_t> CbmTrdParAsic::fChannelAddresses
protectedinherited

◆ fComponentId

size_t CbmTrdParAsic::fComponentId
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().

◆ fConfig

uint16_t CbmTrdParMod::fConfig = 0
protectedinherited

configuration setup of the module

Definition at line 27 of file CbmTrdParMod.h.

Referenced by CbmTrdParMod::GetConfig(), CbmTrdParModDigi::GetPadPlaneType(), and CbmTrdParMod::SetConfigId().

◆ fFebGrouping

Int_t CbmTrdParAsic::fFebGrouping
protectedinherited

no of ASIC in ROB

Definition at line 72 of file CbmTrdParAsic.h.

Referenced by CbmTrdParAsic::GetFebGrouping(), and CbmTrdParAsic::SetFebGrouping().

◆ fgSizeX

Double_t CbmTrdParFasp::fgSizeX = 2.
staticprivate

FASP half size in x [cm].

Definition at line 122 of file CbmTrdParFasp.h.

Referenced by GetSizeX().

◆ fgSizeY

Double_t CbmTrdParFasp::fgSizeY = 2.
staticprivate

FASP half size in y [cm].

Definition at line 123 of file CbmTrdParFasp.h.

Referenced by GetSizeY().

◆ fgSizeZ

Double_t CbmTrdParFasp::fgSizeZ = 0.5
staticprivate

FASP half size in z [cm].

Definition at line 124 of file CbmTrdParFasp.h.

Referenced by GetSizeZ().

◆ fModuleId

int CbmTrdParMod::fModuleId = 0
protectedinherited

◆ fVersion

uint8_t CbmTrdParMod::fVersion = 0
protectedinherited

version of the parameter

Definition at line 26 of file CbmTrdParMod.h.

Referenced by CbmTrdParModDigi::GetPadPlaneType(), CbmTrdParMod::GetVersion(), and CbmTrdParMod::SetVersion().

◆ fX

Double_t CbmTrdParAsic::fX
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().

◆ fY

Double_t CbmTrdParAsic::fY
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().

◆ fZ

Double_t CbmTrdParAsic::fZ
protectedinherited

center of asic in global c.s. [cm]

Definition at line 71 of file CbmTrdParAsic.h.

Referenced by CbmTrdParAsic::GetZ(), and CbmTrdParAsic::SetPosition().


The documentation for this class was generated from the following files: