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

Abstract class for module wise digitization and raw format producing. More...

#include <CbmTrdModuleSim.h>

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

Public Types

enum  CbmTrdModuleSimDef { kTime = 0 , kNoise , kWeightDistance }
 

Public Member Functions

 CbmTrdModuleSim ()
 Default constructor.
 
 CbmTrdModuleSim (Int_t mod, Int_t ly, Int_t rot)
 Constructor with placement.
 
virtual ~CbmTrdModuleSim ()
 
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
 
virtual Int_t FlushBuffer (ULong64_t time=0)=0
 Flush local digi buffer.
 
virtual Bool_t MakeDigi (CbmTrdPoint *p, Double_t time, Bool_t TR=kFALSE)=0
 Steering routine for converting MC point to digits.
 
virtual Bool_t MakeRaw ()=0
 Steering routine for converting MC point to raw format.
 
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 SetGamma (Double_t gamma=0.)=0
 
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 SetMessageConverter (CbmTrdRawToDigiR *conv=NULL)=0
 
virtual void SetQA (CbmTrdCheckUtil *qa=NULL)=0
 
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 SetAsicPar (CbmTrdParModAsic *p=nullptr)
 
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

 CbmTrdModuleSim (const CbmTrdModuleSim &ref)
 
const CbmTrdModuleSimoperator= (const CbmTrdModuleSim &ref)
 

Detailed Description

Abstract class for module wise digitization and raw format producing.

Definition at line 24 of file CbmTrdModuleSim.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.

Constructor & Destructor Documentation

◆ CbmTrdModuleSim() [1/3]

CbmTrdModuleSim::CbmTrdModuleSim ( )

Default constructor.

Definition at line 17 of file CbmTrdModuleSim.cxx.

References fXYZ.

◆ CbmTrdModuleSim() [2/3]

CbmTrdModuleSim::CbmTrdModuleSim ( Int_t mod,
Int_t ly,
Int_t rot )

Constructor with placement.

Definition at line 31 of file CbmTrdModuleSim.cxx.

References fXYZ.

◆ ~CbmTrdModuleSim()

CbmTrdModuleSim::~CbmTrdModuleSim ( )
virtual

Definition at line 45 of file CbmTrdModuleSim.cxx.

◆ CbmTrdModuleSim() [3/3]

CbmTrdModuleSim::CbmTrdModuleSim ( const CbmTrdModuleSim & ref)
private

Member Function Documentation

◆ FlushBuffer()

virtual Int_t CbmTrdModuleSim::FlushBuffer ( ULong64_t time = 0)
pure virtual

Flush local digi buffer.

Parameters
timeTime limit to dump digits. If 0 all (used also in EbyE mode)
Returns
no of digits exported

Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

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

Reimplemented in CbmTrdModuleSimR.

Definition at line 43 of file CbmTrdModuleSim.h.

◆ GetDigiMap()

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

Definition at line 49 of file CbmTrdModuleSim.h.

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

Definition at line 50 of file CbmTrdModuleSim.h.

References fEventId.

◆ GetInputId()

virtual Int_t CbmTrdModuleSim::GetInputId ( ) const
inlinevirtual

Definition at line 51 of file CbmTrdModuleSim.h.

References 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 CbmTrdModuleSim2D::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(), CbmTrdModuleSim2D::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
inlinevirtual

Definition at line 52 of file CbmTrdModuleSim.h.

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

◆ LocalToMaster()

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

◆ MakeDigi()

virtual Bool_t CbmTrdModuleSim::MakeDigi ( CbmTrdPoint * p,
Double_t time,
Bool_t TR = kFALSE )
pure virtual

Steering routine for converting MC point to digits.

Parameters
[in]pMC point to be digitized
[in]timeEvent time [ns]
[in]TRRequest TR generation on top of dEdx

Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

Referenced by CbmTrdDigitizer::Exec().

◆ MakeRaw()

virtual Bool_t CbmTrdModuleSim::MakeRaw ( )
pure virtual

Steering routine for converting MC point to raw format.

Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

◆ operator=()

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

◆ ResetCounters()

virtual void CbmTrdModuleSim::ResetCounters ( )
inlinevirtual

Reimplemented in CbmTrdModuleSimR.

Definition at line 86 of file CbmTrdModuleSim.h.

◆ SetAsicPar()

virtual void CbmTrdModuleAbstract::SetAsicPar ( CbmTrdParModAsic * p = nullptr)
inlinevirtualinherited

Reimplemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

Definition at line 81 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fAsicPar.

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

Definition at line 72 of file CbmTrdModuleSim.h.

References fDigitizer.

◆ SetEventId()

virtual void CbmTrdModuleSim::SetEventId ( Int_t id)
inlinevirtual

Definition at line 73 of file CbmTrdModuleSim.h.

References fEventId.

◆ SetGainPar()

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

Definition at line 84 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGainPar.

◆ SetGamma()

virtual void CbmTrdModuleSim::SetGamma ( Double_t gamma = 0.)
pure virtual

Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

Referenced by CbmTrdDigitizer::Exec().

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

Definition at line 74 of file CbmTrdModuleSim.h.

References fInputId.

◆ SetLinkId()

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

Definition at line 80 of file CbmTrdModuleSim.h.

References fEventId, fInputId, and fPointId.

Referenced by CbmTrdDigitizer::Exec().

◆ SetMessageConverter()

virtual void CbmTrdModuleSim::SetMessageConverter ( CbmTrdRawToDigiR * conv = NULL)
pure virtual

Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

◆ SetPointId()

virtual void CbmTrdModuleSim::SetPointId ( Int_t id)
inlinevirtual

Definition at line 75 of file CbmTrdModuleSim.h.

References fPointId.

◆ SetPositionMC()

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

Definition at line 79 of file CbmTrdModuleSim.h.

References fXYZ, and pos.

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

◆ SetQA()

virtual void CbmTrdModuleSim::SetQA ( CbmTrdCheckUtil * qa = NULL)
pure virtual

Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

◆ SetRadiator()

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

Set the Radiator.

Parameters
radiatorDefintion of the radiator to be used for this module

Definition at line 77 of file CbmTrdModuleSim.h.

References fRadiator.

◆ SetTimeSysOffset()

virtual void CbmTrdModuleSim::SetTimeSysOffset ( int dt)
inlinevirtual

Definition at line 89 of file CbmTrdModuleSim.h.

References fTimeSysOffset.

Member Data Documentation

◆ fAsicPar

◆ fBuffer

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

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

Definition at line 107 of file CbmTrdModuleSim.h.

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

◆ fChmbPar

const CbmTrdParModGas* CbmTrdModuleAbstract::fChmbPar = nullptr
protectedinherited

detection description (HV, drift) of module

Definition at line 94 of file CbmTrdModuleAbstract.h.

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

◆ fDigiMap

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

Temporary storage for complete digis for each CBM address.

Definition at line 105 of file CbmTrdModuleSim.h.

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

◆ fDigiPar

◆ fDigitizer

CbmTrdDigitizer* CbmTrdModuleSim::fDigitizer
protected

Definition at line 98 of file CbmTrdModuleSim.h.

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

◆ fEventId

◆ 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

Int_t CbmTrdModuleSim::fInputId
protected

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId = -1
protectedinherited

◆ fModAddress

◆ fPointId

◆ fRadiator

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

Pointer to digitizer.

TR description for radiator

Definition at line 102 of file CbmTrdModuleSim.h.

Referenced by CbmTrdModuleSim2D::MakeDigi(), CbmTrdModuleSimR::MakeDigi(), and 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().

◆ fTimeSysOffset

Int_t CbmTrdModuleSim::fTimeSysOffset = 0
protected

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

Definition at line 96 of file CbmTrdModuleSim.h.

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

◆ fXYZ

Double_t CbmTrdModuleSim::fXYZ[3]
protected

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