Project
Loading...
Searching...
No Matches
o2::tpc::IDCGroup Class Reference

Class to hold grouped IDC values for one CRU for one TF. More...

#include <IDCGroup.h>

Inherits o2::tpc::IDCGroupHelperRegion.

Public Member Functions

 IDCGroup (const unsigned char groupPads=4, const unsigned char groupRows=4, const unsigned char groupLastRowsThreshold=2, const unsigned char groupLastPadsThreshold=2, const unsigned int groupNotnPadsSectorEdges=0, const unsigned short cru=0)
 
void resize (const unsigned int nIntegrationIntervals)
 
float operator() (unsigned int glrow, unsigned int pad, unsigned int integrationInterval) const
 
float & operator() (unsigned int glrow, unsigned int pad, unsigned int integrationInterval)
 
void setValUngrouped (unsigned int ulrow, unsigned int upad, unsigned int integrationInterval, const float value)
 
float getValUngrouped (unsigned int ulrow, unsigned int upad, unsigned int integrationInterval) const
 
float getValUngroupedGlobal (unsigned int ugrow, unsigned int upad, unsigned int integrationInterval) const
 
const auto & getData () const &
 
auto getData () &&
 
void setData (const std::vector< float > &idcs)
 directly setting grouped IDC values
 
unsigned int getNIntegrationIntervals () const
 
void dumpToTree (const char *outname="IDCGroup.root") const
 
void dumpToFile (const char *outFileName="IDCGroup.root", const char *outName="IDCGroup") const
 
void draw (const unsigned int integrationInterval=0, const std::string filename="IDCsGrouped.pdf") const
 
unsigned short getCRU () const
 
- Public Member Functions inherited from o2::tpc::IDCGroupHelperRegion
 IDCGroupHelperRegion (const unsigned char groupPads, const unsigned char groupRows, const unsigned char groupLastRowsThreshold, const unsigned char groupLastPadsThreshold, const unsigned int groupNotnPadsSectorEdges, const unsigned int region)
 
 IDCGroupHelperRegion ()=default
 default constructor for ROOT I/O
 
unsigned int getNRows () const
 
unsigned int getPadsPerRow (const unsigned int glrow) const
 
const std::vector< unsigned int > & getPadsPerRow () const
 
const std::vector< unsigned int > & getRowOffset () const
 
unsigned int getGroupPads () const
 
unsigned int getGroupRows () const
 
unsigned int getGroupLastRowsThreshold () const
 
unsigned int getGroupLastPadsThreshold () const
 
unsigned int getGroupPadsSectorEdges () const
 
unsigned int getRegion () const
 
unsigned int getNIDCsPerIntegrationInterval () const
 
unsigned int getGroupedRow (const unsigned int ulrow) const
 
unsigned int getGroupedPad (const unsigned int pad, const unsigned int ulrow) const
 
unsigned int getIndex (const unsigned int glrow, const unsigned int pad, unsigned int integrationInterval) const
 
unsigned int getIndexUngrouped (const unsigned int ulrow, const unsigned int upad, unsigned int integrationInterval) const
 
int getOffsetForEdgePad (const unsigned int upad, const unsigned int ulrow) const
 
unsigned int getIndexUngroupedGlob (const unsigned int ugrow, const unsigned int upad, unsigned int integrationInterval) const
 
unsigned int getGlobalPadNumber (const unsigned int ulrow, const unsigned int pad) const
 
unsigned int getLastRow () const
 
unsigned int getLastPad (const unsigned int ulrow) const
 
void dumpToFile (const char *outFileName="IDCGroupHelperRegion.root", const char *outName="IDCGroupHelperRegion") const
 
unsigned int getGroupedPadsSectorEdges () const
 
unsigned int getTotalGroupPadsSectorEdges () const
 
EdgePadGroupingMethod getEdgePadGroupingType () const
 
unsigned int getPadsInGroupSectorEdges (const unsigned indexGroup) const
 

Additional Inherited Members

- Static Public Member Functions inherited from o2::tpc::IDCGroupHelperRegion
static unsigned int getGroupedRow (const unsigned int ulrow, const unsigned int groupRows, const unsigned int groupedrows)
 
static unsigned int getGroupedPad (const unsigned int upad, const unsigned int ulrow, const unsigned int region, const unsigned int groupPads, const unsigned int groupRows, const unsigned int groupedrows, const unsigned int groupPadsSectorEdges, const std::vector< unsigned int > &padsPerRow)
 
static int getOffsetForEdgePad (const unsigned int upad, const unsigned int ulrow, const unsigned int groupRows, const unsigned int groupPadsSectorEdges, const unsigned int region, const int lastRow)
 
static bool isSectorEdgePad (const unsigned int upad, const unsigned int ulrow, const unsigned int region, const unsigned int groupPadsSectorEdges)
 
static unsigned int getLastPad (const unsigned int ulrow, const unsigned int region, const unsigned char groupPads, const unsigned char groupLastPadsThreshold, const unsigned int groupPadsSectorEdges)
 
static unsigned int getIndexGroupPadsSectorEdges (const unsigned int groupPadsSectorEdges, const unsigned int urelpad)
 
- Protected Member Functions inherited from o2::tpc::IDCGroupHelperRegion
void setRows (const unsigned int nRows)
 set number of grouped rows
 
void initIDCGroupHelperRegion ()
 initialize members
 
unsigned int getIndexGroupPadsSectorEdges (const unsigned int urelpad)
 
- Static Protected Member Functions inherited from o2::tpc::IDCGroupHelperRegion
static unsigned int getIndexGroupPadsSectorEdges (const unsigned int groupPadsSectorEdges, const unsigned int urelpad, const unsigned int count)
 helper function for getIndexGroupPadsSectorEdges(unsigned int groupPadsSectorEdges, const unsigned int urelpad)
 
- Protected Attributes inherited from o2::tpc::IDCGroupHelperRegion
const unsigned char mGroupPads {}
 grouping parameter in pad direction (how many pads in pad direction are grouped)
 
const unsigned char mGroupRows {}
 grouping parameter in pad direction (how many pads in pad direction are grouped)
 
const unsigned char mGroupLastRowsThreshold {}
 if the last group (region edges) consists in row direction less then mGroupLastRowsThreshold pads then it will be grouped into the previous group
 
const unsigned char mGroupLastPadsThreshold {}
 if the last group (sector edges) consists in pad direction less then mGroupLastPadsThreshold pads then it will be grouped into the previous group
 
const unsigned int mGroupPadsSectorEdges {}
 decoded number of pads at the sector edges which are grouped differently (example: 0: no pads are grouped, 11: first two pads are not grouped, 321: first pad is not grouped, second + third pads are grouped, fourth + fifth + sixth pads are grouped)
 
const unsigned int mRegion {}
 region of input IDCs
 
unsigned int mNIDCsPerCRU {}
 total number of IDCs per CRU per integration interval
 
unsigned int mRows {}
 number of grouped rows
 
std::vector< unsigned intmPadsPerRow {}
 number of grouped pads per grouped row
 
std::vector< unsigned intmOffsRow {}
 offset to calculate the index in the data from grouped row and grouped pad
 

Detailed Description

Class to hold grouped IDC values for one CRU for one TF.

Definition at line 34 of file IDCGroup.h.

Constructor & Destructor Documentation

◆ IDCGroup()

o2::tpc::IDCGroup::IDCGroup ( const unsigned char  groupPads = 4,
const unsigned char  groupRows = 4,
const unsigned char  groupLastRowsThreshold = 2,
const unsigned char  groupLastPadsThreshold = 2,
const unsigned int  groupNotnPadsSectorEdges = 0,
const unsigned short  cru = 0 
)
inline

constructor

Parameters
groupPadsnumber of pads in pad direction which will be grouped
groupRowsnumber of pads in row direction which will be grouped
groupLastRowsThresholdminimum number of pads in row direction for the last group in row direction
groupLastPadsThresholdminimum number of pads in pad direction for the last group in pad direction
crucru index

Definition at line 43 of file IDCGroup.h.

Member Function Documentation

◆ draw()

void o2::tpc::IDCGroup::draw ( const unsigned int  integrationInterval = 0,
const std::string  filename = "IDCsGrouped.pdf" 
) const

draw grouped IDCs

Parameters
integrationIntervalintegration interval for which the IDCs will be drawn
filenamename of the output file. If empty the canvas is drawn.

Definition at line 40 of file IDCGroup.cxx.

◆ dumpToFile()

void o2::tpc::IDCGroup::dumpToFile ( const char outFileName = "IDCGroup.root",
const char outName = "IDCGroup" 
) const

dump object to disc

Parameters
outFileNamename of the output file
outNamename of the object in the output file

Definition at line 52 of file IDCGroup.cxx.

◆ dumpToTree()

void o2::tpc::IDCGroup::dumpToTree ( const char outname = "IDCGroup.root") const

dump the IDCs to a tree

Parameters
outnamename of the output file

Definition at line 21 of file IDCGroup.cxx.

◆ getCRU()

unsigned short o2::tpc::IDCGroup::getCRU ( ) const
inline
Returns
returns cru

Definition at line 108 of file IDCGroup.h.

◆ getData() [1/2]

auto o2::tpc::IDCGroup::getData ( ) &&
inline
Returns
returns grouped and averaged IDC values using move semantics

Definition at line 85 of file IDCGroup.h.

◆ getData() [2/2]

const auto & o2::tpc::IDCGroup::getData ( ) const &
inline
Returns
returns grouped and averaged IDC values

Definition at line 82 of file IDCGroup.h.

◆ getNIntegrationIntervals()

unsigned int o2::tpc::IDCGroup::getNIntegrationIntervals ( ) const
inline
Returns
returns number of stored integration intervals

Definition at line 91 of file IDCGroup.h.

◆ getValUngrouped()

float o2::tpc::IDCGroup::getValUngrouped ( unsigned int  ulrow,
unsigned int  upad,
unsigned int  integrationInterval 
) const
inline
Returns
returns the stored value for local ungrouped pad row and ungrouped pad
Parameters
ulrowlocal row in region of the ungrouped IDCs
upadpad number of the ungrouped IDCs
integrationIntervalintegration interval

Definition at line 73 of file IDCGroup.h.

◆ getValUngroupedGlobal()

float o2::tpc::IDCGroup::getValUngroupedGlobal ( unsigned int  ugrow,
unsigned int  upad,
unsigned int  integrationInterval 
) const
Returns
returns the stored value for local ungrouped pad row and ungrouped pad
Parameters
ugrowglobal row of the ungrouped IDCs
upadpad number of the ungrouped IDCs
integrationIntervalintegration interval

Definition at line 59 of file IDCGroup.cxx.

◆ operator()() [1/2]

float & o2::tpc::IDCGroup::operator() ( unsigned int  glrow,
unsigned int  pad,
unsigned int  integrationInterval 
)
inline
Returns
returns the stored value
Parameters
glrowlocal row of the grouped IDCs
padpad number of the grouped IDCs
integrationIntervalintegration interval

Definition at line 61 of file IDCGroup.h.

◆ operator()() [2/2]

float o2::tpc::IDCGroup::operator() ( unsigned int  glrow,
unsigned int  pad,
unsigned int  integrationInterval 
) const
inline
Returns
returns the stored value
Parameters
glrowlocal row of the grouped IDCs
padpad number of the grouped IDCs
integrationIntervalintegration interval

Definition at line 55 of file IDCGroup.h.

◆ resize()

void o2::tpc::IDCGroup::resize ( const unsigned int  nIntegrationIntervals)
inline

extend the size of the grouped and averaged IDC values corresponding to the number of integration intervals. This has to be called befor filling values! without using this function the object can hold only one integration interval

Parameters
nIntegrationIntervalsnumber of ontegration intervals for which teh IDCs are stored

Definition at line 49 of file IDCGroup.h.

◆ setData()

void o2::tpc::IDCGroup::setData ( const std::vector< float > &  idcs)
inline

directly setting grouped IDC values

Definition at line 88 of file IDCGroup.h.

◆ setValUngrouped()

void o2::tpc::IDCGroup::setValUngrouped ( unsigned int  ulrow,
unsigned int  upad,
unsigned int  integrationInterval,
const float  value 
)
inline
Returns
returns the stored value for local ungrouped pad row and ungrouped pad
Parameters
ulrowlocal row in region of the ungrouped IDCs
upadpad number of the ungrouped IDCs
integrationIntervalintegration interval

Definition at line 67 of file IDCGroup.h.


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