CbmRoot
Loading...
Searching...
No Matches
cbm::algo::trd::HitFinder2D Class Reference

Cluster finding and hit reconstruction algorithms for the TRD(2D) module. More...

#include <HitFinder2D.h>

Collaboration diagram for cbm::algo::trd::HitFinder2D:
[legend]

Public Types

typedef std::pair< Hit, std::vector< DigiRec > > resultType
 

Public Member Functions

 HitFinder2D ()
 Default constructor.
 
 HitFinder2D (HitFinder2DModPar params)
 Constructor with placement.
 
virtual ~HitFinder2D ()
 
std::vector< resultTypeoperator() (std::vector< Cluster2D > *clusters)
 Steering routine for building hits.
 
std::pair< int, HitFactory2DProjectDigis (const Cluster2D *cluster)
 
bool BuildHit (Hit *h, HitFactory2D &hitF)
 Implement topologic cuts for hit merging.
 
void SetHitTimeOffset (int dt)
 Time offset to synchronize TRD2D hits to the rest of detectors.
 

Private Member Functions

 HitFinder2D (const HitFinder2D &ref)
 
const HitFinder2Doperator= (const HitFinder2D &ref)
 
Hit MakeHit (int cId, const Cluster2D *cluster)
 
int GetPadRowCol (int address, int &c)
 Addressing ASIC on module based on id.
 
void CalibrateHit (Hit *h, const double dx, const double dy, const double edx, const double edy, const double edt, const double time, const double tdrift, const double eloss, const HitFactory2D &hitF)
 

Private Attributes

const float fClk = CbmTrdDigi::Clk(CbmTrdDigi::eCbmTrdAsicType::kFASP)
 
HitFinder2DModPar fParams
 Parameter container.
 
int fHitTimeOff = 0
 

Static Private Attributes

static Double_t fgDT [3] = {4.181e-6, 1586, 24}
 hit time offset for synchronization
 

Detailed Description

Cluster finding and hit reconstruction algorithms for the TRD(2D) module.

Author
Alexandru Bercucic aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro
Since
01.02.2019
Date
01.10.2021

Extend the TRD module reconstructor for the particular case of inner TRD-2D modules. The class is a collection of algorithms to :

  • identify time and spatially correlated digis and build clusters
  • identify the type of clusters and apply further merging/deconvolution
  • apply FEE (channel gain, baseline) and detector (energy gain, maps, etc) calibration
  • steer the calculation of hit 4D parameters (x, y, t, E)

Definition at line 42 of file HitFinder2D.h.

Member Typedef Documentation

◆ resultType

typedef std::pair<Hit, std::vector<DigiRec> > cbm::algo::trd::HitFinder2D::resultType

Definition at line 44 of file HitFinder2D.h.

Constructor & Destructor Documentation

◆ HitFinder2D() [1/3]

cbm::algo::trd::HitFinder2D::HitFinder2D ( )
inline

Default constructor.

Definition at line 47 of file HitFinder2D.h.

Referenced by HitFinder2D(), and operator=().

◆ HitFinder2D() [2/3]

cbm::algo::trd::HitFinder2D::HitFinder2D ( HitFinder2DModPar params)

Constructor with placement.

Definition at line 21 of file HitFinder2D.cxx.

References fParams.

◆ ~HitFinder2D()

virtual cbm::algo::trd::HitFinder2D::~HitFinder2D ( )
inlinevirtual

Definition at line 52 of file HitFinder2D.h.

◆ HitFinder2D() [3/3]

cbm::algo::trd::HitFinder2D::HitFinder2D ( const HitFinder2D & ref)
private

References HitFinder2D().

Member Function Documentation

◆ BuildHit()

◆ CalibrateHit()

void cbm::algo::trd::HitFinder2D::CalibrateHit ( Hit * h,
const double dx,
const double dy,
const double edx,
const double edy,
const double edt,
const double time,
const double tdrift,
const double eloss,
const HitFactory2D & hitF )
private

◆ GetPadRowCol()

int cbm::algo::trd::HitFinder2D::GetPadRowCol ( int address,
int & c )
inlineprivate

Addressing ASIC on module based on id.

Parameters
[in]idmodule wise ASIC identifier
Returns
ASIC address within experiment

Definition at line 274 of file HitFinder2D.cxx.

References fParams.

Referenced by ProjectDigis().

◆ MakeHit()

Hit cbm::algo::trd::HitFinder2D::MakeHit ( int cId,
const Cluster2D * cluster )
private

◆ operator()()

std::vector< trd::HitFinder2D::resultType > cbm::algo::trd::HitFinder2D::operator() ( std::vector< Cluster2D > * clusters)

Steering routine for building hits.

Definition at line 24 of file HitFinder2D.cxx.

References MakeHit().

◆ operator=()

const HitFinder2D & cbm::algo::trd::HitFinder2D::operator= ( const HitFinder2D & ref)
private

References HitFinder2D().

◆ ProjectDigis()

◆ SetHitTimeOffset()

void cbm::algo::trd::HitFinder2D::SetHitTimeOffset ( int dt)
inline

Time offset to synchronize TRD2D hits to the rest of detectors.

Parameters
dtoffset in [ns]

Definition at line 66 of file HitFinder2D.h.

References fHitTimeOff.

Member Data Documentation

◆ fClk

const float cbm::algo::trd::HitFinder2D::fClk = CbmTrdDigi::Clk(CbmTrdDigi::eCbmTrdAsicType::kFASP)
private

Definition at line 74 of file HitFinder2D.h.

Referenced by BuildHit(), and CalibrateHit().

◆ fgDT

double cbm::algo::trd::HitFinder2D::fgDT = {4.181e-6, 1586, 24}
staticprivate

hit time offset for synchronization

Definition at line 89 of file HitFinder2D.h.

Referenced by BuildHit().

◆ fHitTimeOff

int cbm::algo::trd::HitFinder2D::fHitTimeOff = 0
private

Definition at line 87 of file HitFinder2D.h.

Referenced by CalibrateHit(), and SetHitTimeOffset().

◆ fParams

HitFinder2DModPar cbm::algo::trd::HitFinder2D::fParams
private

Parameter container.

Definition at line 76 of file HitFinder2D.h.

Referenced by BuildHit(), CalibrateHit(), GetPadRowCol(), HitFinder2D(), MakeHit(), and ProjectDigis().


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