|
CbmRoot
|
Abstract class for module wise digitization and raw format producing. More...
#include <CbmTrdModuleSim.h>
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. | |
| CbmTrdDigitizer * | fDigitizer |
| std::shared_ptr< CbmTrdRadiator > | fRadiator = 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 CbmTrdParModDigi * | fDigiPar = nullptr |
| read-out description of module | |
| const CbmTrdParModGas * | fChmbPar = nullptr |
| detection description (HV, drift) of module | |
| CbmTrdParModAsic * | fAsicPar = nullptr |
| the set of ASIC operating on the module (owned) | |
| const CbmTrdParModGain * | fGainPar = nullptr |
| Analog to digital conversion for module. | |
| const CbmTrdParModGeo * | fGeoPar = nullptr |
| link to gGeometry for module | |
Private Member Functions | |
| CbmTrdModuleSim (const CbmTrdModuleSim &ref) | |
| const CbmTrdModuleSim & | operator= (const CbmTrdModuleSim &ref) |
Abstract class for module wise digitization and raw format producing.
Definition at line 24 of file CbmTrdModuleSim.h.
| 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.
| CbmTrdModuleSim::CbmTrdModuleSim | ( | ) |
Default constructor.
Definition at line 17 of file CbmTrdModuleSim.cxx.
References CbmTrdModuleAbstract::CbmTrdModuleAbstract(), fBuffer, fDigiMap, fDigitizer, fEventId, fInputId, fPointId, fRadiator, and fXYZ.
Referenced by CbmTrdModuleSim(), CbmTrdModuleSim2D::CbmTrdModuleSim2D(), CbmTrdModuleSimR::CbmTrdModuleSimR(), and operator=().
Constructor with placement.
Definition at line 31 of file CbmTrdModuleSim.cxx.
References CbmTrdModuleAbstract::CbmTrdModuleAbstract(), fBuffer, fDigiMap, fDigitizer, fEventId, fInputId, fPointId, fRadiator, and fXYZ.
|
virtual |
Definition at line 45 of file CbmTrdModuleSim.cxx.
|
private |
References CbmTrdModuleSim().
|
pure virtual |
Flush local digi buffer.
| time | Time limit to dump digits. If 0 all (used also in EbyE mode) |
Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
Addressing ASIC on module based on id.
| [in] | id | module wise ASIC identifier |
Definition at line 59 of file CbmTrdModuleAbstract.h.
References fModAddress.
|
inlinevirtual |
Reimplemented in CbmTrdModuleSimR.
Definition at line 43 of file CbmTrdModuleSim.h.
|
inlinevirtual |
Definition at line 49 of file CbmTrdModuleSim.h.
References fDigiMap.
|
inlinevirtualinherited |
Shortcut getter size x/2 [cm].
Definition at line 44 of file CbmTrdModuleAbstract.h.
References fGeoPar.
Referenced by CbmTrdModuleSimR::SetAsicPar().
|
inlinevirtualinherited |
Shortcut getter size y/2 [cm].
Definition at line 46 of file CbmTrdModuleAbstract.h.
References fGeoPar.
Referenced by CbmTrdModuleSimR::SetAsicPar().
|
inlinevirtualinherited |
Shortcut getter size z/2 [cm].
Definition at line 48 of file CbmTrdModuleAbstract.h.
References fGeoPar.
|
inlinevirtual |
Definition at line 50 of file CbmTrdModuleSim.h.
References fEventId.
|
inlinevirtual |
Definition at line 51 of file CbmTrdModuleSim.h.
References fInputId.
|
inlinevirtualinherited |
Shortcut getter ASICs number module wise.
Definition at line 50 of file CbmTrdModuleAbstract.h.
References fAsicPar.
|
inlinevirtualinherited |
Shortcut getter column size.
Definition at line 52 of file CbmTrdModuleAbstract.h.
References fDigiPar.
Referenced by CbmTrdModuleRec2D::AddClusterEdges(), GetPadAddress(), GetPadRowCol(), and CbmTrdModuleRec2D::RecenterXoffset().
|
inlinevirtualinherited |
Shortcut getter row wise.
Definition at line 54 of file CbmTrdModuleAbstract.h.
References fDigiPar.
Addressing read-out pads on module based on (row,col)
| [in] | r | global row id (not sector wise) |
| [in] | c | global column id |
Definition at line 65 of file CbmTrdModuleAbstract.h.
References GetNcols().
Referenced by CbmTrdModuleSim2D::ScanPadPlane().
Addressing read-out pads based on module address.
| [in] | address | pad address within module |
| [in] | c | on return global column id |
Definition at line 107 of file CbmTrdModuleAbstract.h.
References fDigiPar, and GetNcols().
Referenced by CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleRec2D::CheckMerge(), CbmTrdModuleSim2D::FlushBuffer(), CbmTrdModuleRec2D::LoadDigis(), CbmTrdModuleRec2D::LoadDigisRC(), CbmTrdModuleRec2D::MergeDigis(), and CbmTrdModuleRec2D::ProjectDigis().
|
inlinevirtualinherited |
Definition at line 72 of file CbmTrdModuleAbstract.h.
References fGeoPar.
Referenced by CbmTrdDigitizer::AddModule(), CbmTrdModuleSim2D::MakeDigi(), and CbmTrdModuleSimR::MakeDigi().
|
inlinevirtual |
Definition at line 52 of file CbmTrdModuleSim.h.
References fPointId.
|
inherited |
Inquire the ASIC par set.
Definition at line 30 of file CbmTrdModuleAbstract.cxx.
References fAsicPar, and CbmTrdParAsic::IsChannelMasked().
|
virtualinherited |
Definition at line 39 of file CbmTrdModuleAbstract.cxx.
References fGeoPar.
Referenced by CbmTrdModuleRec2D::BuildHit(), CbmTrdModuleRecR::MakeHit(), and CbmTrdModuleRec2D::MergeHits().
|
pure virtual |
Steering routine for converting MC point to digits.
| [in] | p | MC point to be digitized |
| [in] | time | Event time [ns] |
| [in] | TR | Request TR generation on top of dEdx |
Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
Referenced by CbmTrdDigitizer::Exec().
|
pure virtual |
Steering routine for converting MC point to raw format.
Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
|
private |
References CbmTrdModuleSim().
|
inlinevirtual |
Reimplemented in CbmTrdModuleSimR.
Definition at line 86 of file CbmTrdModuleSim.h.
|
inlinevirtualinherited |
Reimplemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
Definition at line 81 of file CbmTrdModuleAbstract.h.
References fAsicPar.
|
inlinevirtualinherited |
Definition at line 82 of file CbmTrdModuleAbstract.h.
References fChmbPar.
|
inlinevirtualinherited |
Definition at line 83 of file CbmTrdModuleAbstract.h.
References fDigiPar.
|
inline |
Definition at line 72 of file CbmTrdModuleSim.h.
References fDigitizer.
|
inlinevirtual |
Definition at line 73 of file CbmTrdModuleSim.h.
References fEventId.
|
inlinevirtualinherited |
Definition at line 84 of file CbmTrdModuleAbstract.h.
References fGainPar.
|
pure virtual |
Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
Referenced by CbmTrdDigitizer::Exec().
|
inlinevirtualinherited |
Definition at line 85 of file CbmTrdModuleAbstract.h.
References fGeoPar.
|
inlinevirtual |
Definition at line 74 of file CbmTrdModuleSim.h.
References fInputId.
|
inlinevirtual |
Definition at line 80 of file CbmTrdModuleSim.h.
References fEventId, fInputId, and fPointId.
Referenced by CbmTrdDigitizer::Exec().
|
pure virtual |
Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
|
inlinevirtual |
Definition at line 75 of file CbmTrdModuleSim.h.
References fPointId.
|
inlinevirtual |
Definition at line 79 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSim2D::MakeDigi(), and CbmTrdModuleSimR::MakeDigi().
|
pure virtual |
Implemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.
|
inlinevirtual |
Set the Radiator.
| radiator | Defintion of the radiator to be used for this module |
Definition at line 77 of file CbmTrdModuleSim.h.
References fRadiator.
|
inlinevirtual |
Definition at line 89 of file CbmTrdModuleSim.h.
References fTimeSysOffset.
|
protectedinherited |
the set of ASIC operating on the module (owned)
Definition at line 95 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSim2D::FlushBuffer(), CbmTrdModuleRec2D::GetFaspChCalibrator(), GetNasics(), IsChannelMasked(), SetAsicPar(), CbmTrdModuleSim2D::SetAsicPar(), CbmTrdModuleSimR::SetAsicPar(), and ~CbmTrdModuleAbstract().
|
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(), CbmTrdModuleSim(), CbmTrdModuleSim(), CbmTrdModuleSim2D::DumpBuffer(), and CbmTrdModuleSim2D::FlushBuffer().
|
protectedinherited |
detection description (HV, drift) of module
Definition at line 94 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSim2D::MakeDigi(), and SetChmbPar().
|
protected |
Temporary storage for complete digis for each CBM address.
Definition at line 105 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSim(), CbmTrdModuleSim(), GetDigiMap(), CbmTrdModuleSimR::ProcessBuffer(), and CbmTrdModuleSimR::ProcessPulseBuffer().
|
protectedinherited |
read-out description of module
Definition at line 93 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleRec2D::BuildHit(), CbmTrdModuleSimR::CheckMulti(), CbmTrdModuleSimR::DistributeCharge(), CbmTrdModuleRecR::FindClusters(), CbmTrdModuleSim2D::FlushBuffer(), GetNcols(), GetNrows(), GetPadRowCol(), CbmTrdModuleSimR::GetTotalSteps(), CbmTrdModuleRecR::IsClusterComplete(), CbmTrdModuleRec2D::LoadDigisRC(), CbmTrdModuleSim2D::MakeDigi(), CbmTrdModuleSimR::MakeDigi(), CbmTrdModuleRecR::MakeHit(), CbmTrdModuleRec2D::MergeHits(), CbmTrdModuleRec2D::PostProcessHits(), CbmTrdModuleSimR::ProcessPulseBuffer(), CbmTrdModuleSim2D::ScanPadPlane(), CbmTrdModuleSimR::ScanPadPlane(), CbmTrdModuleSimR::SetAsicPar(), and SetDigiPar().
|
protected |
Definition at line 98 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSim(), CbmTrdModuleSim(), CbmTrdModuleSim2D::FlushBuffer(), and SetDigitizer().
|
protected |
MC event id being processed.
Definition at line 94 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSim(), CbmTrdModuleSim(), CbmTrdModuleSimR::CheckMulti(), GetEventId(), CbmTrdModuleSimR::MakeDigi(), SetEventId(), and SetLinkId().
|
protectedinherited |
Analog to digital conversion for module.
Definition at line 96 of file CbmTrdModuleAbstract.h.
Referenced by SetGainPar().
|
protectedinherited |
link to gGeometry for module
Definition at line 97 of file CbmTrdModuleAbstract.h.
Referenced by GetDx(), GetDy(), GetDz(), GetPath(), LocalToMaster(), and SetGeoPar().
|
protected |
MC input file number.
Definition at line 95 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSim(), CbmTrdModuleSim(), GetInputId(), SetInputId(), and SetLinkId().
|
protectedinherited |
layer identifier
Definition at line 89 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleAbstract(), CbmTrdModuleSim2D::FlushBuffer(), CbmTrdModuleSimR::ScanPadPlane(), and CbmTrdModuleSimR::SetAsicPar().
|
protectedinherited |
unique identifier for current module
Definition at line 88 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleRecR::addClusters(), CbmTrdModuleSimR::AddCrosstalk(), CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleAbstract(), CbmTrdModuleSimR::CheckMulti(), CbmTrdModuleRecR::FindClusters(), CbmTrdModuleSim2D::FlushBuffer(), GetAsicAddress(), CbmTrdModuleRec2D::MakeHit(), CbmTrdModuleRecR::MakeHit(), CbmTrdModuleSimR::ProcessPulseBuffer(), CbmTrdModuleSimR::ScanPadPlane(), CbmTrdModuleSim2D::SetAsicPar(), and CbmTrdModuleSimR::SetAsicPar().
|
protected |
MC point id being processed.
Definition at line 93 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSim(), CbmTrdModuleSim(), CbmTrdModuleSimR::CheckMulti(), GetPointId(), CbmTrdModuleSimR::MakeDigi(), SetLinkId(), and SetPointId().
|
protected |
Pointer to digitizer.
TR description for radiator
Definition at line 102 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSim(), CbmTrdModuleSim(), CbmTrdModuleSim2D::MakeDigi(), CbmTrdModuleSimR::MakeDigi(), and SetRadiator().
|
protectedinherited |
rotation angle for current module
Definition at line 90 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleAbstract().
|
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().
|
protected |
MC position of the point in module coordinates.
Definition at line 97 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSim(), CbmTrdModuleSim(), and SetPositionMC().