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. 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... | |
CbmTrdDigitizer * | fDigitizer |
CbmTrdRadiator * | fRadiator |
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 CbmTrdParModDigi * | fDigiPar |
read-out description of module More... | |
const CbmTrdParModGas * | fChmbPar |
detection description (HV, drift) of module More... | |
CbmTrdParSetAsic * | fAsicPar |
the set of ASIC operating on the module (owned) More... | |
const CbmTrdParModGain * | fGainPar |
Analog to digital conversion for module. More... | |
const CbmTrdParModGeo * | fGeoPar |
link to gGeometry for module More... | |
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 18 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 20 of file CbmTrdModuleSim.h.
CbmTrdModuleSim::CbmTrdModuleSim | ( | ) |
Default constructor.
Definition at line 11 of file CbmTrdModuleSim.cxx.
CbmTrdModuleSim::CbmTrdModuleSim | ( | Int_t | mod, |
Int_t | ly, | ||
Int_t | rot | ||
) |
Constructor with placement.
Definition at line 24 of file CbmTrdModuleSim.cxx.
|
virtual |
Definition at line 37 of file CbmTrdModuleSim.cxx.
|
private |
|
pure virtual |
Flush local digi buffer.
time | Time limit to dump digits. If 0 all (used also in EbyE mode) |
Implemented in CbmTrdModuleSimR, and CbmTrdModuleSimT.
|
inlinevirtualinherited |
Addressing ASIC on module based on id.
[in] | id | module wise ASIC identifier |
Definition at line 49 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fModAddress.
|
inlinevirtual |
Reimplemented in CbmTrdModuleSimR.
Definition at line 36 of file CbmTrdModuleSim.h.
|
inlinevirtual |
Definition at line 41 of file CbmTrdModuleSim.h.
References fDigiMap.
|
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().
|
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().
|
inlinevirtualinherited |
Shortcut getter size z/2 [cm].
Definition at line 32 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDZ().
|
inlinevirtual |
Definition at line 44 of file CbmTrdModuleSim.h.
References fEventId.
|
inlinevirtual |
Definition at line 45 of file CbmTrdModuleSim.h.
References fInputId.
|
inlinevirtualinherited |
Shortcut getter ASICs number module wise.
Definition at line 34 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fAsicPar, and CbmTrdParSetAsic::GetNofAsics().
|
inlinevirtualinherited |
Shortcut getter column size.
Definition at line 38 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fDigiPar, and CbmTrdParModDigi::GetNofColumns().
Referenced by CbmTrdModuleAbstract::GetPadAddress(), and CbmTrdModuleAbstract::GetPadRowCol().
|
inlinevirtualinherited |
Shortcut getter row wise.
Definition at line 42 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fDigiPar, and CbmTrdParModDigi::GetNofRows().
|
inlinevirtualinherited |
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 57 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::GetNcols().
Referenced by CbmTrdModuleSimT::ScanPadPlane().
|
inlinevirtualinherited |
Addressing read-out pads based on module address.
[in] | address | pad address within module |
[in] | c | on return global column id |
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().
|
inlinevirtualinherited |
Definition at line 66 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fGeoPar.
Referenced by CbmTrdDigitizer::AddModule(), CbmTrdModuleSimR::MakeDigi(), and CbmTrdModuleSimT::MakeDigi().
|
inlinevirtual |
Definition at line 46 of file CbmTrdModuleSim.h.
References fPointId.
|
virtualinherited |
Definition at line 33 of file CbmTrdModuleAbstract.cxx.
References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::LocalToMaster().
Referenced by CbmTrdModuleRecR::MakeHit(), and CbmTrdModuleRecT::MakeHit().
|
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 CbmTrdModuleSimT, and CbmTrdModuleSimR.
Referenced by CbmTrdDigitizer::Exec().
|
pure virtual |
Steering routine for converting MC point to raw format.
Implemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.
|
private |
|
inlinevirtual |
Reimplemented in CbmTrdModuleSimR.
Definition at line 81 of file CbmTrdModuleSim.h.
|
inlinevirtualinherited |
Reimplemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.
Definition at line 70 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fAsicPar.
Referenced by CbmTrdHitProducer::AddModule(), and CbmTrdClusterFinder::AddModule().
|
inlinevirtualinherited |
Definition at line 71 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fChmbPar.
Referenced by CbmTrdHitProducer::AddModule(), and CbmTrdClusterFinder::AddModule().
|
inlinevirtualinherited |
Definition at line 72 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fDigiPar.
Referenced by CbmTrdHitProducer::AddModule(), and CbmTrdClusterFinder::AddModule().
|
inline |
Definition at line 67 of file CbmTrdModuleSim.h.
References fDigitizer.
|
inlinevirtual |
Definition at line 68 of file CbmTrdModuleSim.h.
References fEventId.
|
inlinevirtualinherited |
Definition at line 73 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fGainPar.
Referenced by CbmTrdHitProducer::AddModule(), and CbmTrdClusterFinder::AddModule().
|
pure virtual |
Implemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.
Referenced by CbmTrdDigitizer::Exec().
|
inlinevirtualinherited |
Definition at line 74 of file CbmTrdModuleAbstract.h.
References CbmTrdModuleAbstract::fGeoPar.
Referenced by CbmTrdHitProducer::AddModule(), and CbmTrdClusterFinder::AddModule().
|
inlinevirtual |
Definition at line 69 of file CbmTrdModuleSim.h.
References fInputId.
|
inlinevirtual |
Definition at line 76 of file CbmTrdModuleSim.h.
References fEventId, fInputId, and fPointId.
Referenced by CbmTrdDigitizer::Exec().
|
pure virtual |
Implemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.
|
inlinevirtual |
Definition at line 70 of file CbmTrdModuleSim.h.
References fPointId.
|
inlinevirtual |
Definition at line 73 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimR::MakeDigi(), and CbmTrdModuleSimT::MakeDigi().
|
pure virtual |
Implemented in CbmTrdModuleSimT, and CbmTrdModuleSimR.
|
pure virtual |
Implemented in CbmTrdModuleSimR, and CbmTrdModuleSimT.
|
protectedinherited |
the set of ASIC operating on the module (owned)
Definition at line 87 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSimT::FlushBuffer(), CbmTrdModuleAbstract::GetNasics(), CbmTrdModuleSimR::SetAsicPar(), CbmTrdModuleSimT::SetAsicPar(), CbmTrdModuleAbstract::SetAsicPar(), and CbmTrdModuleAbstract::~CbmTrdModuleAbstract().
|
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().
|
protectedinherited |
detection description (HV, drift) of module
Definition at line 85 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSimT::MakeDigi(), and CbmTrdModuleAbstract::SetChmbPar().
|
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().
|
protectedinherited |
read-out description of module
Definition at line 83 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSimR::CheckMulti(), CbmTrdModuleSimR::DistributeCharge(), CbmTrdModuleRecR::FindClusters(), CbmTrdModuleSimT::FlushBuffer(), CbmTrdModuleAbstract::GetNcols(), CbmTrdModuleAbstract::GetNrows(), CbmTrdModuleAbstract::GetPadRowCol(), CbmTrdModuleSimR::GetTotalSteps(), CbmTrdModuleSimR::MakeDigi(), CbmTrdModuleSimT::MakeDigi(), CbmTrdModuleRecT::MakeHit(), CbmTrdModuleRecR::MakeHit(), CbmTrdModuleSimR::ProcessPulseBuffer(), CbmTrdModuleSimT::ScanPadPlane(), CbmTrdModuleSimR::ScanPadPlane(), CbmTrdModuleSimR::SetAsicPar(), and CbmTrdModuleAbstract::SetDigiPar().
|
protected |
Definition at line 91 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimT::FlushBuffer(), and SetDigitizer().
|
protected |
MC event id being processed.
Definition at line 88 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimT::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSimR::CheckMulti(), GetEventId(), CbmTrdModuleSimR::MakeDigi(), SetEventId(), and SetLinkId().
|
protectedinherited |
Analog to digital conversion for module.
Definition at line 89 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleAbstract::SetGainPar().
|
protectedinherited |
link to gGeometry for module
Definition at line 90 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleAbstract::GetDx(), CbmTrdModuleAbstract::GetDy(), CbmTrdModuleAbstract::GetDz(), CbmTrdModuleAbstract::GetPath(), CbmTrdModuleAbstract::LocalToMaster(), and CbmTrdModuleAbstract::SetGeoPar().
|
protected |
MC input file number.
Definition at line 89 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimT::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), GetInputId(), SetInputId(), and SetLinkId().
|
protectedinherited |
layer identifier
Definition at line 79 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSimT::FlushBuffer(), CbmTrdModuleSimR::ScanPadPlane(), and CbmTrdModuleSimR::SetAsicPar().
|
protectedinherited |
unique identifier for current module
Definition at line 78 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleRecR::addClusters(), CbmTrdModuleSimR::AddCrosstalk(), CbmTrdModuleRecT::AddDigi(), CbmTrdModuleSimT::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::CheckMulti(), CbmTrdModuleRecR::FindClusters(), CbmTrdModuleSimT::FlushBuffer(), CbmTrdModuleAbstract::GetAsicAddress(), CbmTrdModuleRecR::MakeHit(), CbmTrdModuleRecT::MakeHit(), CbmTrdModuleSimR::ProcessPulseBuffer(), CbmTrdModuleSimR::ScanPadPlane(), CbmTrdModuleSimR::SetAsicPar(), and CbmTrdModuleSimT::SetAsicPar().
|
protected |
MC point id being processed.
Definition at line 87 of file CbmTrdModuleSim.h.
Referenced by CbmTrdModuleSimT::AddDigi(), CbmTrdModuleSimR::AddDigi(), CbmTrdModuleSimR::AddDigitoBuffer(), CbmTrdModuleSimR::AddDigitoPulseBuffer(), CbmTrdModuleSimR::CheckMulti(), GetPointId(), CbmTrdModuleSimR::MakeDigi(), SetLinkId(), and SetPointId().
|
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().
|
protectedinherited |
rotation angle for current module
Definition at line 80 of file CbmTrdModuleAbstract.h.
|
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().