Project
Loading...
Searching...
No Matches
o2::tpc::ClusterNative Struct Reference

#include <ClusterNative.h>

Inherited by o2::tpc::TrackDump::ClusterNativeAdd.

Public Types

enum  clusterState { flagSplitPad = 0x1 , flagSplitTime = 0x2 , flagEdge = 0x4 , flagSingle = 0x8 }
 

Public Member Functions

 GPUd () static uint16_t packPad(float pad)
 
 GPUd () static uint32_t packTime(float time)
 
 GPUd () static float unpackPad(uint16_t pad)
 
 GPUd () static float unpackTime(uint32_t time)
 
 GPUdDefault () ClusterNative()=default
 
 GPUd () ClusterNative(uint32_t time
 
uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t sigmaTimePacked (sigmaTime)
 
uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t sigmaPadPacked (sigmaPad)
 
uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t qMax (qmax)
 
uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t qTot (qtot)
 
 GPUd () uint16_t getQmax() const
 
 GPUd () uint16_t getQtot() const
 
 GPUd () uint8_t getFlags() const
 
 GPUd () uint32_t getTimePacked() const
 
 GPUd () void setTimePackedFlags(uint32_t timePacked
 
 GPUd () void setTimePacked(uint32_t timePacked)
 
 GPUd () void setFlags(uint8_t flags)
 
 GPUd () float getTime() const
 
 GPUd () void setTime(float time)
 
 GPUd () void setTimeFlags(float time
 
 GPUd () float getPad() const
 
 GPUd () void setPad(float pad)
 
 GPUd () float getSigmaTime() const
 
 GPUd () void setSigmaTime(float sigmaTime)
 
 GPUd () float getSigmaPad() const
 
 GPUd () void setSigmaPad(float sigmaPad)
 
 GPUd () bool operator<(const ClusterNative &rhs) const
 

Public Attributes

uint32_t timeFlagsPacked
 
uint16_t padPacked
 
uint8_t sigmaTimePacked
 
uint8_t sigmaPadPacked
 
uint16_t qMax
 
uint16_t qTot
 
uint8_t flags
 
uint8_t uint16_t pad
 
uint8_t uint16_t uint8_t sigmaTime
 
uint8_t uint16_t uint8_t uint8_t sigmaPad
 
uint8_t uint16_t uint8_t uint8_t uint16_t qmax
 
uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t qtot: padPacked(pad)
 

Static Public Attributes

static constexpr int scaleTimePacked = 64
 
static constexpr int scalePadPacked = 64
 
static constexpr int scaleSigmaTimePacked = 32
 
static constexpr int scaleSigmaPadPacked = 32
 

Detailed Description

A transient data structure for clusters in TPC-native pad, and time format. To keep it as small as possible, row coordinate is kept outside in the meta information for a sequence of ClusterNative objects.

Structure holds float values in a packed integral format, scaling factors are chosen according to TPC resolution. The 24-bit wide time field allows unique values within 512 TPC drift lengths.

Not for permanent storage.

Definition at line 54 of file ClusterNative.h.

Member Enumeration Documentation

◆ clusterState

Enumerator
flagSplitPad 
flagSplitTime 
flagEdge 
flagSingle 

Definition at line 56 of file ClusterNative.h.

Member Function Documentation

◆ GPUd() [1/22]

o2::tpc::ClusterNative::GPUd ( ) const &
inline

Definition at line 141 of file ClusterNative.h.

◆ GPUd() [2/22]

o2::tpc::ClusterNative::GPUd ( )

◆ GPUd() [3/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline
Returns
Returns the pad position of the cluster. note that the pad position is defined on the left side of the pad. the pad position from clusters are calculated in HwClusterer::hwClusterProcessor() around the centre of gravity around the left side of the pad. i.e. the center of the first pad has pad position zero. To get the corresponding local Y coordinate of the cluster: Y = (pad_position - 0.5 * (n_pads - 1)) * padWidth example: the pad position is for example 12.4 (pad_position = 12.4). there are 66 pads in the first pad row (n_pads = 66). the pad width for pads in the first padrow is 4.16mm (padWidth = 4.16mm). Y = (12.4 - 0.5 * (66 - 1)) * 4.16mm = -83.616mm

Definition at line 120 of file ClusterNative.h.

◆ GPUd() [4/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 131 of file ClusterNative.h.

◆ GPUd() [5/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 122 of file ClusterNative.h.

◆ GPUd() [6/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 98 of file ClusterNative.h.

◆ GPUd() [7/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 76 of file ClusterNative.h.

◆ GPUd() [8/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 77 of file ClusterNative.h.

◆ GPUd() [9/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 74 of file ClusterNative.h.

◆ GPUd() [10/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 75 of file ClusterNative.h.

◆ GPUd() [11/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 85 of file ClusterNative.h.

◆ GPUd() [12/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 86 of file ClusterNative.h.

◆ GPUd() [13/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 88 of file ClusterNative.h.

◆ GPUd() [14/22]

o2::tpc::ClusterNative::GPUd ( ) const
inline

Definition at line 87 of file ClusterNative.h.

◆ GPUd() [15/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 97 of file ClusterNative.h.

◆ GPUd() [16/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 121 of file ClusterNative.h.

◆ GPUd() [17/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 132 of file ClusterNative.h.

◆ GPUd() [18/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 123 of file ClusterNative.h.

◆ GPUd() [19/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 99 of file ClusterNative.h.

◆ GPUd() [20/22]

o2::tpc::ClusterNative::GPUd ( )

◆ GPUd() [21/22]

o2::tpc::ClusterNative::GPUd ( )
inline

Definition at line 93 of file ClusterNative.h.

◆ GPUd() [22/22]

o2::tpc::ClusterNative::GPUd ( )

◆ GPUdDefault()

o2::tpc::ClusterNative::GPUdDefault ( )
default

◆ qMax()

uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t o2::tpc::ClusterNative::qMax ( qmax  )

◆ qTot()

uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t o2::tpc::ClusterNative::qTot ( qtot  )
inline

Definition at line 80 of file ClusterNative.h.

◆ sigmaPadPacked()

uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t o2::tpc::ClusterNative::sigmaPadPacked ( sigmaPad  )

◆ sigmaTimePacked()

uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t o2::tpc::ClusterNative::sigmaTimePacked ( sigmaTime  )

Member Data Documentation

◆ flags

uint8_t o2::tpc::ClusterNative::flags
Initial value:
{
timeFlagsPacked = (timePacked & 0xFFFFFF) | (uint32_t)flags << 24
GLbitfield flags
Definition glcorearb.h:1570

Definition at line 80 of file ClusterNative.h.

◆ pad

uint8_t uint16_t o2::tpc::ClusterNative::pad

Definition at line 80 of file ClusterNative.h.

◆ padPacked

uint16_t o2::tpc::ClusterNative::padPacked

Definition at line 68 of file ClusterNative.h.

◆ qMax

uint16_t o2::tpc::ClusterNative::qMax

Definition at line 71 of file ClusterNative.h.

◆ qmax

uint8_t uint16_t uint8_t uint8_t uint16_t o2::tpc::ClusterNative::qmax

Definition at line 80 of file ClusterNative.h.

◆ qTot

uint16_t o2::tpc::ClusterNative::qTot

Definition at line 72 of file ClusterNative.h.

◆ qtot

uint8_t uint16_t uint8_t uint8_t uint16_t uint16_t o2::tpc::ClusterNative::qtot

Definition at line 80 of file ClusterNative.h.

◆ scalePadPacked

constexpr int o2::tpc::ClusterNative::scalePadPacked = 64
staticconstexpr

Definition at line 62 of file ClusterNative.h.

◆ scaleSigmaPadPacked

constexpr int o2::tpc::ClusterNative::scaleSigmaPadPacked = 32
staticconstexpr

Definition at line 64 of file ClusterNative.h.

◆ scaleSigmaTimePacked

constexpr int o2::tpc::ClusterNative::scaleSigmaTimePacked = 32
staticconstexpr

Definition at line 63 of file ClusterNative.h.

◆ scaleTimePacked

constexpr int o2::tpc::ClusterNative::scaleTimePacked = 64
staticconstexpr

Definition at line 61 of file ClusterNative.h.

◆ sigmaPad

uint8_t uint16_t uint8_t uint8_t o2::tpc::ClusterNative::sigmaPad

Definition at line 80 of file ClusterNative.h.

◆ sigmaPadPacked

uint8_t o2::tpc::ClusterNative::sigmaPadPacked

Definition at line 70 of file ClusterNative.h.

◆ sigmaTime

uint8_t uint16_t uint8_t o2::tpc::ClusterNative::sigmaTime

Definition at line 80 of file ClusterNative.h.

◆ sigmaTimePacked

uint8_t o2::tpc::ClusterNative::sigmaTimePacked

Definition at line 69 of file ClusterNative.h.

◆ timeFlagsPacked

uint32_t o2::tpc::ClusterNative::timeFlagsPacked

Definition at line 66 of file ClusterNative.h.


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