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

Simulation module implementation for TRD-2D physics and FEE. More...

#include <CbmTrdModuleSim2D.h>

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

Public Types

enum  ECbmTrdModuleSim2D { kMeasurement = 0 , kLab , kFEE }
 
enum  CbmTrdModuleSimDef { kTime = 0 , kNoise , kWeightDistance }
 

Public Member Functions

 CbmTrdModuleSim2D (Int_t mod, Int_t ly, Int_t rot, Bool_t FASP=kTRUE)
 
virtual ~CbmTrdModuleSim2D ()
 
Bool_t IsLabMeasurement () const
 
Bool_t IsFeCalib () const
 
Int_t FlushBuffer (ULong64_t time=0)
 Flush local buffer of digits which can no longer interact with current event.
 
Bool_t MakeDigi (CbmTrdPoint *p, Double_t time, Bool_t TR)
 Steer building of digits for triangular pad geometry.
 
Bool_t MakeRaw ()
 Steering routine for converting MC point to raw format.
 
void SetGamma (Double_t)
 
void SetMessageConverter (CbmTrdRawToDigiR *conv=NULL)
 
void SetQA (CbmTrdCheckUtil *qa=NULL)
 
void SetLabMeasurement (Bool_t set=kTRUE)
 
void SetFeCalib (Bool_t set=kTRUE)
 
void SetFasp (Bool_t set=kTRUE)
 Set the FEE type operating on the chamber.
 
void SetAsicPar (CbmTrdParModAsic *p=NULL)
 
Bool_t UseFasp () const
 
virtual void GetCounters (Int_t &nEl, Int_t &nLattice, Int_t &nOverThr) const
 
virtual std::map< Int_t, std::pair< CbmTrdDigi *, CbmMatch * > > * GetDigiMap ()
 
virtual Int_t GetEventId () const
 
virtual Int_t GetInputId () const
 
virtual Int_t GetPointId () const
 
void SetDigitizer (CbmTrdDigitizer *digitizer)
 
virtual void SetEventId (Int_t id)
 
virtual void SetInputId (Int_t id)
 
virtual void SetPointId (Int_t id)
 
virtual void SetRadiator (std::shared_ptr< CbmTrdRadiator > radiator)
 Set the Radiator.
 
virtual void SetPositionMC (Double_t pos[3])
 
virtual void SetLinkId (Int_t input, Int_t event=-1, Int_t point=-1)
 
virtual void ResetCounters ()
 
virtual void SetTimeSysOffset (int dt)
 
virtual Double_t GetDx () const
 Shortcut getter size x/2 [cm].
 
virtual Double_t GetDy () const
 Shortcut getter size y/2 [cm].
 
virtual Double_t GetDz () const
 Shortcut getter size z/2 [cm].
 
virtual Int_t GetNasics () const
 Shortcut getter ASICs number module wise.
 
virtual Int_t GetNcols () const
 Shortcut getter column size.
 
virtual Int_t GetNrows () const
 Shortcut getter row wise.
 
virtual Int_t GetAsicAddress (Int_t id) const
 Addressing ASIC on module based on id.
 
virtual Int_t GetPadAddress (Int_t r, Int_t c) const
 Addressing read-out pads on module based on (row,col)
 
virtual Int_t GetPadRowCol (Int_t address, Int_t &c) const
 Addressing read-out pads based on module address.
 
virtual const Char_t * GetPath () const
 
bool IsChannelMasked (int ch) const
 Inquire the ASIC par set.
 
virtual void LocalToMaster (Double_t in[3], Double_t out[3])
 
virtual void SetChmbPar (const CbmTrdParModGas *p)
 
virtual void SetDigiPar (const CbmTrdParModDigi *p)
 
virtual void SetGainPar (const CbmTrdParModGain *p)
 
virtual void SetGeoPar (const CbmTrdParModGeo *p)
 

Protected Attributes

Int_t fPointId
 MC point id being processed.
 
Int_t fEventId
 MC event id being processed.
 
Int_t fInputId
 MC input file number.
 
Int_t fTimeSysOffset = 0
 Time offset of TRD digis to align them with other detectors (Bmon, ToF)
 
Double_t fXYZ [3]
 MC position of the point in module coordinates.
 
CbmTrdDigitizerfDigitizer
 
std::shared_ptr< CbmTrdRadiatorfRadiator = nullptr
 Pointer to digitizer.
 
std::map< Int_t, std::pair< CbmTrdDigi *, CbmMatch * > > fDigiMap
 Temporary storage for complete digis for each CBM address.
 
std::map< Int_t, std::vector< std::pair< CbmTrdDigi *, CbmMatch * > > > fBuffer
 Local digits buffer as function of time for each TRD channel in the module.
 
UShort_t fModAddress = 0
 unique identifier for current module
 
Char_t fLayerId = -1
 layer identifier
 
UChar_t fRotation = 0
 rotation angle for current module
 
const CbmTrdParModDigifDigiPar = nullptr
 read-out description of module
 
const CbmTrdParModGasfChmbPar = nullptr
 detection description (HV, drift) of module
 
CbmTrdParModAsicfAsicPar = nullptr
 the set of ASIC operating on the module (owned)
 
const CbmTrdParModGainfGainPar = nullptr
 Analog to digital conversion for module.
 
const CbmTrdParModGeofGeoPar = nullptr
 link to gGeometry for module
 

Private Member Functions

 CbmTrdModuleSim2D (const CbmTrdModuleSim2D &ref)
 
const CbmTrdModuleSim2Doperator= (const CbmTrdModuleSim2D &ref)
 
Bool_t ScanPadPlane (Double_t *point, Double_t dx, Double_t E, Double_t tdrift)
 Build digits for the triangular pad geometry.
 
void AddDigi (Int_t address, Double_t *charge, Double_t time)
 Adding triangular digits to time slice buffer.
 
void DumpBuffer () const
 Print current buffer content.
 

Private Attributes

UChar_t fConfig
 bit map for configuration. See class documentation
 
CbmTrdTrianglePRFfTriangleBinning
 Integration of PRF on triangular pad-plane geometry.
 
CbmTrdFASPfFASP
 FASP simulator.
 
CbmTimeSlicefTimeSlice
 link to CBM time slice
 
ULong64_t fTimeOld
 time [ns] of the last event processed (check CbmDaq)
 

Detailed Description

Simulation module implementation for TRD-2D physics and FEE.

Author
Alex Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro
Since
01.02.2019
Date
10.10.2021

The class is steered via CbmTrdDigitizer by looping over all MC points generated during track propagation. The class can be used to digitize MC output but also simulate laboratory set-ups (

See also
SetLabMeasurement()) like 55Fe (
SetFeCalib()) or X-rays (
SetFeCalib(kFALSE))

Definition at line 25 of file CbmTrdModuleSim2D.h.

Member Enumeration Documentation

◆ CbmTrdModuleSimDef

Enumerator
kTime 

select Time based/Event by event simulations

kNoise 

switch noise digits generation

kWeightDistance 

use weighting distance for link generation

Definition at line 26 of file CbmTrdModuleSim.h.

◆ ECbmTrdModuleSim2D

Enumerator
kMeasurement 

default simulate setup interactions, if set simulate laboratory measurement, see kLab

kLab 

default simulate 55Fe, if set X-rays, see X-rays spectrum generator

kFEE 

FEE simulator. Default FASP otherwise SPADIC.

Definition at line 27 of file CbmTrdModuleSim2D.h.

Constructor & Destructor Documentation

◆ CbmTrdModuleSim2D() [1/2]

CbmTrdModuleSim2D::CbmTrdModuleSim2D ( Int_t mod,
Int_t ly,
Int_t rot,
Bool_t FASP = kTRUE )

Definition at line 44 of file CbmTrdModuleSim2D.cxx.

References SetFasp().

◆ ~CbmTrdModuleSim2D()

CbmTrdModuleSim2D::~CbmTrdModuleSim2D ( )
virtual

Definition at line 57 of file CbmTrdModuleSim2D.cxx.

References fFASP, and fTriangleBinning.

◆ CbmTrdModuleSim2D() [2/2]

CbmTrdModuleSim2D::CbmTrdModuleSim2D ( const CbmTrdModuleSim2D & ref)
private

Member Function Documentation

◆ AddDigi()

void CbmTrdModuleSim2D::AddDigi ( Int_t address,
Double_t * charge,
Double_t time )
private

Adding triangular digits to time slice buffer.

Parameters
pointIdThe TRD hit in global coordinates beeing processed
addresscolumn/row unique index
chargeEnergy deposit in ADC chs for tilt [0] and rectangular [1] coupled pads
timetime of the CS for 80MHz clocks
fTRTR fraction of total energy
See also
FlushBuffer()
Author
A.Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro

Adding triangular digits to time slice buffer

Definition at line 538 of file CbmTrdModuleSim2D.cxx.

References CbmMatch::AddLink(), CbmTrdDigi::Clk(), CbmTrdParModGas::EfCkeV(), CbmTrdModuleAbstract::fAsicPar, CbmTrdModuleSim::fBuffer, CbmTrdModuleAbstract::fChmbPar, CbmTrdModuleSim::fEventId, CbmTrdModuleSim::fInputId, CbmTrdModuleAbstract::fModAddress, CbmTrdModuleSim::fPointId, CbmTrdParModAsic::GetFaspChannelPar(), CbmTrdDigi::GetTime(), CbmTrdParFaspChannel::IsMasked(), CbmTrdDigi::kFASP, CbmTrdDigi::ToString(), and VERBOSE.

Referenced by ScanPadPlane().

◆ DumpBuffer()

void CbmTrdModuleSim2D::DumpBuffer ( ) const
private

Print current buffer content.

Author
A.Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro

Definition at line 800 of file CbmTrdModuleSim2D.cxx.

References CbmTrdModuleSim::fBuffer, and VERBOSE.

Referenced by FlushBuffer().

◆ FlushBuffer()

Int_t CbmTrdModuleSim2D::FlushBuffer ( ULong64_t time = 0)
virtual

Flush local buffer of digits which can no longer interact with current event.

Parameters
timecurrent event time or 0 for all
Author
A.Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro

Flush time sorted digi buffer until requested moment in time. If time limit not specified flush all digits. Calculate timely interaction between digits which are produced either on different anode wires for the same particle or are produced by 2 particle close by. Also take into account FASP dead time and mark such digits correspondingly

Implements CbmTrdModuleSim.

Definition at line 599 of file CbmTrdModuleSim2D.cxx.

References CbmMatch::AddLink(), CbmTrdFASP::Clear(), DumpBuffer(), CbmTrdModuleAbstract::fAsicPar, FASP_WINDOW, CbmTrdModuleSim::fBuffer, CbmTrdModuleAbstract::fDigiPar, CbmTrdModuleSim::fDigitizer, fFASP, CbmTrdParFaspChannel::fgkSgmCh, CbmTrdModuleAbstract::fLayerId, FlushBuffer(), CbmTrdModuleAbstract::fModAddress, fTimeOld, fTimeSlice, CbmTrdModuleSim::fTimeSysOffset, CbmTrdParModAsic::GetAsicAddress(), CbmTrdParModAsic::GetAsicPar(), CbmTrdParFasp::GetChannel(), CbmTrdDigi::GetCharge(), CbmTimeSlice::GetEndTime(), CbmTrdFASP::GetEndTime(), CbmTrdAddress::GetModuleId(), CbmTrdModuleAbstract::GetPadRowCol(), CbmTrdParModDigi::GetSector(), CbmTrdFASP::GetStartTime(), CbmTrdDigi::GetTime(), CbmTrdFASP::Go(), CbmTrdFASP::InitChannel(), CbmTrdDigi::IsFlagged(), CbmTrdDigi::IsMasked(), CbmTimeSlice::IsRegular(), CbmTrdFASP::PhysToRaw(), CbmTrdParFasp::Print(), CbmTrdParAsic::QueryChannel(), CbmDigitize< Digi >::SendData(), CbmTrdDigi::SetCharge(), CbmTrdFASP::SetLGminLength(), CbmTrdFASP::SetNeighbourTrigger(), CbmTrdFASP::SetProcTime(), CbmTrdFASP::SetStartTime(), size(), CbmMatch::ToString(), CbmTrdDigi::ToString(), UseFasp(), and VERBOSE.

Referenced by FlushBuffer().

◆ GetAsicAddress()

virtual Int_t CbmTrdModuleAbstract::GetAsicAddress ( Int_t id) const
inlinevirtualinherited

Addressing ASIC on module based on id.

Parameters
[in]idmodule wise ASIC identifier
Returns
ASIC address within experiment

Definition at line 59 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fModAddress.

◆ GetCounters()

virtual void CbmTrdModuleSim::GetCounters ( Int_t & nEl,
Int_t & nLattice,
Int_t & nOverThr ) const
inlinevirtualinherited

Reimplemented in CbmTrdModuleSimR.

Definition at line 43 of file CbmTrdModuleSim.h.

◆ GetDigiMap()

virtual std::map< Int_t, std::pair< CbmTrdDigi *, CbmMatch * > > * CbmTrdModuleSim::GetDigiMap ( )
inlinevirtualinherited

Definition at line 49 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fDigiMap.

◆ GetDx()

virtual Double_t CbmTrdModuleAbstract::GetDx ( ) const
inlinevirtualinherited

Shortcut getter size x/2 [cm].

Definition at line 44 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDX().

Referenced by CbmTrdModuleSimR::SetAsicPar().

◆ GetDy()

virtual Double_t CbmTrdModuleAbstract::GetDy ( ) const
inlinevirtualinherited

Shortcut getter size y/2 [cm].

Definition at line 46 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDY().

Referenced by CbmTrdModuleSimR::SetAsicPar().

◆ GetDz()

virtual Double_t CbmTrdModuleAbstract::GetDz ( ) const
inlinevirtualinherited

Shortcut getter size z/2 [cm].

Definition at line 48 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDZ().

◆ GetEventId()

virtual Int_t CbmTrdModuleSim::GetEventId ( ) const
inlinevirtualinherited

Definition at line 50 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fEventId.

◆ GetInputId()

virtual Int_t CbmTrdModuleSim::GetInputId ( ) const
inlinevirtualinherited

Definition at line 51 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fInputId.

◆ GetNasics()

virtual Int_t CbmTrdModuleAbstract::GetNasics ( ) const
inlinevirtualinherited

Shortcut getter ASICs number module wise.

Definition at line 50 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fAsicPar, and CbmTrdParModAsic::GetNofAsics().

◆ GetNcols()

virtual Int_t CbmTrdModuleAbstract::GetNcols ( ) const
inlinevirtualinherited

◆ GetNrows()

virtual Int_t CbmTrdModuleAbstract::GetNrows ( ) const
inlinevirtualinherited

Shortcut getter row wise.

Definition at line 54 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar, and CbmTrdParModDigi::GetNofRows().

◆ GetPadAddress()

virtual Int_t CbmTrdModuleAbstract::GetPadAddress ( Int_t r,
Int_t c ) const
inlinevirtualinherited

Addressing read-out pads on module based on (row,col)

Parameters
[in]rglobal row id (not sector wise)
[in]cglobal column id
Returns
pad address within module

Definition at line 65 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::GetNcols().

Referenced by ScanPadPlane().

◆ GetPadRowCol()

Int_t CbmTrdModuleAbstract::GetPadRowCol ( Int_t address,
Int_t & c ) const
inlinevirtualinherited

Addressing read-out pads based on module address.

Parameters
[in]addresspad address within module
[in]con return global column id
Returns
global row address within module

Definition at line 107 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar, and CbmTrdModuleAbstract::GetNcols().

Referenced by CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleRec2D::CheckMerge(), FlushBuffer(), CbmTrdModuleRec2D::LoadDigis(), CbmTrdModuleRec2D::LoadDigisRC(), CbmTrdModuleRec2D::MergeDigis(), and CbmTrdModuleRec2D::ProjectDigis().

◆ GetPath()

virtual const Char_t * CbmTrdModuleAbstract::GetPath ( ) const
inlinevirtualinherited

◆ GetPointId()

virtual Int_t CbmTrdModuleSim::GetPointId ( ) const
inlinevirtualinherited

Definition at line 52 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fPointId.

◆ IsChannelMasked()

bool CbmTrdModuleAbstract::IsChannelMasked ( int ch) const
inherited

Inquire the ASIC par set.

Returns
true for actively masked channel

Definition at line 30 of file CbmTrdModuleAbstract.cxx.

References CbmTrdModuleAbstract::fAsicPar, CbmTrdParModAsic::GetAsicPar(), and CbmTrdParAsic::IsChannelMasked().

◆ IsFeCalib()

Bool_t CbmTrdModuleSim2D::IsFeCalib ( ) const
inline

Definition at line 39 of file CbmTrdModuleSim2D.h.

References fConfig, kLab, and TESTBIT.

Referenced by MakeDigi().

◆ IsLabMeasurement()

Bool_t CbmTrdModuleSim2D::IsLabMeasurement ( ) const
inline

Definition at line 38 of file CbmTrdModuleSim2D.h.

References fConfig, kMeasurement, and TESTBIT.

Referenced by MakeDigi().

◆ LocalToMaster()

void CbmTrdModuleAbstract::LocalToMaster ( Double_t in[3],
Double_t out[3] )
virtualinherited

◆ MakeDigi()

Bool_t CbmTrdModuleSim2D::MakeDigi ( CbmTrdPoint * p,
Double_t time,
Bool_t TR )
virtual

Steer building of digits for triangular pad geometry.

Parameters
[in]pMC point to be digitized
[in]timeEvent time
[in]TRRequest TR generation on top of dEdx
See also
ScanPadPlane()
Author
A.Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro

Steering routine for building digits out of the TRD hit for the triangular pad geometry.

  1. Scan the amplification cells span by the track
  2. Build digits for each cell proportional with the projected energy on the cell
    2.1 Continuous distribution for ionization
    2.2 Exponential decay for TR with constant \lambda

Implements CbmTrdModuleSim.

Definition at line 64 of file CbmTrdModuleSim2D.cxx.

References CbmTrdParModGas::EkevFC(), CbmTrdModuleAbstract::fChmbPar, CbmTrdModuleAbstract::fDigiPar, CbmTrdModuleSim::fRadiator, CbmTrdParModDigi::GetAnodeWireSpacing(), CbmTrdParModGas::GetBindingEnergy(), CbmTrdParModGas::GetDriftTime(), CbmTrdParModGas::GetNonIonizingBR(), CbmTrdModuleAbstract::GetPath(), CbmTrdParModGas::GetPEshell(), CbmTrdPoint::GetXIn(), CbmTrdPoint::GetXOut(), CbmTrdPoint::GetYIn(), CbmTrdPoint::GetYOut(), CbmTrdPoint::GetZIn(), CbmTrdPoint::GetZOut(), IsFeCalib(), IsLabMeasurement(), pos, CbmTrdPoint::Print(), CbmTrdParModDigi::ProjectPositionToNextAnodeWire(), CbmTrdParModGas::ScanDriftTime(), ScanPadPlane(), CbmTrdModuleSim::SetPositionMC(), and VERBOSE.

◆ MakeRaw()

Bool_t CbmTrdModuleSim2D::MakeRaw ( )
inlinevirtual

Steering routine for converting MC point to raw format.

Implements CbmTrdModuleSim.

Definition at line 56 of file CbmTrdModuleSim2D.h.

◆ operator=()

const CbmTrdModuleSim2D & CbmTrdModuleSim2D::operator= ( const CbmTrdModuleSim2D & ref)
private

◆ ResetCounters()

virtual void CbmTrdModuleSim::ResetCounters ( )
inlinevirtualinherited

Reimplemented in CbmTrdModuleSimR.

Definition at line 86 of file CbmTrdModuleSim.h.

◆ ScanPadPlane()

Bool_t CbmTrdModuleSim2D::ScanPadPlane ( Double_t * point,
Double_t dx,
Double_t E,
Double_t tdrift )
private

Build digits for the triangular pad geometry.

Parameters
pointPosition of hit on the anode wire in c.s.
dxTrack projection length on the closest anode wire [cm]
EEnergy loss from either ionization or X [keV]
See also
CbmTrdTriangle CbmTrdRadiator AddDigi()
Author
A.Bercuci aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro

The hit is expressed in local chamber coordinates, localized as follows:

  • Along the wire in the middle of the track projection on the closest wire
  • Across the wire on the closest anode.

The physical uncertainty along wires is given by the projection span (dx) and the energy from ionization is proportional to the track projection length in the local chamber x-y plane. For the TR energy the proportionality to the total TR is given by the integral over the amplification cell span of a decay law with decay constant ...

The class CbmTrdTrianglePRF is used to navigate the pad plane outward from the hit position until a threshold wrt to center is reached. The pad-row cross clusters are considered. Finally all digits are registered via AddDigi() function.

Definition at line 298 of file CbmTrdModuleSim2D.cxx.

References AddDigi(), CbmTrdModuleAbstract::fDigiPar, fTriangleBinning, CbmTrdTrianglePRF::GetChargeFraction(), CbmTrdTrianglePRF::GetCurrentPad(), CbmTrdParModDigi::GetNofColumns(), CbmTrdParModDigi::GetNofRows(), CbmTrdParModDigi::GetNofRowsInSector(), CbmTrdModuleAbstract::GetPadAddress(), CbmTrdParModDigi::GetPadInfo(), CbmTrdParModDigi::GetPadSizeX(), CbmTrdParModDigi::GetPadSizeY(), CbmTrdTrianglePRF::GoToOriginX(), CbmTrdTrianglePRF::GoToOriginY(), CbmTrdTrianglePRF::NC, CbmTrdTrianglePRF::NextBinX(), CbmTrdTrianglePRF::NextBinY(), CbmTrdTrianglePRF::Norm(), CbmTrdTrianglePRF::NR, CbmTrdTrianglePRF::PrevBinX(), CbmTrdTrianglePRF::PrevBinY(), CbmTrdTrianglePRF::SetOrigin(), CbmTrdParModDigi::TransformToLocalPad(), and VERBOSE.

Referenced by MakeDigi().

◆ SetAsicPar()

void CbmTrdModuleSim2D::SetAsicPar ( CbmTrdParModAsic * p = NULL)
virtual

Build local set of ASICs and perform initialization. Need a proper fDigiPar already defined.

Reimplemented from CbmTrdModuleAbstract.

Definition at line 816 of file CbmTrdModuleSim2D.cxx.

References CbmTrdModuleAbstract::fAsicPar, and CbmTrdModuleAbstract::fModAddress.

◆ SetChmbPar()

virtual void CbmTrdModuleAbstract::SetChmbPar ( const CbmTrdParModGas * p)
inlinevirtualinherited

Definition at line 82 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fChmbPar.

◆ SetDigiPar()

virtual void CbmTrdModuleAbstract::SetDigiPar ( const CbmTrdParModDigi * p)
inlinevirtualinherited

Definition at line 83 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar.

◆ SetDigitizer()

void CbmTrdModuleSim::SetDigitizer ( CbmTrdDigitizer * digitizer)
inlineinherited

Definition at line 72 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fDigitizer.

◆ SetEventId()

virtual void CbmTrdModuleSim::SetEventId ( Int_t id)
inlinevirtualinherited

Definition at line 73 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fEventId.

◆ SetFasp()

void CbmTrdModuleSim2D::SetFasp ( Bool_t set = kTRUE)
inline

Set the FEE type operating on the chamber.

Parameters
[in]setdefault use FASP/GETS via CbmTrdFASP class. If set to false use SPADIC TODO

Definition at line 71 of file CbmTrdModuleSim2D.h.

References CLRBIT, fConfig, kFEE, and SETBIT.

Referenced by CbmTrdModuleSim2D().

◆ SetFeCalib()

void CbmTrdModuleSim2D::SetFeCalib ( Bool_t set = kTRUE)
inline

Definition at line 65 of file CbmTrdModuleSim2D.h.

References CLRBIT, fConfig, kLab, and SETBIT.

Referenced by SetLabMeasurement().

◆ SetGainPar()

virtual void CbmTrdModuleAbstract::SetGainPar ( const CbmTrdParModGain * p)
inlinevirtualinherited

Definition at line 84 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGainPar.

◆ SetGamma()

void CbmTrdModuleSim2D::SetGamma ( Double_t )
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 57 of file CbmTrdModuleSim2D.h.

◆ SetGeoPar()

virtual void CbmTrdModuleAbstract::SetGeoPar ( const CbmTrdParModGeo * p)
inlinevirtualinherited

Definition at line 85 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar.

◆ SetInputId()

virtual void CbmTrdModuleSim::SetInputId ( Int_t id)
inlinevirtualinherited

Definition at line 74 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fInputId.

◆ SetLabMeasurement()

void CbmTrdModuleSim2D::SetLabMeasurement ( Bool_t set = kTRUE)
inline

Definition at line 60 of file CbmTrdModuleSim2D.h.

References CLRBIT, fConfig, kMeasurement, SETBIT, and SetFeCalib().

◆ SetLinkId()

virtual void CbmTrdModuleSim::SetLinkId ( Int_t input,
Int_t event = -1,
Int_t point = -1 )
inlinevirtualinherited

◆ SetMessageConverter()

void CbmTrdModuleSim2D::SetMessageConverter ( CbmTrdRawToDigiR * conv = NULL)
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 58 of file CbmTrdModuleSim2D.h.

◆ SetPointId()

virtual void CbmTrdModuleSim::SetPointId ( Int_t id)
inlinevirtualinherited

Definition at line 75 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fPointId.

◆ SetPositionMC()

virtual void CbmTrdModuleSim::SetPositionMC ( Double_t pos[3])
inlinevirtualinherited

Definition at line 79 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fXYZ, and pos.

Referenced by MakeDigi(), and CbmTrdModuleSimR::MakeDigi().

◆ SetQA()

void CbmTrdModuleSim2D::SetQA ( CbmTrdCheckUtil * qa = NULL)
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 59 of file CbmTrdModuleSim2D.h.

◆ SetRadiator()

virtual void CbmTrdModuleSim::SetRadiator ( std::shared_ptr< CbmTrdRadiator > radiator)
inlinevirtualinherited

Set the Radiator.

Parameters
radiatorDefintion of the radiator to be used for this module

Definition at line 77 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fRadiator.

◆ SetTimeSysOffset()

virtual void CbmTrdModuleSim::SetTimeSysOffset ( int dt)
inlinevirtualinherited

Definition at line 89 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fTimeSysOffset.

◆ UseFasp()

Bool_t CbmTrdModuleSim2D::UseFasp ( ) const
inline

Definition at line 73 of file CbmTrdModuleSim2D.h.

References fConfig, kFEE, and TESTBIT.

Referenced by FlushBuffer().

Member Data Documentation

◆ fAsicPar

◆ fBuffer

std::map<Int_t, std::vector<std::pair<CbmTrdDigi*, CbmMatch*> > > CbmTrdModuleSim::fBuffer
protectedinherited

Local digits buffer as function of time for each TRD channel in the module.

Definition at line 107 of file CbmTrdModuleSim.h.

Referenced by AddDigi(), DumpBuffer(), and FlushBuffer().

◆ fChmbPar

const CbmTrdParModGas* CbmTrdModuleAbstract::fChmbPar = nullptr
protectedinherited

detection description (HV, drift) of module

Definition at line 94 of file CbmTrdModuleAbstract.h.

Referenced by AddDigi(), MakeDigi(), and CbmTrdModuleAbstract::SetChmbPar().

◆ fConfig

UChar_t CbmTrdModuleSim2D::fConfig
private

bit map for configuration. See class documentation

Definition at line 105 of file CbmTrdModuleSim2D.h.

Referenced by IsFeCalib(), IsLabMeasurement(), SetFasp(), SetFeCalib(), SetLabMeasurement(), and UseFasp().

◆ fDigiMap

std::map<Int_t, std::pair<CbmTrdDigi*, CbmMatch*> > CbmTrdModuleSim::fDigiMap
protectedinherited

Temporary storage for complete digis for each CBM address.

Definition at line 105 of file CbmTrdModuleSim.h.

Referenced by CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSim::GetDigiMap(), CbmTrdModuleSimR::ProcessBuffer(), and CbmTrdModuleSimR::ProcessPulseBuffer().

◆ fDigiPar

◆ fDigitizer

CbmTrdDigitizer* CbmTrdModuleSim::fDigitizer
protectedinherited

Definition at line 98 of file CbmTrdModuleSim.h.

Referenced by FlushBuffer(), and CbmTrdModuleSim::SetDigitizer().

◆ fEventId

◆ fFASP

CbmTrdFASP* CbmTrdModuleSim2D::fFASP
private

FASP simulator.

Definition at line 107 of file CbmTrdModuleSim2D.h.

Referenced by FlushBuffer(), and ~CbmTrdModuleSim2D().

◆ fGainPar

const CbmTrdParModGain* CbmTrdModuleAbstract::fGainPar = nullptr
protectedinherited

Analog to digital conversion for module.

Definition at line 96 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::SetGainPar().

◆ fGeoPar

const CbmTrdParModGeo* CbmTrdModuleAbstract::fGeoPar = nullptr
protectedinherited

◆ fInputId

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId = -1
protectedinherited

◆ fModAddress

◆ fPointId

◆ fRadiator

std::shared_ptr<CbmTrdRadiator> CbmTrdModuleSim::fRadiator = nullptr
protectedinherited

Pointer to digitizer.

TR description for radiator

Definition at line 102 of file CbmTrdModuleSim.h.

Referenced by MakeDigi(), CbmTrdModuleSimR::MakeDigi(), and CbmTrdModuleSim::SetRadiator().

◆ fRotation

UChar_t CbmTrdModuleAbstract::fRotation = 0
protectedinherited

rotation angle for current module

Definition at line 90 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::CbmTrdModuleAbstract().

◆ fTimeOld

ULong64_t CbmTrdModuleSim2D::fTimeOld
private

time [ns] of the last event processed (check CbmDaq)

Definition at line 109 of file CbmTrdModuleSim2D.h.

Referenced by FlushBuffer().

◆ fTimeSlice

CbmTimeSlice* CbmTrdModuleSim2D::fTimeSlice
private

link to CBM time slice

Definition at line 108 of file CbmTrdModuleSim2D.h.

Referenced by FlushBuffer().

◆ fTimeSysOffset

Int_t CbmTrdModuleSim::fTimeSysOffset = 0
protectedinherited

Time offset of TRD digis to align them with other detectors (Bmon, ToF)

Definition at line 96 of file CbmTrdModuleSim.h.

Referenced by FlushBuffer(), and CbmTrdModuleSim::SetTimeSysOffset().

◆ fTriangleBinning

CbmTrdTrianglePRF* CbmTrdModuleSim2D::fTriangleBinning
private

Integration of PRF on triangular pad-plane geometry.

Definition at line 106 of file CbmTrdModuleSim2D.h.

Referenced by ScanPadPlane(), and ~CbmTrdModuleSim2D().

◆ fXYZ

Double_t CbmTrdModuleSim::fXYZ[3]
protectedinherited

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