CbmRoot
Loading...
Searching...
No Matches
CbmTrdModuleRecR Class Reference

Rectangular pad module; Cluster finding and hit reconstruction algorithms. More...

#include <CbmTrdModuleRecR.h>

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

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 CbmTrdHitMakeHit (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 CbmTrdParModDigifDigiPar = nullptr
 read-out description of module
 
const CbmTrdParModGasfChmbPar = nullptr
 detection description (HV, drift) of module
 
CbmTrdParModAsicfAsicPar = nullptr
 the set of ASIC operating on the module (owned)
 
const CbmTrdParModGainfGainPar = nullptr
 Analog to digital conversion for module.
 
const CbmTrdParModGeofGeoPar = nullptr
 link to gGeometry for module
 

Private Member Functions

 CbmTrdModuleRecR (const CbmTrdModuleRecR &ref)
 
const CbmTrdModuleRecRoperator= (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]
 

Detailed Description

Rectangular pad module; Cluster finding and hit reconstruction algorithms.

Definition at line 18 of file CbmTrdModuleRecR.h.

Constructor & Destructor Documentation

◆ CbmTrdModuleRecR() [1/3]

CbmTrdModuleRecR::CbmTrdModuleRecR ( )

Default constructor.

Definition at line 31 of file CbmTrdModuleRecR.cxx.

◆ CbmTrdModuleRecR() [2/3]

CbmTrdModuleRecR::CbmTrdModuleRecR ( Int_t mod,
Int_t ly = -1,
Int_t rot = 0 )

Constructor with placement.

Definition at line 37 of file CbmTrdModuleRecR.cxx.

◆ ~CbmTrdModuleRecR()

CbmTrdModuleRecR::~CbmTrdModuleRecR ( )
virtual

Definition at line 47 of file CbmTrdModuleRecR.cxx.

◆ CbmTrdModuleRecR() [3/3]

CbmTrdModuleRecR::CbmTrdModuleRecR ( const CbmTrdModuleRecR & ref)
private

Member Function Documentation

◆ addClusters()

void CbmTrdModuleRecR::addClusters ( std::deque< std::pair< Int_t, const CbmTrdDigi * > > cluster)
private

◆ AddDigi()

Bool_t CbmTrdModuleRecR::AddDigi ( const CbmTrdDigi * ,
Int_t  )
virtual

Add digi to local module.

Reimplemented from CbmTrdModuleRec.

Definition at line 50 of file CbmTrdModuleRecR.cxx.

References fDigiCounter, and fDigiMap.

◆ Clear()

void CbmTrdModuleRecR::Clear ( Option_t * opt = "")
virtual

Clear local storage.

See also
CbmTrdModuleRec::Clear()

Reimplemented from CbmTrdModuleRec.

Definition at line 60 of file CbmTrdModuleRecR.cxx.

References CbmTrdModuleRec::Clear(), fClusterMap, fDigiCounter, and fDigiMap.

◆ FindClusters()

◆ 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 59 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fModAddress.

◆ GetClusters() [1/2]

virtual TClonesArray * CbmTrdModuleRec::GetClusters ( )
inlinevirtualinherited

Definition at line 50 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fClusters.

Referenced by CbmTrdClusterFinder::processDigisInModules().

◆ GetClusters() [2/2]

virtual const TClonesArray * CbmTrdModuleRec::GetClusters ( ) const
inlinevirtualinherited

Definition at line 51 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fClusters.

◆ GetDx()

virtual Double_t CbmTrdModuleAbstract::GetDx ( ) const
inlinevirtualinherited

Shortcut getter size x/2 [cm].

Definition at line 44 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 46 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 48 of file CbmTrdModuleAbstract.h.

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

◆ GetHits() [1/2]

virtual TClonesArray * CbmTrdModuleRec::GetHits ( )
inlinevirtualinherited

Definition at line 52 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fHits.

Referenced by CbmTrdHitProducer::addModuleHits().

◆ GetHits() [2/2]

virtual const TClonesArray * CbmTrdModuleRec::GetHits ( ) const
inlinevirtualinherited

Definition at line 53 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fHits.

◆ GetNasics()

virtual Int_t CbmTrdModuleAbstract::GetNasics ( ) const
inlinevirtualinherited

Shortcut getter ASICs number module wise.

Definition at line 50 of file CbmTrdModuleAbstract.h.

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

◆ GetNcols()

virtual Int_t CbmTrdModuleAbstract::GetNcols ( ) const
inlinevirtualinherited

◆ GetNrows()

virtual Int_t CbmTrdModuleAbstract::GetNrows ( ) const
inlinevirtualinherited

Shortcut getter row wise.

Definition at line 54 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar, and CbmTrdParModDigi::GetNofRows().

◆ GetOverThreshold()

Int_t CbmTrdModuleRecR::GetOverThreshold ( ) const
inlinevirtual

Reimplemented from CbmTrdModuleRec.

Definition at line 42 of file CbmTrdModuleRecR.h.

References fDigiCounter.

◆ 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 65 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::GetNcols().

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

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

Referenced by CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleRec2D::CheckMerge(), CbmTrdModuleSim2D::FlushBuffer(), CbmTrdModuleRec2D::LoadDigis(), CbmTrdModuleRec2D::LoadDigisRC(), CbmTrdModuleRec2D::MergeDigis(), and CbmTrdModuleRec2D::ProjectDigis().

◆ GetPath()

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

◆ GetSpaceResolution()

Double_t CbmTrdModuleRecR::GetSpaceResolution ( Double_t val = 3.0)

Definition at line 587 of file CbmTrdModuleRecR.cxx.

References first.

◆ IsChannelMasked()

bool CbmTrdModuleAbstract::IsChannelMasked ( int ch) const
inherited

Inquire the ASIC par set.

Returns
true for actively masked channel

Definition at line 30 of file CbmTrdModuleAbstract.cxx.

References CbmTrdModuleAbstract::fAsicPar, CbmTrdParModAsic::GetAsicPar(), and CbmTrdParAsic::IsChannelMasked().

◆ IsClusterComplete()

◆ LocalToMaster()

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

◆ MakeHit()

◆ MakeHits()

Bool_t CbmTrdModuleRecR::MakeHits ( )
virtual

Steering routine for building hits.

Implements CbmTrdModuleRec.

Definition at line 468 of file CbmTrdModuleRecR.cxx.

◆ operator=()

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

◆ PostProcessHits()

virtual Bool_t CbmTrdModuleRec::PostProcessHits ( )
inlinevirtualinherited

Hit quality assesment.

Reimplemented in CbmTrdModuleRec2D.

Definition at line 44 of file CbmTrdModuleRec.h.

◆ PreProcessHits()

virtual Bool_t CbmTrdModuleRec::PreProcessHits ( )
inlinevirtualinherited

Hit quality assesment.

Reimplemented in CbmTrdModuleRec2D.

Definition at line 42 of file CbmTrdModuleRec.h.

◆ SetAsicPar()

virtual void CbmTrdModuleAbstract::SetAsicPar ( CbmTrdParModAsic * p = nullptr)
inlinevirtualinherited

Reimplemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

Definition at line 81 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fAsicPar.

◆ SetChmbPar()

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

Definition at line 82 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fChmbPar.

◆ SetDigiPar()

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

Definition at line 83 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar.

◆ SetGainPar()

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

Definition at line 84 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGainPar.

◆ SetGeoPar()

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

Definition at line 85 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar.

Member Data Documentation

◆ fAsicPar

◆ fCalled

UInt_t CbmTrdModuleRec::fCalled
protectedinherited

counter for the number of calls

Definition at line 65 of file CbmTrdModuleRec.h.

Referenced by CbmTrdModuleRec::Clear().

◆ fCheck

Int_t CbmTrdModuleRecR::fCheck = 0
private

Definition at line 61 of file CbmTrdModuleRecR.h.

◆ fChmbPar

const CbmTrdParModGas* CbmTrdModuleAbstract::fChmbPar = nullptr
protectedinherited

detection description (HV, drift) of module

Definition at line 94 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSim2D::MakeDigi(), and CbmTrdModuleAbstract::SetChmbPar().

◆ fClusterMap

std::deque<std::deque<std::pair<Int_t, const CbmTrdDigi*> > > CbmTrdModuleRecR::fClusterMap
private

Definition at line 74 of file CbmTrdModuleRecR.h.

Referenced by Clear().

◆ fClusters

TClonesArray* CbmTrdModuleRec::fClusters
protectedinherited

module wise storage of reconstructed cluster

Definition at line 66 of file CbmTrdModuleRec.h.

Referenced by addClusters(), CbmTrdModuleRec::Clear(), CbmTrdModuleRec::GetClusters(), CbmTrdModuleRec::GetClusters(), and CbmTrdModuleRec::~CbmTrdModuleRec().

◆ fDigiCounter

Int_t CbmTrdModuleRecR::fDigiCounter
private

Definition at line 60 of file CbmTrdModuleRecR.h.

Referenced by AddDigi(), Clear(), and GetOverThreshold().

◆ fDigiMap

std::deque<std::tuple<Int_t, Bool_t, const CbmTrdDigi*> > CbmTrdModuleRecR::fDigiMap
private

Definition at line 72 of file CbmTrdModuleRecR.h.

Referenced by AddDigi(), Clear(), and FindClusters().

◆ fDigiPar

◆ fGainPar

const CbmTrdParModGain* CbmTrdModuleAbstract::fGainPar = nullptr
protectedinherited

Analog to digital conversion for module.

Definition at line 96 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::SetGainPar().

◆ fGeoPar

const CbmTrdParModGeo* CbmTrdModuleAbstract::fGeoPar = nullptr
protectedinherited

◆ fHits

TClonesArray* CbmTrdModuleRec::fHits
protectedinherited

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId = -1
protectedinherited

◆ fModAddress

◆ fRotation

UChar_t CbmTrdModuleAbstract::fRotation = 0
protectedinherited

rotation angle for current module

Definition at line 90 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::CbmTrdModuleAbstract().

◆ kxVar_Value

Double_t CbmTrdModuleRecR::kxVar_Value
staticconstexprprivate
Initial value:
= {{0.0258725, 0.0267693, 0.0344325, 0.0260322, 0.040115},
{0.0426313, 0.0426206, 0.0636962, 0.038981, 0.0723851}}

Definition at line 66 of file CbmTrdModuleRecR.h.

Referenced by MakeHit().

◆ kyVar_Value

Double_t CbmTrdModuleRecR::kyVar_Value
staticconstexprprivate
Initial value:
= {{0.024549, 0.025957, 0.0250713, 0.0302682, 0.0291146},
{0.0401438, 0.0407502, 0.0397242, 0.0519485, 0.0504586}}

Definition at line 68 of file CbmTrdModuleRecR.h.

Referenced by MakeHit().


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