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

Describe TRD module ASIC settings (electronic gain, delays, etc) More...

#include <CbmTrdParModAsic.h>

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

Public Member Functions

 CbmTrdParModAsic (const char *name="CbmTrdParModAsic", const char *title="Generic list of ASICs for TRD modules")
 
virtual ~CbmTrdParModAsic ()
 Destructor.
 
virtual void clear ()
 Reset all parameters.
 
bool GetFaspChannelPar (int pad, const CbmTrdParFaspChannel *&tilt, const CbmTrdParFaspChannel *&rect) const
 Access the calibration objects describing the two FASP channels allocated to a pad. FASP specific !
 
virtual void GetAsicAddresses (std::vector< Int_t > *a) const
 Query the ASICs in the module for their DAQ address. It applies to the list of ASICs. Returns the list of id of the ASICs within the module.

 
virtual Int_t GetAsicAddress (Int_t chAddress) const
 Look for the ASIC which operates on a specific channel It applies to the list of ASICs.
 
virtual const CbmTrdParAsicGetAsicPar (Int_t address) const
 Look for the ASIC parameters of a given DAQ id It applies to the list of ASICs.
 
virtual CbmTrdParAsicGetAsicPar (Int_t address)
 Look for the ASIC parameters of a given DAQ id It applies to the list of ASICs.
 
virtual CbmTrdDigi::eCbmTrdAsicType GetAsicType () const
 Query the type of ASICs in the list.
 
virtual Int_t GetChamberType () const
 Query the type of chamber.
 
virtual const int32_t * GetCrobAddresses () const
 Query the type of chamber.
 
virtual int HasEqId (uint16_t eqid, uint8_t &lnk) const
 Query the existence of an equipment (CROB) by HW id on the current module params.
 
virtual size_t GetNofAsicsOnModule () const
 Returns the number of INSTALLED ASICs for the current module It applies to the list of ASICs.
 
virtual int GetNofAsics () const
 Returns the DEFAULT number of ASICs for the current module.
 
virtual void Print (Option_t *opt="") const
 
virtual void SetAsicPar (CbmTrdParAsic *p)
 Initialize the ASIC parameters for DAQ id It applies to the list of ASICs.
 
virtual void SetChamberType (Int_t t)
 
virtual void SetCrobAddresses (int *addresses)
 Initialize the CROB addresses as they are used in the DAQ.
 
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 Member Functions

 CbmTrdParModAsic (const CbmTrdParModAsic &ref)
 
const CbmTrdParModAsicoperator= (const CbmTrdParModAsic &ref)
 
 ClassDef (CbmTrdParModAsic, 1)
 

Protected Attributes

uint8_t fType
 type of chamber for current module
 
std::vector< int32_t > fCrobAdd
 ordered list of Crobs for current module
 
std::map< int, CbmTrdParAsic * > fModPar
 list of ASIC params for module
 
uint8_t fVersion = 0
 version of the parameter
 
uint16_t fConfig = 0
 configuration setup of the module
 
int fModuleId = 0
 module id
 

Friends

class CbmTrdParSetAsic
 

Detailed Description

Describe TRD module ASIC settings (electronic gain, delays, etc)

The following concepts are used :

  • DAQ id : unique id of an ASIC composed of the format modId*1000+asicId.
  • modId : is calculated according to the CbmTrdAddress::GetModuleId().
  • asicId : uniquely identify the ASICs in one module.
  • chAddress : identify the read-out pad(s) connected to the ASIC. In the case of FASP it distinguish between R and T pairing

Definition at line 30 of file CbmTrdParModAsic.h.

Constructor & Destructor Documentation

◆ CbmTrdParModAsic() [1/2]

CbmTrdParModAsic::CbmTrdParModAsic ( const char * name = "CbmTrdParModAsic",
const char * title = "Generic list of ASICs for TRD modules" )

Standard constructor

Definition at line 31 of file CbmTrdParModAsic.cxx.

◆ ~CbmTrdParModAsic()

virtual CbmTrdParModAsic::~CbmTrdParModAsic ( )
inlinevirtual

Destructor.

Definition at line 38 of file CbmTrdParModAsic.h.

References clear().

◆ CbmTrdParModAsic() [2/2]

CbmTrdParModAsic::CbmTrdParModAsic ( const CbmTrdParModAsic & ref)
protected

Member Function Documentation

◆ ClassDef()

CbmTrdParModAsic::ClassDef ( CbmTrdParModAsic ,
1  )
protected

◆ clear()

void CbmTrdParModAsic::clear ( )
virtual

Reset all parameters.

Definition at line 40 of file CbmTrdParModAsic.cxx.

References fModPar.

Referenced by ~CbmTrdParModAsic().

◆ GetAsicAddress()

Int_t CbmTrdParModAsic::GetAsicAddress ( Int_t chAddress) const
virtual

Look for the ASIC which operates on a specific channel It applies to the list of ASICs.

Parameters
chAddressPad address of the channel
Returns
id of the ASIC operating on the channel. -1 in case of failure

Query the ASICs in the module set for the specified read-out channel. Returns the id of the ASIC within the module or -1 if all returns false.

Definition at line 68 of file CbmTrdParModAsic.cxx.

References fModPar.

Referenced by CbmTrdHitDensityQa::Finish(), CbmTrdModuleSim2D::FlushBuffer(), GetFaspChannelPar(), CbmTrdModuleRec2D::GetFaspChCalibrator(), CbmTrdHitRateFastQa::ScanModulePlane(), and CbmTrdModuleSimR::SetAsicPar().

◆ GetAsicAddresses()

void CbmTrdParModAsic::GetAsicAddresses ( std::vector< Int_t > * a) const
virtual

Query the ASICs in the module for their DAQ address. It applies to the list of ASICs. Returns the list of id of the ASICs within the module.

Query the ASICs in the module set for their addresses. Returns the list of these addresses in the vector prepared by the user

Definition at line 81 of file CbmTrdParModAsic.cxx.

References fModPar.

Referenced by CbmTrdUnpackFaspMonitor::addParam(), CbmTrdHardwareSetupR::CreateAsicChannelMap(), CbmTrdHardwareSetupR::CreateHwToSwAsicAddressTranslatorMap(), CbmTrdHitDensityQa::Finish(), CbmTaskTrdUnpackParWrite::Init(), CbmTrdUnpackFaspMonitor::MapMaskedChannels(), CbmTrdHitRateFastQa::ScanModulePlane(), and CbmTrdHardwareSetupR::WriteComponentIdsToParams().

◆ GetAsicPar() [1/2]

CbmTrdParAsic * CbmTrdParModAsic::GetAsicPar ( Int_t address)
virtual

Look for the ASIC parameters of a given DAQ id It applies to the list of ASICs.

Parameters
addressASIC address from DAQ
Returns
A read-write pointer to the parameters

Definition at line 98 of file CbmTrdParModAsic.cxx.

References fModPar.

◆ GetAsicPar() [2/2]

◆ GetAsicType()

◆ GetChamberType()

virtual Int_t CbmTrdParModAsic::GetChamberType ( ) const
inlinevirtual

Query the type of chamber.

Definition at line 79 of file CbmTrdParModAsic.h.

References fType.

◆ GetConfig()

virtual uint16_t CbmTrdParMod::GetConfig ( ) const
inlinevirtualinherited

Definition at line 17 of file CbmTrdParMod.h.

References CbmTrdParMod::fConfig.

◆ GetCrobAddresses()

virtual const int32_t * CbmTrdParModAsic::GetCrobAddresses ( ) const
inlinevirtual

Query the type of chamber.

Definition at line 82 of file CbmTrdParModAsic.h.

References fCrobAdd.

Referenced by CbmTaskTrdUnpackParWrite::Init(), and CbmTrdParSetAsic::putParams().

◆ GetFaspChannelPar()

bool CbmTrdParModAsic::GetFaspChannelPar ( int pad,
const CbmTrdParFaspChannel *& tilt,
const CbmTrdParFaspChannel *& rect ) const

Access the calibration objects describing the two FASP channels allocated to a pad. FASP specific !

Parameters
[in]padId of the pad according to position on the pad-plane
[in,out]tiltParameter for FASP channel connected to the tilt paired pads. On output it can be:
  • nullptr : if channel is not installed
  • allocated : if channel installed. It is up to the user to retrieve more info, e.g. masking
[in,out]rectParameter for FASP channel connected to the rectangular paired pads. The output follows the same convention as for the tilt parameters
Returns
true if pad is correctly defined

Definition at line 48 of file CbmTrdParModAsic.cxx.

References GetAsicAddress(), GetAsicPar(), CbmTrdParFasp::GetChannel(), NFASPCH, and NFASPMOD.

Referenced by CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleSim2D::AddDigi(), and CbmTaskTrdHitFinderParWrite::Init().

◆ GetModuleId()

virtual int CbmTrdParMod::GetModuleId ( ) const
inlinevirtualinherited

◆ GetNofAsics()

int CbmTrdParModAsic::GetNofAsics ( ) const
virtual

Returns the DEFAULT number of ASICs for the current module.

Definition at line 105 of file CbmTrdParModAsic.cxx.

References fType.

Referenced by CbmTrdHitDensityQa::Exec(), CbmTrdHitDensityQa::Finish(), CbmTrdModuleAbstract::GetNasics(), Print(), and CbmTrdHitRateFastQa::ScanModulePlane().

◆ GetNofAsicsOnModule()

virtual size_t CbmTrdParModAsic::GetNofAsicsOnModule ( ) const
inlinevirtual

Returns the number of INSTALLED ASICs for the current module It applies to the list of ASICs.

Definition at line 92 of file CbmTrdParModAsic.h.

References fModPar.

◆ GetVersion()

virtual uint8_t CbmTrdParMod::GetVersion ( ) const
inlinevirtualinherited

Definition at line 19 of file CbmTrdParMod.h.

References CbmTrdParMod::fVersion.

◆ HasEqId()

int CbmTrdParModAsic::HasEqId ( uint16_t eqid,
uint8_t & lnk ) const
virtual

Query the existence of an equipment (CROB) by HW id on the current module params.

Returns
Returns the position of the equipment (CROB) on the current module; -1 in case of failure.

Definition at line 137 of file CbmTrdParModAsic.cxx.

References fCrobAdd.

◆ operator=()

const CbmTrdParModAsic & CbmTrdParModAsic::operator= ( const CbmTrdParModAsic & ref)
protected

◆ Print()

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

Definition at line 155 of file CbmTrdParModAsic.cxx.

References fCrobAdd, fModPar, and GetNofAsics().

Referenced by CbmTrdParManager::CreateModuleParameters().

◆ SetAsicPar()

void CbmTrdParModAsic::SetAsicPar ( CbmTrdParAsic * p)
virtual

Initialize the ASIC parameters for DAQ id It applies to the list of ASICs.

Definition at line 169 of file CbmTrdParModAsic.cxx.

References fModPar, and CbmTrdParAsic::GetAddress().

Referenced by CbmTrdParManager::CreateModuleParameters(), CbmTrdParSetAsic::getParams(), and CbmTrdModuleSimR::SetAsicPar().

◆ SetChamberType()

virtual void CbmTrdParModAsic::SetChamberType ( Int_t t)
inlinevirtual

Definition at line 103 of file CbmTrdParModAsic.h.

References fType.

Referenced by CbmTrdParManager::CreateModuleParameters(), and CbmTrdParSetAsic::getParams().

◆ SetConfigId()

virtual void CbmTrdParMod::SetConfigId ( uint16_t c)
inlinevirtualinherited

Definition at line 21 of file CbmTrdParMod.h.

References CbmTrdParMod::fConfig.

◆ SetCrobAddresses()

void CbmTrdParModAsic::SetCrobAddresses ( int * addresses)
virtual

Initialize the CROB addresses as they are used in the DAQ.

Definition at line 181 of file CbmTrdParModAsic.cxx.

References fCrobAdd, fType, and NCROBMOD.

Referenced by CbmTrdParSetAsic::getParams().

◆ SetModuleId()

virtual void CbmTrdParMod::SetModuleId ( int m)
inlinevirtualinherited

◆ SetVersion()

virtual void CbmTrdParMod::SetVersion ( uint8_t v)
inlinevirtualinherited

Definition at line 23 of file CbmTrdParMod.h.

References CbmTrdParMod::fVersion, and v.

Friends And Related Symbol Documentation

◆ CbmTrdParSetAsic

friend class CbmTrdParSetAsic
friend

Definition at line 31 of file CbmTrdParModAsic.h.

Member Data Documentation

◆ 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().

◆ fCrobAdd

std::vector<int32_t> CbmTrdParModAsic::fCrobAdd
protected

ordered list of Crobs for current module

Definition at line 112 of file CbmTrdParModAsic.h.

Referenced by GetCrobAddresses(), HasEqId(), Print(), and SetCrobAddresses().

◆ fModPar

std::map<int, CbmTrdParAsic*> CbmTrdParModAsic::fModPar
protected

◆ fModuleId

int CbmTrdParMod::fModuleId = 0
protectedinherited

◆ fType

uint8_t CbmTrdParModAsic::fType
protected

type of chamber for current module

Definition at line 111 of file CbmTrdParModAsic.h.

Referenced by GetAsicType(), GetChamberType(), GetNofAsics(), SetChamberType(), and SetCrobAddresses().

◆ 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().


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