|
CbmRoot
|
Rectangular pad module; Cluster finding and hit reconstruction algorithms. More...
#include <CbmTrdModuleRecR.h>
Public Member Functions | |
| CbmTrdModuleRecR () | |
| Default constructor. | |
| CbmTrdModuleRecR (Int_t mod, Int_t ly=-1, Int_t rot=0) | |
| Constructor with placement. | |
| virtual | ~CbmTrdModuleRecR () |
| virtual Bool_t | AddDigi (const CbmTrdDigi *d, Int_t id) |
| Add digi to local module. | |
| virtual void | Clear (Option_t *opt="") |
| Clear local storage. | |
| virtual Int_t | FindClusters (bool clr=true) |
| Steering routine for finding digits clusters. | |
| Int_t | GetOverThreshold () const |
| Double_t | GetSpaceResolution (Double_t val=3.0) |
| bool | IsClusterComplete (const CbmTrdCluster *cluster) |
| virtual Bool_t | MakeHits () |
| Steering routine for building hits. | |
| virtual CbmTrdHit * | MakeHit (Int_t cId, const CbmTrdCluster *c, std::vector< const CbmTrdDigi * > *digis) |
| Steering routine for converting cluster to hit. | |
| virtual Bool_t | PreProcessHits () |
| Hit quality assesment. | |
| virtual Bool_t | PostProcessHits () |
| Hit quality assesment. | |
| virtual TClonesArray * | GetClusters () |
| virtual const TClonesArray * | GetClusters () const |
| virtual TClonesArray * | GetHits () |
| virtual const TClonesArray * | GetHits () const |
| 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 | |
| UInt_t | fCalled |
| counter for the number of calls | |
| TClonesArray * | fClusters |
| module wise storage of reconstructed cluster | |
| TClonesArray * | fHits |
| module wise storage of reconstructed hits | |
| 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 | |
| CbmTrdModuleRecR (const CbmTrdModuleRecR &ref) | |
| const CbmTrdModuleRecR & | operator= (const CbmTrdModuleRecR &ref) |
| void | addClusters (std::deque< std::pair< Int_t, const CbmTrdDigi * > > cluster) |
Private Attributes | |
| Int_t | fDigiCounter |
| Int_t | fCheck = 0 |
| std::deque< std::tuple< Int_t, Bool_t, const CbmTrdDigi * > > | fDigiMap |
| std::deque< std::deque< std::pair< Int_t, const CbmTrdDigi * > > > | fClusterMap |
Static Private Attributes | |
| static constexpr Double_t | kxVar_Value [2][5] |
| static constexpr Double_t | kyVar_Value [2][5] |
Rectangular pad module; Cluster finding and hit reconstruction algorithms.
Definition at line 18 of file CbmTrdModuleRecR.h.
| CbmTrdModuleRecR::CbmTrdModuleRecR | ( | ) |
Default constructor.
Definition at line 31 of file CbmTrdModuleRecR.cxx.
References CbmTrdModuleRec::CbmTrdModuleRec(), fClusterMap, fDigiCounter, and fDigiMap.
Referenced by CbmTrdModuleRecR(), and operator=().
Constructor with placement.
Definition at line 37 of file CbmTrdModuleRecR.cxx.
References CbmTrdModuleRec::CbmTrdModuleRec(), fClusterMap, fDigiCounter, and fDigiMap.
|
virtual |
Definition at line 47 of file CbmTrdModuleRecR.cxx.
|
private |
References CbmTrdModuleRecR().
|
private |
Definition at line 438 of file CbmTrdModuleRecR.cxx.
References CbmTrdModuleRec::fClusters, CbmTrdModuleAbstract::fModAddress, CbmDigiManager::Init(), CbmDigiManager::Instance(), CbmCluster::SetAddress(), CbmCluster::SetDigis(), CbmTrdCluster::SetNCols(), and size().
Referenced by FindClusters().
|
virtual |
Add digi to local module.
Reimplemented from CbmTrdModuleRec.
Definition at line 50 of file CbmTrdModuleRecR.cxx.
References fDigiCounter, and fDigiMap.
|
virtual |
Clear local storage.
Reimplemented from CbmTrdModuleRec.
Definition at line 60 of file CbmTrdModuleRecR.cxx.
References CbmTrdModuleRec::Clear(), fClusterMap, fDigiCounter, and fDigiMap.
|
virtual |
Steering routine for finding digits clusters.
Implements CbmTrdModuleRec.
Definition at line 71 of file CbmTrdModuleRecR.cxx.
References addClusters(), CbmTrdDigi::Clk(), fDigiMap, CbmTrdModuleAbstract::fDigiPar, CbmTrdModuleAbstract::fModAddress, CbmTrdDigi::GetAddressChannel(), CbmTrdDigi::GetCharge(), CbmTrdDigi::GetTime(), CbmTrdDigi::GetTriggerType(), CbmTrdDigi::kNeighbor, CbmTrdDigi::kSelf, and CbmTrdDigi::kSPADIC.
Addressing ASIC on module based on id.
| [in] | id | module wise ASIC identifier |
Definition at line 59 of file CbmTrdModuleAbstract.h.
References fModAddress.
|
inlinevirtualinherited |
Definition at line 50 of file CbmTrdModuleRec.h.
References fClusters.
Referenced by CbmTrdClusterFinder::processDigisInModules().
|
inlinevirtualinherited |
Definition at line 51 of file CbmTrdModuleRec.h.
References fClusters.
|
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.
|
inlinevirtualinherited |
Definition at line 52 of file CbmTrdModuleRec.h.
References fHits.
Referenced by CbmTrdHitProducer::addModuleHits().
|
inlinevirtualinherited |
Definition at line 53 of file CbmTrdModuleRec.h.
References fHits.
|
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.
|
inlinevirtual |
Reimplemented from CbmTrdModuleRec.
Definition at line 42 of file CbmTrdModuleRecR.h.
References fDigiCounter.
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().
| Double_t CbmTrdModuleRecR::GetSpaceResolution | ( | Double_t | val = 3.0 | ) |
Definition at line 587 of file CbmTrdModuleRecR.cxx.
References first.
|
inherited |
Inquire the ASIC par set.
Definition at line 30 of file CbmTrdModuleAbstract.cxx.
References fAsicPar, and CbmTrdParAsic::IsChannelMasked().
| bool CbmTrdModuleRecR::IsClusterComplete | ( | const CbmTrdCluster * | cluster | ) |
Definition at line 615 of file CbmTrdModuleRecR.cxx.
References CbmTrdModuleAbstract::fDigiPar, CbmDigiManager::Get(), CbmTrdDigi::GetAddressChannel(), CbmCluster::GetDigi(), CbmCluster::GetNofDigis(), CbmDigiManager::Instance(), and CbmTrdDigi::kNeighbor.
Referenced by MakeHit().
|
virtualinherited |
Definition at line 39 of file CbmTrdModuleAbstract.cxx.
References fGeoPar.
Referenced by CbmTrdModuleRec2D::BuildHit(), CbmTrdModuleRecR::MakeHit(), and CbmTrdModuleRec2D::MergeHits().
|
virtual |
Steering routine for converting cluster to hit.
Implements CbmTrdModuleRec.
Definition at line 471 of file CbmTrdModuleRecR.cxx.
References CbmTrdModuleAbstract::fDigiPar, CbmTrdModuleRec::fHits, CbmTrdModuleAbstract::fModAddress, CbmTrdDigi::GetAddressChannel(), CbmTrdDigi::GetCharge(), CbmTrdDigi::GetErrorClass(), CbmTrdDigi::GetTime(), IsClusterComplete(), CbmTrdDigi::IsFlagged(), kxVar_Value, kyVar_Value, CbmTrdModuleAbstract::LocalToMaster(), and sqrt().
|
virtual |
Steering routine for building hits.
Implements CbmTrdModuleRec.
Definition at line 468 of file CbmTrdModuleRecR.cxx.
|
private |
References CbmTrdModuleRecR().
|
inlinevirtualinherited |
Hit quality assesment.
Reimplemented in CbmTrdModuleRec2D.
Definition at line 44 of file CbmTrdModuleRec.h.
|
inlinevirtualinherited |
Hit quality assesment.
Reimplemented in CbmTrdModuleRec2D.
Definition at line 42 of file CbmTrdModuleRec.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.
|
inlinevirtualinherited |
Definition at line 84 of file CbmTrdModuleAbstract.h.
References fGainPar.
|
inlinevirtualinherited |
Definition at line 85 of file CbmTrdModuleAbstract.h.
References fGeoPar.
|
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().
|
protectedinherited |
counter for the number of calls
Definition at line 65 of file CbmTrdModuleRec.h.
Referenced by CbmTrdModuleRec(), CbmTrdModuleRec(), and Clear().
|
private |
Definition at line 61 of file CbmTrdModuleRecR.h.
|
protectedinherited |
detection description (HV, drift) of module
Definition at line 94 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSim2D::MakeDigi(), and SetChmbPar().
|
private |
Definition at line 74 of file CbmTrdModuleRecR.h.
Referenced by CbmTrdModuleRecR(), CbmTrdModuleRecR(), and Clear().
|
protectedinherited |
module wise storage of reconstructed cluster
Definition at line 66 of file CbmTrdModuleRec.h.
Referenced by CbmTrdModuleRecR::addClusters(), CbmTrdModuleRec(), CbmTrdModuleRec(), Clear(), GetClusters(), GetClusters(), and ~CbmTrdModuleRec().
|
private |
Definition at line 60 of file CbmTrdModuleRecR.h.
Referenced by AddDigi(), CbmTrdModuleRecR(), CbmTrdModuleRecR(), Clear(), and GetOverThreshold().
|
private |
Definition at line 72 of file CbmTrdModuleRecR.h.
Referenced by AddDigi(), CbmTrdModuleRecR(), CbmTrdModuleRecR(), Clear(), and FindClusters().
|
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().
|
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().
|
protectedinherited |
module wise storage of reconstructed hits
Definition at line 67 of file CbmTrdModuleRec.h.
Referenced by CbmTrdModuleRec(), CbmTrdModuleRec(), Clear(), GetHits(), GetHits(), CbmTrdModuleRec2D::MakeHit(), CbmTrdModuleRecR::MakeHit(), CbmTrdModuleRec2D::PostProcessHits(), CbmTrdModuleRec2D::PreProcessHits(), and ~CbmTrdModuleRec().
|
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().
|
protectedinherited |
rotation angle for current module
Definition at line 90 of file CbmTrdModuleAbstract.h.
Referenced by CbmTrdModuleAbstract().
|
staticconstexprprivate |
Definition at line 66 of file CbmTrdModuleRecR.h.
Referenced by MakeHit().
|
staticconstexprprivate |
Definition at line 68 of file CbmTrdModuleRecR.h.
Referenced by MakeHit().