CbmRoot
Loading...
Searching...
No Matches
CbmTrdParAsic Class Referenceabstract

Definition of ASIC parameters. More...

#include <CbmTrdParAsic.h>

Inheritance diagram for CbmTrdParAsic:
[legend]
Collaboration diagram for CbmTrdParAsic:
[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

 CbmTrdParAsic (Int_t address=0, Int_t FebGrouping=-1, Double_t x=0, Double_t y=0, Double_t z=0, size_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 size_t GetComponentId () const
 
virtual Int_t GetNchannels () const =0
 
virtual Int_t GetFebGrouping () const
 
virtual std::vector< Int_t > GetChannelAddresses () const
 
virtual bool IsChannelMasked (int) 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.
 
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
 

Detailed Description

Definition of ASIC parameters.

Definition at line 20 of file CbmTrdParAsic.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

◆ CbmTrdParAsic()

CbmTrdParAsic::CbmTrdParAsic ( Int_t address = 0,
Int_t FebGrouping = -1,
Double_t x = 0,
Double_t y = 0,
Double_t z = 0,
size_t compId = 0 )

Definition at line 12 of file CbmTrdParAsic.cxx.

◆ ~CbmTrdParAsic()

virtual CbmTrdParAsic::~CbmTrdParAsic ( )
inlinevirtual

Definition at line 24 of file CbmTrdParAsic.h.

Member Function Documentation

◆ GetAddress()

virtual Int_t CbmTrdParAsic::GetAddress ( ) const
inlinevirtual

Definition at line 43 of file CbmTrdParAsic.h.

References fAddress.

Referenced by CbmTrdParManager::CreateModuleParameters(), and CbmTrdParModAsic::SetAsicPar().

◆ GetChannelAddresses()

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

◆ GetComponentId()

virtual size_t CbmTrdParAsic::GetComponentId ( ) const
inlinevirtual

◆ 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
inlinevirtual

Definition at line 46 of file CbmTrdParAsic.h.

References fFebGrouping.

◆ GetModuleId()

virtual int CbmTrdParMod::GetModuleId ( ) const
inlinevirtualinherited

◆ GetNchannels()

virtual Int_t CbmTrdParAsic::GetNchannels ( ) const
pure virtual

Implemented in CbmTrdParFasp, and CbmTrdParSpadic.

Referenced by SetChannelAddresses().

◆ GetSizeX()

virtual Double_t CbmTrdParAsic::GetSizeX ( ) const
pure virtual

Accessors

Implemented in CbmTrdParFasp, and CbmTrdParSpadic.

Referenced by CbmTrdHitRateFastQa::ScanModulePlane().

◆ GetSizeY()

virtual Double_t CbmTrdParAsic::GetSizeY ( ) const
pure virtual

◆ 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
inlinevirtual

Definition at line 39 of file CbmTrdParAsic.h.

References fX.

Referenced by CbmTrdHitRateFastQa::ScanModulePlane().

◆ GetY()

virtual Double_t CbmTrdParAsic::GetY ( ) const
inlinevirtual

Definition at line 40 of file CbmTrdParAsic.h.

References fY.

Referenced by CbmTrdHitRateFastQa::ScanModulePlane().

◆ GetZ()

virtual Double_t CbmTrdParAsic::GetZ ( ) const
inlinevirtual

Definition at line 41 of file CbmTrdParAsic.h.

References fZ.

◆ IsChannelMasked()

virtual bool CbmTrdParAsic::IsChannelMasked ( int ) const
inlinevirtual

Reimplemented in CbmTrdParFasp.

Definition at line 48 of file CbmTrdParAsic.h.

Referenced by CbmTrdModuleAbstract::IsChannelMasked().

◆ LoadParams()

virtual void CbmTrdParAsic::LoadParams ( FairParamList * )
inlinevirtual

Reimplemented in CbmTrdParFasp, and CbmTrdParSpadic.

Definition at line 49 of file CbmTrdParAsic.h.

◆ Print()

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

Reimplemented in CbmTrdParFasp.

Definition at line 25 of file CbmTrdParAsic.cxx.

References fAddress, fX, and fY.

Referenced by CbmTrdParFasp::Print().

◆ QueryChannel()

Int_t CbmTrdParAsic::QueryChannel ( Int_t ch) const
virtual

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 fChannelAddresses.

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

◆ SetChannelAddress()

void CbmTrdParAsic::SetChannelAddress ( Int_t address)
virtual

◆ SetChannelAddresses()

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

◆ SetComponentId()

virtual void CbmTrdParAsic::SetComponentId ( size_t id)
inlinevirtual

◆ 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)
inlinevirtual

Definition at line 58 of file CbmTrdParAsic.h.

References 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 )
inlinevirtual

Definition at line 59 of file CbmTrdParAsic.h.

References fX, fY, 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
protected

◆ fChannelAddresses

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

◆ fComponentId

size_t CbmTrdParAsic::fComponentId
protected

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 GetComponentId(), CbmTrdParSpadic::GetCriId(), CbmTrdParSpadic::GetCrobId(), CbmTrdParSpadic::GetCrobNumber(), CbmTrdParSpadic::GetElinkId(), CbmTrdParSpadic::LoadParams(), and 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
protected

no of ASIC in ROB

Definition at line 72 of file CbmTrdParAsic.h.

Referenced by GetFebGrouping(), and SetFebGrouping().

◆ 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
protected

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

Definition at line 69 of file CbmTrdParAsic.h.

Referenced by GetX(), Print(), and SetPosition().

◆ fY

Double_t CbmTrdParAsic::fY
protected

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

Definition at line 70 of file CbmTrdParAsic.h.

Referenced by GetY(), Print(), and SetPosition().

◆ fZ

Double_t CbmTrdParAsic::fZ
protected

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

Definition at line 71 of file CbmTrdParAsic.h.

Referenced by GetZ(), and SetPosition().


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