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

Algo class for hitfinding. More...

#include <Hitfind.h>

Public Types

typedef std::tuple< PartitionedVector< Hit >, HitfindMonitorDataresultType
 
typedef std::pair< Hit, std::vector< DigiRec > > hitDataType
 

Public Member Functions

resultType operator() (gsl::span< CbmTrdDigi > digiIn)
 Algorithm execution.
 
resultType RunRowParallel (gsl::span< CbmTrdDigi > digiIn)
 Run all steps row-parallel.
 
resultType RunModuleParallelMerge (gsl::span< CbmTrdDigi > digiIn)
 Run merge step module-parallel all others row-parallel.
 
 Hitfind (trd::HitfindSetup, trd::Hitfind2DSetup)
 Constructor.
 

Private Attributes

std::unordered_map< int, std::unique_ptr< cbm::algo::trd::Clusterizer2D > > fClusterBuild2d
 Cluster building algorithms per module.
 
std::unordered_map< int, std::unique_ptr< cbm::algo::trd::Clusterizer > > fClusterBuild
 
std::unordered_map< int, std::unique_ptr< cbm::algo::trd::HitFinder2D > > fHitFind2d
 Hit finding algorithms per module.
 
std::unordered_map< int, std::unique_ptr< cbm::algo::trd::HitFinder > > fHitFind
 
std::unordered_map< int, std::unique_ptr< cbm::algo::trd::HitMerger2D > > fHitMerge2d
 Hit merging algorithms per module.
 
std::unordered_map< int, std::unique_ptr< cbm::algo::trd::HitMerger > > fHitMerge
 
std::vector< std::tuple< int, bool, size_t, size_t > > fModList
 List of modules (address, type flag (true = 2D), numRows, numCols)
 
std::vector< std::tuple< int, bool, size_t > > fRowList
 List of rows (module address, type flag (true = 2D), row in module)
 
std::unordered_map< int, size_t > fModId
 Map from module address to module Id (sequential number)
 

Detailed Description

Algo class for hitfinding.

Author
Dominik Smith d.smi.nosp@m.th@g.nosp@m.si.de
Since
17.04.2024

Definition at line 57 of file trd/Hitfind.h.

Member Typedef Documentation

◆ hitDataType

Definition at line 61 of file trd/Hitfind.h.

◆ resultType

Constructor & Destructor Documentation

◆ Hitfind()

cbm::algo::trd::Hitfind::Hitfind ( trd::HitfindSetup setup,
trd::Hitfind2DSetup setup2D )
explicit

Constructor.

Definition at line 32 of file trd/Hitfind.cxx.

References cbm::algo::trd::Hitfind2DSetup::Mod::address, cbm::algo::trd::HitFinder2DModPar::address, cbm::algo::trd::HitFinderModPar::address, cbm::algo::trd::HitfindSetup::Mod::address, cbm::algo::trd::Hitfind2DSetup::Pad::chRMasked, cbm::algo::trd::HitFinder2DPadPar::chRMasked, cbm::algo::trd::Hitfind2DSetup::Pad::chTMasked, cbm::algo::trd::HitFinder2DPadPar::chTMasked, fClusterBuild, fClusterBuild2d, fHitFind, fHitFind2d, fHitMerge, fHitMerge2d, fModId, fModList, fRowList, L_, cbm::algo::trd::Hitfind2DSetup::modules, cbm::algo::trd::HitfindSetup::modules, cbm::algo::trd::HitFinderModPar::orientation, cbm::algo::trd::Hitfind2DSetup::Row::padPar, cbm::algo::trd::HitfindSetup::Row::padPar, cbm::algo::trd::HitFinderModPar::padSizeErrX, cbm::algo::trd::HitFinderModPar::padSizeErrY, cbm::algo::trd::HitFinder2DModPar::padSizeX, cbm::algo::trd::HitFinderModPar::padSizeX, cbm::algo::trd::HitFinder2DModPar::padSizeY, cbm::algo::trd::HitFinderModPar::padSizeY, cbm::algo::trd::HitFinder2DPadPar::pos, cbm::algo::trd::HitFinderPadPar::pos, cbm::algo::trd::HitFinder2DPadPar::posErr, cbm::algo::trd::HitFinderPadPar::posErr, cbm::algo::trd::Hitfind2DSetup::Pad::position, cbm::algo::trd::HitfindSetup::Pad::position, cbm::algo::trd::Hitfind2DSetup::Pad::positionError, cbm::algo::trd::HitfindSetup::Pad::positionError, cbm::algo::trd::HitFinder2DModPar::rotation, cbm::algo::trd::HitFinderModPar::rotation, cbm::algo::trd::Hitfind2DSetup::Mod::rowPar, cbm::algo::trd::HitFinder2DModPar::rowPar, cbm::algo::trd::HitFinderModPar::rowPar, cbm::algo::trd::HitfindSetup::Mod::rowPar, cbm::algo::trd::HitFinder2DModPar::translation, and cbm::algo::trd::HitFinderModPar::translation.

Member Function Documentation

◆ operator()()

Hitfind::resultType cbm::algo::trd::Hitfind::operator() ( gsl::span< CbmTrdDigi > digiIn)

Algorithm execution.

Parameters
flestimeslice to hitfind
Returns
pair: digi timeslice, monitoring data
Note
Modifies input digis for time calibration

Definition at line 119 of file trd/Hitfind.cxx.

References RunModuleParallelMerge(), and RunRowParallel().

◆ RunModuleParallelMerge()

Hitfind::resultType cbm::algo::trd::Hitfind::RunModuleParallelMerge ( gsl::span< CbmTrdDigi > digiIn)

◆ RunRowParallel()

Member Data Documentation

◆ fClusterBuild

std::unordered_map<int, std::unique_ptr<cbm::algo::trd::Clusterizer> > cbm::algo::trd::Hitfind::fClusterBuild
private

Definition at line 83 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fClusterBuild2d

std::unordered_map<int, std::unique_ptr<cbm::algo::trd::Clusterizer2D> > cbm::algo::trd::Hitfind::fClusterBuild2d
private

Cluster building algorithms per module.

Definition at line 82 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fHitFind

std::unordered_map<int, std::unique_ptr<cbm::algo::trd::HitFinder> > cbm::algo::trd::Hitfind::fHitFind
private

Definition at line 87 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fHitFind2d

std::unordered_map<int, std::unique_ptr<cbm::algo::trd::HitFinder2D> > cbm::algo::trd::Hitfind::fHitFind2d
private

Hit finding algorithms per module.

Definition at line 86 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fHitMerge

std::unordered_map<int, std::unique_ptr<cbm::algo::trd::HitMerger> > cbm::algo::trd::Hitfind::fHitMerge
private

Definition at line 91 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fHitMerge2d

std::unordered_map<int, std::unique_ptr<cbm::algo::trd::HitMerger2D> > cbm::algo::trd::Hitfind::fHitMerge2d
private

Hit merging algorithms per module.

Definition at line 90 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fModId

std::unordered_map<int, size_t> cbm::algo::trd::Hitfind::fModId
private

Map from module address to module Id (sequential number)

Definition at line 100 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fModList

std::vector<std::tuple<int, bool, size_t, size_t> > cbm::algo::trd::Hitfind::fModList
private

List of modules (address, type flag (true = 2D), numRows, numCols)

Definition at line 94 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().

◆ fRowList

std::vector<std::tuple<int, bool, size_t> > cbm::algo::trd::Hitfind::fRowList
private

List of rows (module address, type flag (true = 2D), row in module)

Definition at line 97 of file trd/Hitfind.h.

Referenced by Hitfind(), RunModuleParallelMerge(), and RunRowParallel().


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