CbmRoot
CbmTrdModuleSimR Class Reference

Simulation module implementation for rectangular pad geometry. More...

#include <CbmTrdModuleSimR.h>

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

Public Types

enum  CbmTrdModuleSimDef { kTime = 0, kNoise, kWeightDistance }
 

Public Member Functions

 CbmTrdModuleSimR (Int_t mod, Int_t ly, Int_t rot)
 
virtual ~CbmTrdModuleSimR ()
 
void GetCounters (Int_t &nEl, Int_t &nLattice, Int_t &nOverThr) const
 
Int_t FlushBuffer (ULong64_t time=0)
 Flush local digi buffer. More...
 
Bool_t MakeDigi (CbmTrdPoint *p, Double_t time, Bool_t TR)
 Steering routine for converting MC point to digits. More...
 
Bool_t MakeRaw ()
 Steering routine for converting MC point to raw format. More...
 
void SetAsicPar (CbmTrdParSetAsic *p=NULL)
 
void SetNCluster (Int_t nCluster)
 
void SetNoiseLevel (Double_t sigma_keV)
 
void SetDistributionPoints (Int_t points)
 
void SetSpadicResponse (Double_t calibration, Double_t tau)
 
void SetPulsePars (Int_t mode)
 
void SetPulseMode (Bool_t pulsed)
 
void SetRadiator (CbmTrdRadiator *radiator)
 
void SetGamma (Double_t gamma)
 
void SetTriggerThreshold (Double_t minCharge)
 
void SetPadPlaneScanArea (Int_t row)
 
void ResetCounters ()
 
void SetMessageConverter (CbmTrdRawToDigiR *conv)
 
void GetModuleType (CbmTrdRawToDigiR *conv)
 
void SetQA (CbmTrdCheckUtil *qa)
 
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 SetPositionMC (Double_t pos[3])
 
virtual void SetLinkId (Int_t input, Int_t event=-1, Int_t point=-1)
 
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 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

CbmTrdModuleSimRoperator= (const CbmTrdModuleSimR &)
 
 CbmTrdModuleSimR (const CbmTrdModuleSimR &)
 
void AddDigitoPulseBuffer (Int_t address, Double_t reldrift, Double_t charge, Double_t chargeTR, Double_t time, Int_t trigger, Int_t epoints, Int_t ipoint)
 
std::vector< Double_t > MakePulse (Double_t charge, std::vector< Double_t > pulse, Int_t address)
 
void AddToPulse (Int_t address, Double_t charge, Double_t reldrift, std::vector< Double_t > pulse)
 
Bool_t CheckMulti (Int_t address, std::vector< Double_t > pulse)
 
Int_t CheckTrigger (std::vector< Double_t > pulse)
 
Double_t CalcResponse (Double_t t)
 
void ProcessPulseBuffer (Int_t address, Bool_t FNcall, Bool_t MultiCall, Bool_t down, Bool_t up)
 
Int_t GetMultiBin (std::vector< Double_t > pulse)
 
void AddDigi (Int_t address, Double_t charge, Double_t chargeTR, Double_t time, Int_t trigger)
 
void AddDigitoBuffer (Int_t address, Double_t charge, Double_t chargeTR, Double_t time, Int_t trigger)
 
void ProcessBuffer (Int_t address)
 
void CheckBuffer (Bool_t EB)
 
void CleanUp (Bool_t EB)
 
Bool_t DistributeCharge (Double_t pointin[3], Double_t pointout[3], Double_t delta[3], Double_t pos[3], Int_t ipoints)
 
Double_t AddDrifttime (Double_t x, Double_t z)
 
Double_t AddDrifttime (Int_t x)
 
Double_t AddNoise (Double_t charge)
 
Double_t GetStep (Double_t dist, Int_t roll)
 
std::pair< Int_t, std::vector< Double_t > > GetTotalSteps (Double_t In[3], Double_t Out[3], Double_t dist)
 
Int_t AddNoiseADC ()
 
Int_t AddCrosstalk (Double_t address, Int_t i, Int_t sec, Int_t row, Int_t col, Int_t ncols)
 
Double_t CalcPRF (Double_t x, Double_t W, Double_t h)
 
void CheckTime (Int_t address)
 
void NoiseTime (ULong64_t eventTime)
 
void SetDist (Int_t dist)
 
std::vector< Double_t > AddCorrelatedNoise (std::vector< Double_t > pulse)
 
void ScanPadPlane (const Double_t *local_point, Double_t reldrift, Double_t clusterELoss, Double_t clusterELossTR, Int_t epoints, Int_t ipoint)
 

Private Attributes

Double_t fCalibration
 
Double_t fEReco
 
Double_t fTau = 120.0
 
Double_t fTriggerSlope = 12.0
 
Int_t fRecoMode = 2
 
Double_t fSigma_noise_keV
 
Double_t fMinimumChargeTH
 
Double_t fCurrentTime
 
Double_t fAddress
 
Double_t fLastEventTime
 
Double_t fEventTime
 
Double_t fLastTime
 
Double_t fCollectTime
 
Int_t fnClusterConst
 
Int_t fnScanRowConst
 
Bool_t fPulseSwitch
 
Bool_t fPrintPulse
 
Bool_t fTimeShift
 
Bool_t fAddCrosstalk
 
Bool_t fClipping
 
Int_t fepoints
 
Int_t fAdcNoise
 
Int_t fDistributionMode
 
Double_t fCrosstalkLevel
 
Int_t fLastPoint = 0
 
Int_t fLastEvent = 0
 
Int_t frecostart = 2
 
Int_t frecostop = 5
 
Int_t fClipLevel = 500
 
Int_t fPresamples = 2
 
Int_t fShapingOrder = 1
 
Int_t fMaxBin = 2 + fPresamples
 
Int_t fMinBin = 0 + fPresamples
 
Double_t fGamma = 0.
 
Double_t fMinDrift = 12.5
 
CbmTimeSlicefTimeSlice = NULL
 link to CBM time slice More...
 
Int_t nofElectrons
 
Int_t nofLatticeHits
 
Int_t nofPointsAboveThreshold
 
Double_t fDriftStart = 0
 
std::map< Int_t, std::vector< std::pair< CbmTrdDigi *, CbmMatch * > > > fAnalogBuffer
 
std::map< Int_t, std::pair< std::vector< Double_t >, CbmMatch * > > fPulseBuffer
 
std::map< Int_t, std::pair< Double_t, Int_t > > fMultiBuffer
 
std::map< Int_t, Double_t > fTimeBuffer
 
std::map< Int_t, Double_t > fShiftQA
 
std::map< Int_t, std::vector< std::map< TString, Int_t > > > fLinkQA
 
std::map< Int_t, Double_t > fMCQA
 
std::map< Int_t, std::vector< std::vector< Int_t > > > fMCBuffer
 
Float_t fQAPosition [3] = {0., 0., 0.}
 
Float_t fQAPos_out [3] = {0., 0., 0.}
 
CbmTrdRawToDigiRfMessageConverter = NULL
 
TH2D * fDriftTime = NULL
 
CbmTrdCheckUtilfQA = NULL
 
Bool_t fDebug = false
 

Detailed Description

Simulation module implementation for rectangular pad geometry.

Definition at line 19 of file CbmTrdModuleSimR.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

◆ CbmTrdModuleSimR() [1/2]

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

◆ ~CbmTrdModuleSimR()

virtual CbmTrdModuleSimR::~CbmTrdModuleSimR ( )
inlinevirtual

Definition at line 22 of file CbmTrdModuleSimR.h.

◆ CbmTrdModuleSimR() [2/2]

CbmTrdModuleSimR::CbmTrdModuleSimR ( const CbmTrdModuleSimR )
private

Member Function Documentation

◆ AddCorrelatedNoise()

std::vector< Double_t > CbmTrdModuleSimR::AddCorrelatedNoise ( std::vector< Double_t >  pulse)
private

Definition at line 2148 of file CbmTrdModuleSimR.cxx.

Referenced by MakePulse().

◆ AddCrosstalk()

Int_t CbmTrdModuleSimR::AddCrosstalk ( Double_t  address,
Int_t  i,
Int_t  sec,
Int_t  row,
Int_t  col,
Int_t  ncols 
)
private

◆ AddDigi()

◆ AddDigitoBuffer()

◆ AddDigitoPulseBuffer()

void CbmTrdModuleSimR::AddDigitoPulseBuffer ( Int_t  address,
Double_t  reldrift,
Double_t  charge,
Double_t  chargeTR,
Double_t  time,
Int_t  trigger,
Int_t  epoints,
Int_t  ipoint 
)
private

◆ AddDrifttime() [1/2]

Double_t CbmTrdModuleSimR::AddDrifttime ( Double_t  x,
Double_t  z 
)
private

Definition at line 2359 of file CbmTrdModuleSimR.cxx.

References CbmTrdCheckUtil::CreateHist(), fDebug, fDriftTime, CbmTrdCheckUtil::Fill(), fQA, and x.

Referenced by MakeDigi().

◆ AddDrifttime() [2/2]

Double_t CbmTrdModuleSimR::AddDrifttime ( Int_t  x)
private

Definition at line 2370 of file CbmTrdModuleSimR.cxx.

References x.

◆ AddNoise()

Double_t CbmTrdModuleSimR::AddNoise ( Double_t  charge)
private

Definition at line 2120 of file CbmTrdModuleSimR.cxx.

References CbmTrdDigitizer::AddNoise(), fPulseSwitch, and fSigma_noise_keV.

Referenced by AddDigi(), and AddDigitoBuffer().

◆ AddNoiseADC()

Int_t CbmTrdModuleSimR::AddNoiseADC ( )
private

Definition at line 2135 of file CbmTrdModuleSimR.cxx.

References CbmTrdDigitizer::AddNoise(), fAdcNoise, and fPulseSwitch.

Referenced by ProcessPulseBuffer().

◆ AddToPulse()

void CbmTrdModuleSimR::AddToPulse ( Int_t  address,
Double_t  charge,
Double_t  reldrift,
std::vector< Double_t >  pulse 
)
private

◆ CalcPRF()

Double_t CbmTrdModuleSimR::CalcPRF ( Double_t  x,
Double_t  W,
Double_t  h 
)
private

Definition at line 1185 of file CbmTrdModuleSimR.cxx.

References fabs(), xMath::Pi(), sqrt(), and x.

Referenced by ScanPadPlane().

◆ CalcResponse()

Double_t CbmTrdModuleSimR::CalcResponse ( Double_t  t)
private

Definition at line 1198 of file CbmTrdModuleSimR.cxx.

References fShapingOrder, and fTau.

Referenced by AddToPulse(), CheckMulti(), MakePulse(), and SetSpadicResponse().

◆ CheckBuffer()

void CbmTrdModuleSimR::CheckBuffer ( Bool_t  EB = false)
private

◆ CheckMulti()

◆ CheckTime()

void CbmTrdModuleSimR::CheckTime ( Int_t  address)
private

◆ CheckTrigger()

Int_t CbmTrdModuleSimR::CheckTrigger ( std::vector< Double_t >  pulse)
private

Definition at line 1145 of file CbmTrdModuleSimR.cxx.

References fMaxBin, fTriggerSlope, and i.

Referenced by AddToPulse(), CheckBuffer(), CheckMulti(), FlushBuffer(), and ProcessPulseBuffer().

◆ CleanUp()

void CbmTrdModuleSimR::CleanUp ( Bool_t  EB = false)
private

◆ DistributeCharge()

Bool_t CbmTrdModuleSimR::DistributeCharge ( Double_t  pointin[3],
Double_t  pointout[3],
Double_t  delta[3],
Double_t  pos[3],
Int_t  ipoints 
)
private

◆ FlushBuffer()

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

Flush local digi buffer.

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

Implements CbmTrdModuleSim.

Definition at line 2244 of file CbmTrdModuleSimR.cxx.

References CheckTrigger(), fMCBuffer, fMultiBuffer, fPrintPulse, fPulseBuffer, fPulseSwitch, fTimeBuffer, fTimeSlice, CbmTimeSlice::GetEndTime(), ProcessBuffer(), and ProcessPulseBuffer().

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

void CbmTrdModuleSimR::GetCounters ( Int_t &  nEl,
Int_t &  nLattice,
Int_t &  nOverThr 
) const
inlinevirtual

Reimplemented from CbmTrdModuleSim.

Definition at line 23 of file CbmTrdModuleSimR.h.

References nofElectrons, nofLatticeHits, and nofPointsAboveThreshold.

◆ GetDigiMap()

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

Definition at line 41 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::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 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 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
inlinevirtualinherited

Definition at line 44 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fEventId.

◆ GetInputId()

virtual Int_t CbmTrdModuleSim::GetInputId ( ) const
inlinevirtualinherited

Definition at line 45 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fInputId.

◆ GetModuleType()

void CbmTrdModuleSimR::GetModuleType ( CbmTrdRawToDigiR conv)
inline

Definition at line 50 of file CbmTrdModuleSimR.h.

References fMessageConverter.

◆ GetMultiBin()

Int_t CbmTrdModuleSimR::GetMultiBin ( std::vector< Double_t >  pulse)
private

Definition at line 1166 of file CbmTrdModuleSimR.cxx.

References fMaxBin, fTriggerSlope, and i.

Referenced by CheckMulti().

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

Definition at line 46 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fPointId.

◆ GetStep()

Double_t CbmTrdModuleSimR::GetStep ( Double_t  dist,
Int_t  roll 
)
private

Definition at line 2416 of file CbmTrdModuleSimR.cxx.

References fGamma, first, and i.

Referenced by DistributeCharge().

◆ GetTotalSteps()

std::pair< Int_t, std::vector< Double_t > > CbmTrdModuleSimR::GetTotalSteps ( Double_t  In[3],
Double_t  Out[3],
Double_t  dist 
)
private

◆ LocalToMaster()

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

◆ MakeDigi()

Bool_t CbmTrdModuleSimR::MakeDigi ( CbmTrdPoint p,
Double_t  time,
Bool_t  TR 
)
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

Implements CbmTrdModuleSim.

Definition at line 1263 of file CbmTrdModuleSimR.cxx.

References AddDrifttime(), CbmTrdDigitizer::AddNoise(), CbmTrdCheckUtil::CreateHist(), DistributeCharge(), fabs(), fCalibration, fCurrentTime, fDebug, CbmTrdModuleAbstract::fDigiPar, fDistributionMode, fDriftStart, fepoints, CbmTrdModuleSim::fEventId, fEventTime, CbmTrdCheckUtil::Fill(), fLastEvent, fLastEventTime, fLastPoint, fLastTime, fMaxBin, fMessageConverter, fMinBin, fMinimumChargeTH, fnClusterConst, CbmTrdModuleSim::fPointId, fPresamples, fPrintPulse, fPulseSwitch, fQA, fQAPos_out, fQAPosition, CbmTrdModuleSim::fRadiator, frecostart, frecostop, fShapingOrder, fTau, CbmTrdParModDigi::GetAnodeWireSpacing(), CbmTrdModuleAbstract::GetPath(), CbmTrdRawToDigiR::GetSetter(), CbmTrdParModDigi::GetSizeX(), CbmTrdParModDigi::GetSizeY(), GetTotalSteps(), CbmTrdRadiator::GetTR(), CbmTrdPoint::GetXIn(), CbmTrdPoint::GetXOut(), CbmTrdPoint::GetYIn(), CbmTrdPoint::GetYOut(), CbmTrdPoint::GetZIn(), CbmTrdPoint::GetZOut(), i, CbmTrdRawToDigiR::Init(), CbmTrdRadiator::LatticeHit(), nofElectrons, nofLatticeHits, nofPointsAboveThreshold, NoiseTime(), CbmTrdParModDigi::ProjectPositionToNextAnodeWire(), ScanPadPlane(), CbmTrdRawToDigiR::SetCalibration(), CbmTrdRawToDigiR::SetMaxBin(), CbmTrdRawToDigiR::SetMinBin(), CbmTrdModuleSim::SetPositionMC(), CbmTrdRawToDigiR::SetPresamples(), CbmTrdRawToDigiR::SetQA(), CbmTrdRawToDigiR::SetReadFile(), CbmTrdRawToDigiR::SetRecoMask(), CbmTrdRawToDigiR::SetSetter(), CbmTrdRawToDigiR::SetShapingOrder(), and CbmTrdRawToDigiR::SetTau().

◆ MakePulse()

std::vector< Double_t > CbmTrdModuleSimR::MakePulse ( Double_t  charge,
std::vector< Double_t >  pulse,
Int_t  address 
)
private

◆ MakeRaw()

Bool_t CbmTrdModuleSimR::MakeRaw ( )
inlinevirtual

Steering routine for converting MC point to raw format.

Implements CbmTrdModuleSim.

Definition at line 30 of file CbmTrdModuleSimR.h.

◆ NoiseTime()

void CbmTrdModuleSimR::NoiseTime ( ULong64_t  eventTime)
private

Definition at line 2354 of file CbmTrdModuleSimR.cxx.

References fCurrentTime, and fLastEventTime.

Referenced by MakeDigi().

◆ operator=()

CbmTrdModuleSimR& CbmTrdModuleSimR::operator= ( const CbmTrdModuleSimR )
private

◆ ProcessBuffer()

void CbmTrdModuleSimR::ProcessBuffer ( Int_t  address)
private

◆ ProcessPulseBuffer()

◆ ResetCounters()

void CbmTrdModuleSimR::ResetCounters ( )
inlinevirtual

Reimplemented from CbmTrdModuleSim.

Definition at line 44 of file CbmTrdModuleSimR.h.

References nofElectrons, nofLatticeHits, and nofPointsAboveThreshold.

◆ ScanPadPlane()

◆ SetAsicPar()

◆ SetChmbPar()

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

◆ SetDigiPar()

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

◆ SetDigitizer()

void CbmTrdModuleSim::SetDigitizer ( CbmTrdDigitizer digitizer)
inlineinherited

Definition at line 67 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fDigitizer.

◆ SetDist()

void CbmTrdModuleSimR::SetDist ( Int_t  dist)
inlineprivate

Definition at line 123 of file CbmTrdModuleSimR.h.

References fDistributionMode.

◆ SetDistributionPoints()

void CbmTrdModuleSimR::SetDistributionPoints ( Int_t  points)

Definition at line 2074 of file CbmTrdModuleSimR.cxx.

References fepoints, and points.

◆ SetEventId()

virtual void CbmTrdModuleSim::SetEventId ( Int_t  id)
inlinevirtualinherited

Definition at line 68 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fEventId.

◆ SetGainPar()

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

◆ SetGamma()

void CbmTrdModuleSimR::SetGamma ( Double_t  gamma)
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 41 of file CbmTrdModuleSimR.h.

References fGamma.

◆ SetGeoPar()

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

◆ SetInputId()

virtual void CbmTrdModuleSim::SetInputId ( Int_t  id)
inlinevirtualinherited

Definition at line 69 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fInputId.

◆ SetLinkId()

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

◆ SetMessageConverter()

void CbmTrdModuleSimR::SetMessageConverter ( CbmTrdRawToDigiR conv)
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 49 of file CbmTrdModuleSimR.h.

References fMessageConverter.

◆ SetNCluster()

void CbmTrdModuleSimR::SetNCluster ( Int_t  nCluster)
inline

Definition at line 34 of file CbmTrdModuleSimR.h.

References fnClusterConst.

◆ SetNoiseLevel()

void CbmTrdModuleSimR::SetNoiseLevel ( Double_t  sigma_keV)

Definition at line 2069 of file CbmTrdModuleSimR.cxx.

References fSigma_noise_keV.

◆ SetPadPlaneScanArea()

void CbmTrdModuleSimR::SetPadPlaneScanArea ( Int_t  row)

Definition at line 2113 of file CbmTrdModuleSimR.cxx.

References fnScanRowConst.

◆ SetPointId()

virtual void CbmTrdModuleSim::SetPointId ( Int_t  id)
inlinevirtualinherited

Definition at line 70 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fPointId.

◆ SetPositionMC()

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

Definition at line 73 of file CbmTrdModuleSim.h.

References CbmTrdModuleSim::fXYZ, and pos.

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

◆ SetPulseMode()

void CbmTrdModuleSimR::SetPulseMode ( Bool_t  pulsed = true)

Definition at line 2106 of file CbmTrdModuleSimR.cxx.

References fPulseSwitch.

◆ SetPulsePars()

void CbmTrdModuleSimR::SetPulsePars ( Int_t  mode)

Definition at line 2092 of file CbmTrdModuleSimR.cxx.

References frecostart, and frecostop.

Referenced by CbmTrdModuleSimR().

◆ SetQA()

void CbmTrdModuleSimR::SetQA ( CbmTrdCheckUtil qa)
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 51 of file CbmTrdModuleSimR.h.

References fQA.

◆ SetRadiator()

void CbmTrdModuleSimR::SetRadiator ( CbmTrdRadiator radiator)
inlinevirtual

Implements CbmTrdModuleSim.

Definition at line 40 of file CbmTrdModuleSimR.h.

References CbmTrdModuleSim::fRadiator.

◆ SetSpadicResponse()

void CbmTrdModuleSimR::SetSpadicResponse ( Double_t  calibration,
Double_t  tau 
)

◆ SetTriggerThreshold()

void CbmTrdModuleSimR::SetTriggerThreshold ( Double_t  minCharge)
inline

Definition at line 42 of file CbmTrdModuleSimR.h.

References fMinimumChargeTH.

Member Data Documentation

◆ fAdcNoise

Int_t CbmTrdModuleSimR::fAdcNoise
private

Definition at line 163 of file CbmTrdModuleSimR.h.

Referenced by AddNoiseADC().

◆ fAddCrosstalk

Bool_t CbmTrdModuleSimR::fAddCrosstalk
private

Definition at line 159 of file CbmTrdModuleSimR.h.

Referenced by AddCrosstalk().

◆ fAddress

Double_t CbmTrdModuleSimR::fAddress
private

Definition at line 148 of file CbmTrdModuleSimR.h.

◆ fAnalogBuffer

std::map<Int_t, std::vector<std::pair<CbmTrdDigi*, CbmMatch*> > > CbmTrdModuleSimR::fAnalogBuffer
private

Definition at line 189 of file CbmTrdModuleSimR.h.

Referenced by AddDigitoBuffer(), and ProcessBuffer().

◆ fAsicPar

CbmTrdParSetAsic* CbmTrdModuleAbstract::fAsicPar
protectedinherited

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

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

◆ fCalibration

Double_t CbmTrdModuleSimR::fCalibration
private
Initial value:
=
35. / 1.1107 / 0.8 * 1.5

Definition at line 136 of file CbmTrdModuleSimR.h.

Referenced by AddToPulse(), CbmTrdModuleSimR(), CheckMulti(), MakeDigi(), MakePulse(), and SetSpadicResponse().

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

◆ fClipLevel

Int_t CbmTrdModuleSimR::fClipLevel = 500
private

Definition at line 172 of file CbmTrdModuleSimR.h.

Referenced by AddToPulse(), CheckMulti(), MakePulse(), and ProcessPulseBuffer().

◆ fClipping

Bool_t CbmTrdModuleSimR::fClipping
private

Definition at line 160 of file CbmTrdModuleSimR.h.

Referenced by AddToPulse(), CheckMulti(), and MakePulse().

◆ fCollectTime

Double_t CbmTrdModuleSimR::fCollectTime
private

Definition at line 152 of file CbmTrdModuleSimR.h.

Referenced by CbmTrdModuleSimR(), CheckBuffer(), CheckTime(), and CleanUp().

◆ fCrosstalkLevel

Double_t CbmTrdModuleSimR::fCrosstalkLevel
private

Definition at line 165 of file CbmTrdModuleSimR.h.

Referenced by AddCrosstalk().

◆ fCurrentTime

Double_t CbmTrdModuleSimR::fCurrentTime
private

◆ fDebug

Bool_t CbmTrdModuleSimR::fDebug = false
private

◆ fDigiMap

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

Temporary storage for complete digis for each CBM address.

Definition at line 97 of file CbmTrdModuleSim.h.

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

◆ fDigiPar

◆ fDigitizer

CbmTrdDigitizer* CbmTrdModuleSim::fDigitizer
protectedinherited

◆ fDistributionMode

Int_t CbmTrdModuleSimR::fDistributionMode
private

Definition at line 164 of file CbmTrdModuleSimR.h.

Referenced by DistributeCharge(), MakeDigi(), and SetDist().

◆ fDriftStart

Double_t CbmTrdModuleSimR::fDriftStart = 0
private

Definition at line 187 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi().

◆ fDriftTime

TH2D* CbmTrdModuleSimR::fDriftTime = NULL
private

Definition at line 201 of file CbmTrdModuleSimR.h.

Referenced by AddDrifttime(), and CbmTrdModuleSimR().

◆ fepoints

Int_t CbmTrdModuleSimR::fepoints
private

◆ fEReco

Double_t CbmTrdModuleSimR::fEReco
private
Initial value:
=
0.

Definition at line 138 of file CbmTrdModuleSimR.h.

Referenced by SetSpadicResponse().

◆ fEventId

Int_t CbmTrdModuleSim::fEventId
protectedinherited

◆ fEventTime

Double_t CbmTrdModuleSimR::fEventTime
private

Definition at line 150 of file CbmTrdModuleSimR.h.

Referenced by AddDigitoPulseBuffer(), CheckMulti(), and MakeDigi().

◆ fGainPar

const CbmTrdParModGain* CbmTrdModuleAbstract::fGainPar
protectedinherited

Analog to digital conversion for module.

Definition at line 89 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::SetGainPar().

◆ fGamma

Double_t CbmTrdModuleSimR::fGamma = 0.
private

Definition at line 177 of file CbmTrdModuleSimR.h.

Referenced by GetStep(), GetTotalSteps(), and SetGamma().

◆ fGeoPar

◆ fInputId

Int_t CbmTrdModuleSim::fInputId
protectedinherited

◆ fLastEvent

Int_t CbmTrdModuleSimR::fLastEvent = 0
private

Definition at line 168 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi().

◆ fLastEventTime

Double_t CbmTrdModuleSimR::fLastEventTime
private

Definition at line 149 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi(), and NoiseTime().

◆ fLastPoint

Int_t CbmTrdModuleSimR::fLastPoint = 0
private

Definition at line 167 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi().

◆ fLastTime

Double_t CbmTrdModuleSimR::fLastTime
private

Definition at line 151 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi().

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId
protectedinherited

layer identifier

Definition at line 79 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleSimT::FlushBuffer(), ScanPadPlane(), and SetAsicPar().

◆ fLinkQA

std::map<Int_t, std::vector<std::map<TString, Int_t> > > CbmTrdModuleSimR::fLinkQA
private

Definition at line 194 of file CbmTrdModuleSimR.h.

Referenced by AddDigitoPulseBuffer(), CheckMulti(), and ProcessPulseBuffer().

◆ fMaxBin

Int_t CbmTrdModuleSimR::fMaxBin = 2 + fPresamples
private

Definition at line 175 of file CbmTrdModuleSimR.h.

Referenced by CheckTrigger(), GetMultiBin(), MakeDigi(), and ProcessPulseBuffer().

◆ fMCBuffer

std::map<Int_t, std::vector<std::vector<Int_t> > > CbmTrdModuleSimR::fMCBuffer
private

Definition at line 196 of file CbmTrdModuleSimR.h.

Referenced by AddDigitoPulseBuffer(), CheckMulti(), CleanUp(), and FlushBuffer().

◆ fMCQA

std::map<Int_t, Double_t> CbmTrdModuleSimR::fMCQA
private

Definition at line 195 of file CbmTrdModuleSimR.h.

Referenced by AddToPulse(), MakePulse(), and ProcessPulseBuffer().

◆ fMessageConverter

CbmTrdRawToDigiR* CbmTrdModuleSimR::fMessageConverter = NULL
private

◆ fMinBin

Int_t CbmTrdModuleSimR::fMinBin = 0 + fPresamples
private

Definition at line 176 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi(), and ProcessPulseBuffer().

◆ fMinDrift

Double_t CbmTrdModuleSimR::fMinDrift = 12.5
private

Definition at line 178 of file CbmTrdModuleSimR.h.

Referenced by ProcessPulseBuffer().

◆ fMinimumChargeTH

Double_t CbmTrdModuleSimR::fMinimumChargeTH
private

Definition at line 146 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi(), ScanPadPlane(), and SetTriggerThreshold().

◆ fModAddress

◆ fMultiBuffer

std::map<Int_t, std::pair<Double_t, Int_t> > CbmTrdModuleSimR::fMultiBuffer
private

◆ fnClusterConst

Int_t CbmTrdModuleSimR::fnClusterConst
private

Definition at line 153 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi(), and SetNCluster().

◆ fnScanRowConst

Int_t CbmTrdModuleSimR::fnScanRowConst
private

Definition at line 154 of file CbmTrdModuleSimR.h.

Referenced by ScanPadPlane(), and SetPadPlaneScanArea().

◆ fPointId

Int_t CbmTrdModuleSim::fPointId
protectedinherited

◆ fPresamples

Int_t CbmTrdModuleSimR::fPresamples = 2
private

Definition at line 173 of file CbmTrdModuleSimR.h.

Referenced by AddToPulse(), CheckMulti(), MakeDigi(), and MakePulse().

◆ fPrintPulse

Bool_t CbmTrdModuleSimR::fPrintPulse
private

Definition at line 157 of file CbmTrdModuleSimR.h.

Referenced by CheckBuffer(), CheckTime(), FlushBuffer(), MakeDigi(), and ProcessPulseBuffer().

◆ fPulseBuffer

std::map<Int_t, std::pair<std::vector<Double_t>, CbmMatch*> > CbmTrdModuleSimR::fPulseBuffer
private

◆ fPulseSwitch

Bool_t CbmTrdModuleSimR::fPulseSwitch
private

◆ fQA

CbmTrdCheckUtil* CbmTrdModuleSimR::fQA = NULL
private

◆ fQAPos_out

Float_t CbmTrdModuleSimR::fQAPos_out[3] = {0., 0., 0.}
private

Definition at line 198 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi().

◆ fQAPosition

Float_t CbmTrdModuleSimR::fQAPosition[3] = {0., 0., 0.}
private

Definition at line 197 of file CbmTrdModuleSimR.h.

Referenced by AddDigitoPulseBuffer(), and MakeDigi().

◆ fRadiator

CbmTrdRadiator* CbmTrdModuleSim::fRadiator
protectedinherited

Pointer to digitizer.

TR description for radiator

Definition at line 94 of file CbmTrdModuleSim.h.

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

◆ fRecoMode

Int_t CbmTrdModuleSimR::fRecoMode = 2
private

Definition at line 142 of file CbmTrdModuleSimR.h.

Referenced by CbmTrdModuleSimR().

◆ frecostart

Int_t CbmTrdModuleSimR::frecostart = 2
private

Definition at line 169 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi(), SetPulsePars(), and SetSpadicResponse().

◆ frecostop

Int_t CbmTrdModuleSimR::frecostop = 5
private

Definition at line 170 of file CbmTrdModuleSimR.h.

Referenced by MakeDigi(), SetPulsePars(), and SetSpadicResponse().

◆ fRotation

UChar_t CbmTrdModuleAbstract::fRotation
protectedinherited

rotation angle for current module

Definition at line 80 of file CbmTrdModuleAbstract.h.

◆ fShapingOrder

Int_t CbmTrdModuleSimR::fShapingOrder = 1
private

Definition at line 174 of file CbmTrdModuleSimR.h.

Referenced by CalcResponse(), and MakeDigi().

◆ fShiftQA

std::map<Int_t, Double_t> CbmTrdModuleSimR::fShiftQA
private

Definition at line 193 of file CbmTrdModuleSimR.h.

Referenced by MakePulse(), and ProcessPulseBuffer().

◆ fSigma_noise_keV

Double_t CbmTrdModuleSimR::fSigma_noise_keV
private

Definition at line 145 of file CbmTrdModuleSimR.h.

Referenced by AddNoise(), and SetNoiseLevel().

◆ fTau

Double_t CbmTrdModuleSimR::fTau = 120.0
private

Definition at line 140 of file CbmTrdModuleSimR.h.

Referenced by CalcResponse(), CbmTrdModuleSimR(), MakeDigi(), and SetSpadicResponse().

◆ fTimeBuffer

std::map<Int_t, Double_t> CbmTrdModuleSimR::fTimeBuffer
private

◆ fTimeShift

Bool_t CbmTrdModuleSimR::fTimeShift
private

Definition at line 158 of file CbmTrdModuleSimR.h.

Referenced by AddToPulse(), CheckMulti(), and MakePulse().

◆ fTimeSlice

CbmTimeSlice* CbmTrdModuleSimR::fTimeSlice = NULL
private

link to CBM time slice

Definition at line 179 of file CbmTrdModuleSimR.h.

Referenced by CbmTrdModuleSimR(), CleanUp(), FlushBuffer(), and ProcessPulseBuffer().

◆ fTriggerSlope

Double_t CbmTrdModuleSimR::fTriggerSlope = 12.0
private

Definition at line 141 of file CbmTrdModuleSimR.h.

Referenced by CheckTrigger(), and GetMultiBin().

◆ fXYZ

Double_t CbmTrdModuleSim::fXYZ[3]
protectedinherited

MC position of the point in module coordinates.

Definition at line 90 of file CbmTrdModuleSim.h.

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

◆ nofElectrons

Int_t CbmTrdModuleSimR::nofElectrons
private

Definition at line 183 of file CbmTrdModuleSimR.h.

Referenced by GetCounters(), MakeDigi(), and ResetCounters().

◆ nofLatticeHits

Int_t CbmTrdModuleSimR::nofLatticeHits
private

Definition at line 184 of file CbmTrdModuleSimR.h.

Referenced by GetCounters(), MakeDigi(), and ResetCounters().

◆ nofPointsAboveThreshold

Int_t CbmTrdModuleSimR::nofPointsAboveThreshold
private

Definition at line 185 of file CbmTrdModuleSimR.h.

Referenced by GetCounters(), MakeDigi(), and ResetCounters().


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