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

Parameters for one STS module. More...

#include <CbmStsParModule.h>

Public Member Functions

 CbmStsParModule ()
 Default constructor.
 
 CbmStsParModule (uint32_t nChannels, uint32_t nAsicChannels)
 Standard constructor.
 
 CbmStsParModule (const CbmStsParModule &)
 Copy constructor (implicitely disable move constructor and assignment)
 
CbmStsParModuleoperator= (const CbmStsParModule &other)
 Copy assignment operator.
 
 ~CbmStsParModule ()
 Destructor.
 
uint32_t DeactivateRandomChannels (double fraction)
 Randomly deactivate a fraction of the channels.
 
const CbmStsParAsicGetParAsic (uint32_t channel) const
 ASIC parameters for a given channel.
 
const std::vector< CbmStsParAsic > & GetAsicParams () const
 All ASIC parameters.
 
uint32_t GetNofAsicChannels () const
 Number of channels per ASIC.
 
uint32_t GetNofAsics () const
 Number of ASICs.
 
uint32_t GetNofChannels () const
 Number of channels.
 
bool IsChannelActive (uint32_t channel) const
 Check for a channel being active.
 
void SetAllAsics (const CbmStsParAsic &asicPar)
 Set all ASICs with the same parameter set.
 
void SetAsic (uint32_t asicNr, const CbmStsParAsic &asicPar)
 Set parameters for a single ASIC.
 
Int_t GetModuleSide (uint32_t channel) const
 Get the side of the module based on the channel.
 
uint32_t GetAsicIndex (uint32_t channel) const
 Get the asic index based on the channel of the module.
 
std::string ToString () const
 String output.
 

Private Member Functions

 ClassDefNV (CbmStsParModule, 2)
 

Private Attributes

uint32_t fNofChannels = 0
 Number of readout channels.
 
uint32_t fNofAsicChannels = 0.
 Number of channels per ASIC.
 
std::vector< CbmStsParAsicfAsicPars {}
 ASIC parameters.
 

Detailed Description

Parameters for one STS module.

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Date
31.03.2020

The module is the basic building block of the STS. It consists of a sensor connected to a number of ASICs. The number of module channels must be adjusted to the number of strips of the connected sensor. The number of ASICS is given by the number of module channels divided by the number of channels per ASIC.

Definition at line 27 of file CbmStsParModule.h.

Constructor & Destructor Documentation

◆ CbmStsParModule() [1/3]

CbmStsParModule::CbmStsParModule ( )
inline

Default constructor.

Definition at line 31 of file CbmStsParModule.h.

Referenced by CbmStsParModule(), ClassDefNV(), and operator=().

◆ CbmStsParModule() [2/3]

CbmStsParModule::CbmStsParModule ( uint32_t nChannels,
uint32_t nAsicChannels )

Standard constructor.

Parameters
nChannelsNumber of readout channels
nAsicsNumber of readout channels per ASIC

Definition at line 18 of file CbmStsParModule.cxx.

References fAsicPars, fNofAsicChannels, and fNofChannels.

◆ CbmStsParModule() [3/3]

CbmStsParModule::CbmStsParModule ( const CbmStsParModule & other)

Copy constructor (implicitely disable move constructor and assignment)

Definition at line 29 of file CbmStsParModule.cxx.

References CbmStsParModule(), fAsicPars, fNofAsicChannels, fNofChannels, GetAsicParams(), GetNofAsicChannels(), and GetNofChannels().

◆ ~CbmStsParModule()

CbmStsParModule::~CbmStsParModule ( )
inline

Destructor.

Definition at line 50 of file CbmStsParModule.h.

Member Function Documentation

◆ ClassDefNV()

CbmStsParModule::ClassDefNV ( CbmStsParModule ,
2  )
private

References CbmStsParModule().

◆ DeactivateRandomChannels()

uint32_t CbmStsParModule::DeactivateRandomChannels ( double fraction)

Randomly deactivate a fraction of the channels.

Parameters
fractionFraction of channels to deactivate
Returns
Number of deactivated channels

Definition at line 50 of file CbmStsParModule.cxx.

References fAsicPars.

◆ GetAsicIndex()

uint32_t CbmStsParModule::GetAsicIndex ( uint32_t channel) const

Get the asic index based on the channel of the module.

Parameters
channel<< Channel number
Returns
Asic index for side 0 from 0-7 and for side 1 from 8-15

Definition at line 117 of file CbmStsParModule.cxx.

References fNofAsicChannels, and fNofChannels.

◆ GetAsicParams()

const std::vector< CbmStsParAsic > & CbmStsParModule::GetAsicParams ( ) const
inline

All ASIC parameters.

Returns
Vector of ASIC parameters

Definition at line 70 of file CbmStsParModule.h.

References fAsicPars.

Referenced by CbmStsParModule(), cbm_sts_utils::ChargeBinning(), and operator=().

◆ GetModuleSide()

Int_t CbmStsParModule::GetModuleSide ( uint32_t channel) const

Get the side of the module based on the channel.

Parameters
channel<< Channel number
Returns
Side (0 for front side, 1 for Back Side)

Definition at line 106 of file CbmStsParModule.cxx.

References fNofChannels.

◆ GetNofAsicChannels()

uint32_t CbmStsParModule::GetNofAsicChannels ( ) const
inline

Number of channels per ASIC.

Returns
Number of channels per ASIC

Definition at line 76 of file CbmStsParModule.h.

References fNofAsicChannels.

Referenced by CbmStsParModule(), and operator=().

◆ GetNofAsics()

uint32_t CbmStsParModule::GetNofAsics ( ) const
inline

Number of ASICs.

Returns
Number of ASICs

Definition at line 82 of file CbmStsParModule.h.

References fAsicPars.

Referenced by GetParAsic(), and ToString().

◆ GetNofChannels()

◆ GetParAsic()

const CbmStsParAsic & CbmStsParModule::GetParAsic ( uint32_t channel) const

ASIC parameters for a given channel.

Parameters
channelChannel number
Returns
ASIC parameters

Definition at line 63 of file CbmStsParModule.cxx.

References fAsicPars, fNofAsicChannels, fNofChannels, and GetNofAsics().

Referenced by CbmStsAlgoAnaCluster::AnaSize2(), CbmStsAlgoAnaCluster::AnaSizeN(), CbmRecoSts::CreateModules(), CbmTaskStsHitFinderParWrite::CreateModules(), IsChannelActive(), and CbmStsAlgoAnaCluster::WeightedMean().

◆ IsChannelActive()

Bool_t CbmStsParModule::IsChannelActive ( uint32_t channel) const

Check for a channel being active.

Parameters
channelChannel number
Returns
True if the channel is active

Definition at line 75 of file CbmStsParModule.cxx.

References fNofAsicChannels, GetParAsic(), and CbmStsParAsic::IsChannelActive().

◆ operator=()

CbmStsParModule & CbmStsParModule::operator= ( const CbmStsParModule & other)

Copy assignment operator.

Definition at line 39 of file CbmStsParModule.cxx.

References CbmStsParModule(), fAsicPars, fNofAsicChannels, fNofChannels, GetAsicParams(), GetNofAsicChannels(), and GetNofChannels().

◆ SetAllAsics()

void CbmStsParModule::SetAllAsics ( const CbmStsParAsic & asicPar)

Set all ASICs with the same parameter set.

Parameters
asicParParameters for all ASICs

Definition at line 85 of file CbmStsParModule.cxx.

References fAsicPars, fNofAsicChannels, CbmStsParAsic::GetNofChannels(), and CbmStsParAsic::Init().

Referenced by CbmStsDigitizePixel::InitParams().

◆ SetAsic()

void CbmStsParModule::SetAsic ( uint32_t asicNr,
const CbmStsParAsic & asicPar )

Set parameters for a single ASIC.

Parameters
asicParASIC parameter set

Definition at line 97 of file CbmStsParModule.cxx.

References fAsicPars.

◆ ToString()

string CbmStsParModule::ToString ( ) const

String output.

Definition at line 128 of file CbmStsParModule.cxx.

References fNofAsicChannels, fNofChannels, and GetNofAsics().

Member Data Documentation

◆ fAsicPars

std::vector<CbmStsParAsic> CbmStsParModule::fAsicPars {}
private

◆ fNofAsicChannels

uint32_t CbmStsParModule::fNofAsicChannels = 0.
private

◆ fNofChannels

uint32_t CbmStsParModule::fNofChannels = 0
private

Number of readout channels.

Definition at line 129 of file CbmStsParModule.h.

Referenced by CbmStsParModule(), CbmStsParModule(), GetAsicIndex(), GetModuleSide(), GetNofChannels(), GetParAsic(), operator=(), and ToString().


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