CbmRoot
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. More...
 
 CbmTrdModuleSim (Int_t mod, Int_t ly, Int_t rot)
 Constructor with placement. More...
 
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. More...
 
virtual Bool_t MakeDigi (CbmTrdPoint *p, Double_t time, Bool_t TR=kFALSE)=0
 Steering routine for converting MC point to digits. More...
 
virtual Bool_t MakeRaw ()=0
 Steering routine for converting MC point to raw format. More...
 
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 (CbmTrdRadiator *radiator=NULL)=0
 
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 Double_t GetDx () const
 Shortcut getter size x/2 [cm]. More...
 
virtual Double_t GetDy () const
 Shortcut getter size y/2 [cm]. More...
 
virtual Double_t GetDz () const
 Shortcut getter size z/2 [cm]. More...
 
virtual Int_t GetNasics () const
 Shortcut getter ASICs number module wise. More...
 
virtual Int_t GetNcols () const
 Shortcut getter column size. More...
 
virtual Int_t GetNrows () const
 Shortcut getter row wise. More...
 
virtual Int_t GetAsicAddress (Int_t id) const
 Addressing ASIC on module based on id. More...
 
virtual Int_t GetPadAddress (Int_t r, Int_t c) const
 Addressing read-out pads on module based on (row,col) More...
 
virtual Int_t GetPadRowCol (Int_t address, Int_t &c) const
 Addressing read-out pads based on module address. More...
 
virtual const Char_t * GetPath () const
 
virtual void LocalToMaster (Double_t in[3], Double_t out[3])
 
virtual void SetAsicPar (CbmTrdParSetAsic *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. More...
 
Int_t fEventId
 MC event id being processed. More...
 
Int_t fInputId
 MC input file number. More...
 
Double_t fXYZ [3]
 MC position of the point in module coordinates. More...
 
CbmTrdDigitizerfDigitizer
 
CbmTrdRadiatorfRadiator
 Pointer to digitizer. More...
 
std::map< Int_t, std::pair< CbmTrdDigi *, CbmMatch * > > fDigiMap
 Temporary storage for complete digis for each CBM address. More...
 
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. More...
 
UShort_t fModAddress
 unique identifier for current module More...
 
Char_t fLayerId
 layer identifier More...
 
UChar_t fRotation
 rotation angle for current module More...
 
const CbmTrdParModDigifDigiPar
 read-out description of module More...
 
const CbmTrdParModGasfChmbPar
 detection description (HV, drift) of module More...
 
CbmTrdParSetAsicfAsicPar
 the set of ASIC operating on the module (owned) More...
 
const CbmTrdParModGainfGainPar
 Analog to digital conversion for module. More...
 
const CbmTrdParModGeofGeoPar
 link to gGeometry for module More...
 

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 18 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 20 of file CbmTrdModuleSim.h.

Constructor & Destructor Documentation

◆ CbmTrdModuleSim() [1/3]

CbmTrdModuleSim::CbmTrdModuleSim ( )

Default constructor.

Definition at line 11 of file CbmTrdModuleSim.cxx.

References fXYZ, and memset().

◆ CbmTrdModuleSim() [2/3]

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

Constructor with placement.

Definition at line 24 of file CbmTrdModuleSim.cxx.

References fXYZ, and memset().

◆ ~CbmTrdModuleSim()

CbmTrdModuleSim::~CbmTrdModuleSim ( )
virtual

Definition at line 37 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 CbmTrdModuleSimR, and CbmTrdModuleSimT.

◆ 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 49 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 36 of file CbmTrdModuleSim.h.

◆ GetDigiMap()

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

Definition at line 41 of file CbmTrdModuleSim.h.

References fDigiMap.

◆ GetDx()

virtual Double_t CbmTrdModuleAbstract::GetDx ( ) const
inlinevirtualinherited

Shortcut getter size x/2 [cm].

Definition at line 28 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 30 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 32 of file CbmTrdModuleAbstract.h.

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

◆ GetEventId()

virtual Int_t CbmTrdModuleSim::GetEventId ( ) const
inlinevirtual

Definition at line 44 of file CbmTrdModuleSim.h.

References fEventId.

◆ GetInputId()

virtual Int_t CbmTrdModuleSim::GetInputId ( ) const
inlinevirtual

Definition at line 45 of file CbmTrdModuleSim.h.

References fInputId.

◆ GetNasics()

virtual Int_t CbmTrdModuleAbstract::GetNasics ( ) const
inlinevirtualinherited

Shortcut getter ASICs number module wise.

Definition at line 34 of file CbmTrdModuleAbstract.h.

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

◆ GetNcols()

virtual Int_t CbmTrdModuleAbstract::GetNcols ( ) const
inlinevirtualinherited

◆ GetNrows()

virtual Int_t CbmTrdModuleAbstract::GetNrows ( ) const
inlinevirtualinherited

Shortcut getter row wise.

Definition at line 42 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 57 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::GetNcols().

Referenced by CbmTrdModuleSimT::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 100 of file CbmTrdModuleAbstract.h.

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

Referenced by CbmTrdModuleRecT::AddDigi(), CbmTrdModuleSimT::FlushBuffer(), CbmTrdModuleRecT::LoadDigis(), CbmTrdModuleRecT::MakeHit(), and CbmTrdModuleRecT::MergeDigis().

◆ GetPath()

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

◆ GetPointId()

virtual Int_t CbmTrdModuleSim::GetPointId ( ) const
inlinevirtual

Definition at line 46 of file CbmTrdModuleSim.h.

References fPointId.

◆ 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 CbmTrdModuleSimT, 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 CbmTrdModuleSimT, and CbmTrdModuleSimR.

◆ operator=()

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

◆ ResetCounters()

virtual void CbmTrdModuleSim::ResetCounters ( )
inlinevirtual

Reimplemented in CbmTrdModuleSimR.

Definition at line 81 of file CbmTrdModuleSim.h.

◆ SetAsicPar()

virtual void CbmTrdModuleAbstract::SetAsicPar ( CbmTrdParSetAsic p = nullptr)
inlinevirtualinherited

◆ SetChmbPar()

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

◆ SetDigiPar()

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

◆ SetDigitizer()

void CbmTrdModuleSim::SetDigitizer ( CbmTrdDigitizer digitizer)
inline

Definition at line 67 of file CbmTrdModuleSim.h.

References fDigitizer.

◆ SetEventId()

virtual void CbmTrdModuleSim::SetEventId ( Int_t  id)
inlinevirtual

Definition at line 68 of file CbmTrdModuleSim.h.

References fEventId.

◆ SetGainPar()

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

◆ SetGamma()

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

Implemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.

Referenced by CbmTrdDigitizer::Exec().

◆ SetGeoPar()

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

◆ SetInputId()

virtual void CbmTrdModuleSim::SetInputId ( Int_t  id)
inlinevirtual

Definition at line 69 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 76 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 CbmTrdModuleSimT, and CbmTrdModuleSimR.

◆ SetPointId()

virtual void CbmTrdModuleSim::SetPointId ( Int_t  id)
inlinevirtual

Definition at line 70 of file CbmTrdModuleSim.h.

References fPointId.

◆ SetPositionMC()

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

Definition at line 73 of file CbmTrdModuleSim.h.

References fXYZ, and pos.

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

◆ SetQA()

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

Implemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.

◆ SetRadiator()

virtual void CbmTrdModuleSim::SetRadiator ( CbmTrdRadiator radiator = NULL)
pure virtual

Implemented in CbmTrdModuleSimR, and CbmTrdModuleSimT.

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 99 of file CbmTrdModuleSim.h.

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

◆ fChmbPar

const CbmTrdParModGas* CbmTrdModuleAbstract::fChmbPar
protectedinherited

detection description (HV, drift) of module

Definition at line 85 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleSimT::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 97 of file CbmTrdModuleSim.h.

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

◆ fDigiPar

◆ fDigitizer

CbmTrdDigitizer* CbmTrdModuleSim::fDigitizer
protected

Definition at line 91 of file CbmTrdModuleSim.h.

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

◆ fEventId

◆ fGainPar

const CbmTrdParModGain* CbmTrdModuleAbstract::fGainPar
protectedinherited

Analog to digital conversion for module.

Definition at line 89 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::SetGainPar().

◆ fGeoPar

◆ fInputId

Int_t CbmTrdModuleSim::fInputId
protected

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId
protectedinherited

◆ fModAddress

◆ fPointId

◆ fRadiator

CbmTrdRadiator* CbmTrdModuleSim::fRadiator
protected

Pointer to digitizer.

TR description for radiator

Definition at line 94 of file CbmTrdModuleSim.h.

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

◆ fRotation

UChar_t CbmTrdModuleAbstract::fRotation
protectedinherited

rotation angle for current module

Definition at line 80 of file CbmTrdModuleAbstract.h.

◆ fXYZ

Double_t CbmTrdModuleSim::fXYZ[3]
protected

MC position of the point in module coordinates.

Definition at line 90 of file CbmTrdModuleSim.h.

Referenced by CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSim(), and SetPositionMC().


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