Project
Loading...
Searching...
No Matches
o2::itsmft::Clusterer::ClustererThread Struct Reference

#include <Clusterer.h>

Public Member Functions

void resetColumn (int *buff)
 reset column buffer, for the performance reasons we use memset
 
void swapColumnBuffers ()
 add cluster at row (entry ip in the ChipPixeData) to the precluster with given index
 
void expandPreCluster (uint32_t ip, uint16_t row, int preClusIndex)
 add new precluster at given row of current column for the fired pixel with index ip in the ChipPixelData
 
void addNewPrecluster (uint32_t ip, uint16_t row)
 
void fetchMCLabels (int digID, const ConstMCTruth *labelsDig, int &nfilled)
 
void initChip (const ChipPixelData *curChipData, uint32_t first)
 
void updateChip (const ChipPixelData *curChipData, uint32_t ip)
 
void finishChip (ChipPixelData *curChipData, CompClusCont *compClus, PatternCont *patterns, const ConstMCTruth *labelsDig, MCTruth *labelsClus)
 
void finishChipSingleHitFast (uint32_t hit, ChipPixelData *curChipData, CompClusCont *compClusPtr, PatternCont *patternsPtr, const ConstMCTruth *labelsDigPtr, MCTruth *labelsClusPTr)
 
void process (uint16_t chip, uint16_t nChips, CompClusCont *compClusPtr, PatternCont *patternsPtr, const ConstMCTruth *labelsDigPtr, MCTruth *labelsClPtr, const ROFRecord &rofPtr)
 
 ClustererThread (Clusterer *par=nullptr, int _id=-1)
 

Public Attributes

int id = -1
 
Clustererparent = nullptr
 
int column1 [SegmentationAlpide::NRows+2]
 
int column2 [SegmentationAlpide::NRows+2]
 
intcurr = nullptr
 
intprev = nullptr
 
std::vector< std::pair< int, uint32_t > > pixels
 
std::vector< intpreClusterHeads
 
std::vector< intpreClusterIndices
 
uint16_t currCol = 0xffff
 Column being processed.
 
bool noLeftCol = true
 flag that there is no column on the left to check
 
std::array< Label, MaxLabelslabelsBuff
 
std::vector< PixelDatapixArrBuff
 temporary buffer for building cluster labels
 
CompClusCont compClusters
 temporary buffer for pattern calc.
 
PatternCont patterns
 
MCTruth labels
 
std::vector< ThreadStatstats
 

Detailed Description

Definition at line 123 of file Clusterer.h.

Constructor & Destructor Documentation

◆ ClustererThread()

o2::itsmft::Clusterer::ClustererThread::ClustererThread ( Clusterer par = nullptr,
int  _id = -1 
)
inline

Definition at line 184 of file Clusterer.h.

Member Function Documentation

◆ addNewPrecluster()

void o2::itsmft::Clusterer::ClustererThread::addNewPrecluster ( uint32_t  ip,
uint16_t  row 
)
inline

Definition at line 164 of file Clusterer.h.

◆ expandPreCluster()

void o2::itsmft::Clusterer::ClustererThread::expandPreCluster ( uint32_t  ip,
uint16_t  row,
int  preClusIndex 
)
inline

add new precluster at given row of current column for the fired pixel with index ip in the ChipPixelData

Definition at line 155 of file Clusterer.h.

◆ fetchMCLabels()

void Clusterer::ClustererThread::fetchMCLabels ( int  digID,
const ConstMCTruth labelsDig,
int nfilled 
)

Definition at line 417 of file Clusterer.cxx.

◆ finishChip()

void Clusterer::ClustererThread::finishChip ( ChipPixelData curChipData,
CompClusCont compClus,
PatternCont patterns,
const ConstMCTruth labelsDig,
MCTruth labelsClus 
)

Definition at line 213 of file Clusterer.cxx.

◆ finishChipSingleHitFast()

void Clusterer::ClustererThread::finishChipSingleHitFast ( uint32_t  hit,
ChipPixelData curChipData,
CompClusCont compClusPtr,
PatternCont patternsPtr,
const ConstMCTruth labelsDigPtr,
MCTruth labelsClusPTr 
)

Definition at line 303 of file Clusterer.cxx.

◆ initChip()

void Clusterer::ClustererThread::initChip ( const ChipPixelData curChipData,
uint32_t  first 
)

Definition at line 341 of file Clusterer.cxx.

◆ process()

void Clusterer::ClustererThread::process ( uint16_t  chip,
uint16_t  nChips,
CompClusCont compClusPtr,
PatternCont patternsPtr,
const ConstMCTruth labelsDigPtr,
MCTruth labelsClPtr,
const ROFRecord rofPtr 
)

Definition at line 170 of file Clusterer.cxx.

◆ resetColumn()

void o2::itsmft::Clusterer::ClustererThread::resetColumn ( int buff)
inline

reset column buffer, for the performance reasons we use memset

swap current and previous column buffers

Definition at line 149 of file Clusterer.h.

◆ swapColumnBuffers()

void o2::itsmft::Clusterer::ClustererThread::swapColumnBuffers ( )
inline

add cluster at row (entry ip in the ChipPixeData) to the precluster with given index

Definition at line 152 of file Clusterer.h.

◆ updateChip()

void Clusterer::ClustererThread::updateChip ( const ChipPixelData curChipData,
uint32_t  ip 
)

Definition at line 362 of file Clusterer.cxx.

Member Data Documentation

◆ column1

int o2::itsmft::Clusterer::ClustererThread::column1[SegmentationAlpide::NRows+2]

Definition at line 128 of file Clusterer.h.

◆ column2

int o2::itsmft::Clusterer::ClustererThread::column2[SegmentationAlpide::NRows+2]

Definition at line 129 of file Clusterer.h.

◆ compClusters

CompClusCont o2::itsmft::Clusterer::ClustererThread::compClusters

temporary buffer for pattern calc.

temporary storage for the thread output

Definition at line 143 of file Clusterer.h.

◆ curr

int* o2::itsmft::Clusterer::ClustererThread::curr = nullptr

Definition at line 130 of file Clusterer.h.

◆ currCol

uint16_t o2::itsmft::Clusterer::ClustererThread::currCol = 0xffff

Column being processed.

Definition at line 137 of file Clusterer.h.

◆ id

int o2::itsmft::Clusterer::ClustererThread::id = -1

Definition at line 124 of file Clusterer.h.

◆ labels

MCTruth o2::itsmft::Clusterer::ClustererThread::labels

Definition at line 145 of file Clusterer.h.

◆ labelsBuff

std::array<Label, MaxLabels> o2::itsmft::Clusterer::ClustererThread::labelsBuff

Definition at line 139 of file Clusterer.h.

◆ noLeftCol

bool o2::itsmft::Clusterer::ClustererThread::noLeftCol = true

flag that there is no column on the left to check

Definition at line 138 of file Clusterer.h.

◆ parent

Clusterer* o2::itsmft::Clusterer::ClustererThread::parent = nullptr

Definition at line 125 of file Clusterer.h.

◆ patterns

PatternCont o2::itsmft::Clusterer::ClustererThread::patterns

Definition at line 144 of file Clusterer.h.

◆ pixArrBuff

std::vector<PixelData> o2::itsmft::Clusterer::ClustererThread::pixArrBuff

temporary buffer for building cluster labels

Definition at line 140 of file Clusterer.h.

◆ pixels

std::vector<std::pair<int, uint32_t> > o2::itsmft::Clusterer::ClustererThread::pixels

Definition at line 134 of file Clusterer.h.

◆ preClusterHeads

std::vector<int> o2::itsmft::Clusterer::ClustererThread::preClusterHeads

Definition at line 135 of file Clusterer.h.

◆ preClusterIndices

std::vector<int> o2::itsmft::Clusterer::ClustererThread::preClusterIndices

Definition at line 136 of file Clusterer.h.

◆ prev

int* o2::itsmft::Clusterer::ClustererThread::prev = nullptr

Definition at line 131 of file Clusterer.h.

◆ stats

std::vector<ThreadStat> o2::itsmft::Clusterer::ClustererThread::stats

Definition at line 146 of file Clusterer.h.


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