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

#include <Clusterer.h>

Public Member Functions

void resetColumn (int *buff) const
 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 itsmft::ROFRecord &rofPtr)
 
 ~ClustererThread ()
 
 ClustererThread (Clusterer *par=nullptr, int _id=-1)
 
 ClustererThread (const ClustererThread &)=delete
 
 ClustererThread (ClustererThread &&)=delete
 
ClustererThreadoperator= (const ClustererThread &)=delete
 
ClustererThreadoperator= (ClustererThread &&)=delete
 

Public Attributes

Clustererparent = nullptr
 
int id = -1
 
intcolumn1 = nullptr
 
intcolumn2 = nullptr
 
intcurr = nullptr
 
intprev = nullptr
 
int size = itsmft::SegmentationAlpide::NRows + 2
 
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::its3::Clusterer::ClustererThread::~ClustererThread ( )
inline

Definition at line 185 of file Clusterer.h.

◆ ClustererThread() [1/3]

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

Definition at line 191 of file Clusterer.h.

◆ ClustererThread() [2/3]

o2::its3::Clusterer::ClustererThread::ClustererThread ( const ClustererThread )
delete

◆ ClustererThread() [3/3]

o2::its3::Clusterer::ClustererThread::ClustererThread ( ClustererThread &&  )
delete

Member Function Documentation

◆ addNewPrecluster()

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

Definition at line 165 of file Clusterer.h.

◆ expandPreCluster()

void o2::its3::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 156 of file Clusterer.h.

◆ fetchMCLabels()

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

Definition at line 420 of file Clusterer.cxx.

◆ finishChip()

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

Definition at line 205 of file Clusterer.cxx.

◆ finishChipSingleHitFast()

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

Definition at line 293 of file Clusterer.cxx.

◆ initChip()

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

Definition at line 331 of file Clusterer.cxx.

◆ operator=() [1/2]

ClustererThread & o2::its3::Clusterer::ClustererThread::operator= ( ClustererThread &&  )
delete

◆ operator=() [2/2]

ClustererThread & o2::its3::Clusterer::ClustererThread::operator= ( const ClustererThread )
delete

◆ process()

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

Definition at line 163 of file Clusterer.cxx.

◆ resetColumn()

void o2::its3::Clusterer::ClustererThread::resetColumn ( int buff) const
inline

reset column buffer, for the performance reasons we use memset

swap current and previous column buffers

Definition at line 150 of file Clusterer.h.

◆ swapColumnBuffers()

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

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

Definition at line 153 of file Clusterer.h.

◆ updateChip()

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

Definition at line 365 of file Clusterer.cxx.

Member Data Documentation

◆ column1

int* o2::its3::Clusterer::ClustererThread::column1 = nullptr

Definition at line 128 of file Clusterer.h.

◆ column2

int* o2::its3::Clusterer::ClustererThread::column2 = nullptr

Definition at line 129 of file Clusterer.h.

◆ compClusters

CompClusCont o2::its3::Clusterer::ClustererThread::compClusters

temporary buffer for pattern calc.

temporary storage for the thread output

Definition at line 144 of file Clusterer.h.

◆ curr

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

Definition at line 130 of file Clusterer.h.

◆ currCol

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

Column being processed.

Definition at line 138 of file Clusterer.h.

◆ id

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

Definition at line 125 of file Clusterer.h.

◆ labels

MCTruth o2::its3::Clusterer::ClustererThread::labels

Definition at line 146 of file Clusterer.h.

◆ labelsBuff

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

Definition at line 140 of file Clusterer.h.

◆ noLeftCol

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

flag that there is no column on the left to check

Definition at line 139 of file Clusterer.h.

◆ parent

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

Definition at line 124 of file Clusterer.h.

◆ patterns

PatternCont o2::its3::Clusterer::ClustererThread::patterns

Definition at line 145 of file Clusterer.h.

◆ pixArrBuff

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

temporary buffer for building cluster labels

Definition at line 141 of file Clusterer.h.

◆ pixels

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

Definition at line 135 of file Clusterer.h.

◆ preClusterHeads

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

Definition at line 136 of file Clusterer.h.

◆ preClusterIndices

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

Definition at line 137 of file Clusterer.h.

◆ prev

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

Definition at line 131 of file Clusterer.h.

◆ size

int o2::its3::Clusterer::ClustererThread::size = itsmft::SegmentationAlpide::NRows + 2

Definition at line 132 of file Clusterer.h.

◆ stats

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

Definition at line 147 of file Clusterer.h.


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