CbmRoot
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. More...
 
 CbmTrdModuleRecR (Int_t mod, Int_t ly=-1, Int_t rot=0)
 Constructor with placement. More...
 
virtual ~CbmTrdModuleRecR ()
 
virtual Bool_t AddDigi (const CbmTrdDigi *d, Int_t id)
 Add digi to local module. More...
 
virtual void Clear (Option_t *opt="")
 Clear local storage. More...
 
virtual Int_t FindClusters ()
 Steering routine for finding digits clusters. More...
 
Int_t GetOverThreshold () const
 
Double_t GetSpaceResolution (Double_t val=3.0)
 
virtual Bool_t MakeHits ()
 Steering routine for building hits. More...
 
virtual CbmTrdHitMakeHit (Int_t cId, const CbmTrdCluster *c, std::vector< const CbmTrdDigi * > *digis)
 Steering routine for converting cluster to hit. More...
 
virtual Bool_t Finalize ()
 Reconstruct physics observables on hits. More...
 
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]. 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

UInt_t fCalled
 counter for the number of calls More...
 
TClonesArray * fClusters
 module wise storage of reconstructed cluster More...
 
TClonesArray * fHits
 module wise storage of reconstructed hits 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

 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 14 of file CbmTrdModuleRecR.h.

Constructor & Destructor Documentation

◆ CbmTrdModuleRecR() [1/3]

CbmTrdModuleRecR::CbmTrdModuleRecR ( )

Default constructor.

Definition at line 26 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 32 of file CbmTrdModuleRecR.cxx.

◆ ~CbmTrdModuleRecR()

CbmTrdModuleRecR::~CbmTrdModuleRecR ( )
virtual

Definition at line 39 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 42 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 51 of file CbmTrdModuleRecR.cxx.

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

◆ Finalize()

virtual Bool_t CbmTrdModuleRec::Finalize ( )
inlinevirtualinherited

Reconstruct physics observables on hits.

Reimplemented in CbmTrdModuleRecT.

Definition at line 42 of file CbmTrdModuleRec.h.

Referenced by CbmTrdHitProducer::Exec().

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

References CbmTrdModuleAbstract::fModAddress.

◆ GetClusters() [1/2]

virtual TClonesArray* CbmTrdModuleRec::GetClusters ( )
inlinevirtualinherited

Definition at line 48 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fClusters.

Referenced by CbmTrdClusterFinder::Exec().

◆ GetClusters() [2/2]

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

Definition at line 49 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fClusters.

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

◆ GetHits() [1/2]

virtual TClonesArray* CbmTrdModuleRec::GetHits ( )
inlinevirtualinherited

Definition at line 50 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fHits.

Referenced by CbmTrdHitProducer::Exec().

◆ GetHits() [2/2]

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

Definition at line 51 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fHits.

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

◆ GetOverThreshold()

Int_t CbmTrdModuleRecR::GetOverThreshold ( ) const
inlinevirtual

Reimplemented from CbmTrdModuleRec.

Definition at line 38 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 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

◆ GetSpaceResolution()

Double_t CbmTrdModuleRecR::GetSpaceResolution ( Double_t  val = 3.0)

Definition at line 608 of file CbmTrdModuleRecR.cxx.

References first.

◆ 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 485 of file CbmTrdModuleRecR.cxx.

◆ operator=()

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

◆ SetAsicPar()

virtual void CbmTrdModuleAbstract::SetAsicPar ( CbmTrdParSetAsic p = nullptr)
inlinevirtualinherited

◆ SetChmbPar()

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

◆ SetDigiPar()

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

◆ SetGainPar()

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

◆ SetGeoPar()

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

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 58 of file CbmTrdModuleRecR.h.

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

◆ fClusterMap

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

Definition at line 73 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(), and CbmTrdModuleRec::~CbmTrdModuleRec().

◆ fDigiCounter

Int_t CbmTrdModuleRecR::fDigiCounter
private

Definition at line 57 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 71 of file CbmTrdModuleRecR.h.

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

◆ fDigiPar

◆ fGainPar

const CbmTrdParModGain* CbmTrdModuleAbstract::fGainPar
protectedinherited

Analog to digital conversion for module.

Definition at line 89 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::SetGainPar().

◆ fGeoPar

◆ fHits

TClonesArray* CbmTrdModuleRec::fHits
protectedinherited

module wise storage of reconstructed hits

Definition at line 67 of file CbmTrdModuleRec.h.

Referenced by CbmTrdModuleRec::Clear(), CbmTrdModuleRec::GetHits(), CbmTrdModuleRecT::MakeHit(), MakeHit(), and CbmTrdModuleRec::~CbmTrdModuleRec().

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId
protectedinherited

◆ fModAddress

◆ fRotation

UChar_t CbmTrdModuleAbstract::fRotation
protectedinherited

rotation angle for current module

Definition at line 80 of file CbmTrdModuleAbstract.h.

◆ kxVar_Value

constexpr 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 63 of file CbmTrdModuleRecR.h.

Referenced by MakeHit().

◆ kyVar_Value

constexpr 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 66 of file CbmTrdModuleRecR.h.

Referenced by MakeHit().


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