Project
Loading...
Searching...
No Matches
o2::itsmft::Cluster Class Reference

Cluster class for the ITSMFT. More...

#include <Cluster.h>

Inherits o2::BaseCluster< float >.

Public Types

enum  { kUsed , kShared }
 
enum  {
  kOffsNZ = 0 , kMaskNZ = 0xff , kOffsNX = 8 , kMaskNX = 0xff ,
  kOffsNPix = 16 , kMaskNPix = 0x1ff , kOffsClUse = 25 , kMaskClUse = 0x7f
}
 
enum  { kMaxPatternBits = 32 * 16 , kMaxPatternBytes = kMaxPatternBits / 8 , kSpanMask = 0x7fff , kTruncateMask = 0x8000 }
 

Public Member Functions

 ~Cluster ()=default
 
void setUsed ()
 
void setShared ()
 
void increaseClusterUsage ()
 
bool isUsed () const
 
bool isShared () const
 
void setNxNzN (UChar_t nx, UChar_t nz, UShort_t n)
 
void setClusterUsage (int n)
 
void modifyClusterUsage (bool used=kTRUE)
 
void incClusterUsage ()
 
void decreaseClusterUsage ()
 
int getNx () const
 
int getNz () const
 
int getNPix () const
 
int getClusterUsage () const
 
void print () const
 
 BaseCluster ()=default
 
 BaseCluster (std::uint16_t sensid, const math_utils::Point3D< T > &xyz)
 
 BaseCluster (std::uint16_t sensid, T x, T y, T z)
 
 BaseCluster (std::uint16_t sensid, const math_utils::Point3D< T > &xyz, T sy2, T sz2, T syz)
 
 BaseCluster (std::int16_t sensid, T x, T y, T z, T sy2, T sz2, T syz)
 
- Public Member Functions inherited from o2::BaseCluster< float >
 BaseCluster ()=default
 
 BaseCluster (std::uint16_t sensid, const math_utils::Point3D< float > &xyz)
 
 BaseCluster (std::uint16_t sensid, float x, float y, float z)
 
 BaseCluster (std::uint16_t sensid, const math_utils::Point3D< float > &xyz, float sy2, float sz2, float syz)
 
 BaseCluster (std::int16_t sensid, float x, float y, float z, float sy2, float sz2, float syz)
 
 ~BaseCluster ()=default
 
float getX () const
 
float getY () const
 
float getZ () const
 
float getSigmaY2 () const
 
float getSigmaZ2 () const
 
float getSigmaYZ () const
 
math_utils::Point3D< float > getXYZ () const
 
math_utils::Point3D< float > & getXYZ ()
 
math_utils::Point3D< float > getXYZLoc (const o2::detectors::DetMatrixCache &dm) const
 
math_utils::Point3D< float > getXYZGlo (const o2::detectors::DetMatrixCache &dm) const
 
math_utils::Point3D< float > getXYZGloRot (const o2::detectors::DetMatrixCache &dm) const
 
std::int16_t getSensorID () const
 
std::int8_t getCount () const
 
std::uint8_t getBits () const
 
bool isBitSet (int bit) const
 
 operator math_utils::Point3D< float > & ()
 
void setSensorID (std::int16_t sid)
 
void setCount (std::int8_t c)
 
void setBits (std::uint8_t b)
 
void setBit (int bit)
 
void resetBit (int bit)
 
void setX (float x)
 
void setY (float y)
 
void setZ (float z)
 
void setXYZ (float x, float y, float z)
 
void setPos (const math_utils::Point3D< float > &p)
 
void setSigmaY2 (float v)
 
void setSigmaZ2 (float v)
 
void setSigmaYZ (float v)
 
void setErrors (float sy2, float sz2, float syz)
 

Static Public Attributes

static constexpr int maxLabels = 10
 

Protected Member Functions

 ClassDefNV (Cluster, CLUSTER_VERSION)
 
- Protected Member Functions inherited from o2::BaseCluster< float >
 ClassDefNV (BaseCluster, 2)
 

Protected Attributes

Int_t mNxNzN = 0
 

Detailed Description

Cluster class for the ITSMFT.

Definition at line 33 of file Cluster.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kUsed 
kShared 

Definition at line 36 of file Cluster.h.

◆ anonymous enum

anonymous enum
Enumerator
kOffsNZ 
kMaskNZ 
kOffsNX 
kMaskNX 
kOffsNPix 
kMaskNPix 
kOffsClUse 
kMaskClUse 

Definition at line 41 of file Cluster.h.

◆ anonymous enum

anonymous enum
Enumerator
kMaxPatternBits 
kMaxPatternBytes 
kSpanMask 
kTruncateMask 

Definition at line 53 of file Cluster.h.

Constructor & Destructor Documentation

◆ ~Cluster()

o2::itsmft::Cluster::~Cluster ( )
default

Member Function Documentation

◆ BaseCluster() [1/5]

o2::BaseCluster< T >::BaseCluster ( )
default

◆ BaseCluster() [2/5]

o2::BaseCluster< T >::BaseCluster ( std::int16_t  sensid,
x,
y,
z,
sy2,
sz2,
syz 
)
inline

Definition at line 56 of file BaseCluster.h.

◆ BaseCluster() [3/5]

o2::BaseCluster< T >::BaseCluster ( std::uint16_t  sensid,
const math_utils::Point3D< T > &  xyz 
)
inline

Definition at line 50 of file BaseCluster.h.

◆ BaseCluster() [4/5]

o2::BaseCluster< T >::BaseCluster ( std::uint16_t  sensid,
const math_utils::Point3D< T > &  xyz,
sy2,
sz2,
syz 
)
inline

Definition at line 52 of file BaseCluster.h.

◆ BaseCluster() [5/5]

o2::BaseCluster< T >::BaseCluster ( std::uint16_t  sensid,
x,
y,
z 
)
inline

Definition at line 51 of file BaseCluster.h.

◆ ClassDefNV()

o2::itsmft::Cluster::ClassDefNV ( Cluster  ,
CLUSTER_VERSION   
)
protected

◆ decreaseClusterUsage()

void o2::itsmft::Cluster::decreaseClusterUsage ( )
inline

Definition at line 165 of file Cluster.h.

◆ getClusterUsage()

int o2::itsmft::Cluster::getClusterUsage ( ) const
inline

Definition at line 90 of file Cluster.h.

◆ getNPix()

int o2::itsmft::Cluster::getNPix ( ) const
inline

Definition at line 89 of file Cluster.h.

◆ getNx()

int o2::itsmft::Cluster::getNx ( ) const
inline

Definition at line 87 of file Cluster.h.

◆ getNz()

int o2::itsmft::Cluster::getNz ( ) const
inline

Definition at line 88 of file Cluster.h.

◆ incClusterUsage()

void o2::itsmft::Cluster::incClusterUsage ( )
inline

Definition at line 81 of file Cluster.h.

◆ increaseClusterUsage()

void o2::itsmft::Cluster::increaseClusterUsage ( )
inline

Definition at line 70 of file Cluster.h.

◆ isShared()

bool o2::itsmft::Cluster::isShared ( ) const
inline

Definition at line 73 of file Cluster.h.

◆ isUsed()

bool o2::itsmft::Cluster::isUsed ( ) const
inline

Definition at line 72 of file Cluster.h.

◆ modifyClusterUsage()

void o2::itsmft::Cluster::modifyClusterUsage ( bool  used = kTRUE)
inline

Definition at line 80 of file Cluster.h.

◆ print()

void Cluster::print ( ) const

Definition at line 70 of file Cluster.cxx.

◆ setClusterUsage()

void o2::itsmft::Cluster::setClusterUsage ( int  n)
inline

Definition at line 176 of file Cluster.h.

◆ setNxNzN()

void o2::itsmft::Cluster::setNxNzN ( UChar_t  nx,
UChar_t  nz,
UShort_t  n 
)
inline

Definition at line 75 of file Cluster.h.

◆ setShared()

void o2::itsmft::Cluster::setShared ( )
inline

Definition at line 69 of file Cluster.h.

◆ setUsed()

void o2::itsmft::Cluster::setUsed ( )
inline

Definition at line 68 of file Cluster.h.

Member Data Documentation

◆ maxLabels

constexpr int o2::itsmft::Cluster::maxLabels = 10
staticconstexpr

Definition at line 63 of file Cluster.h.

◆ mNxNzN

Int_t o2::itsmft::Cluster::mNxNzN = 0
protected

effective cluster size in X (1st byte) and Z (2nd byte) directions and total Npix(next 9 bits).

‍The last 7 bits are used for clusters usage counter

Definition at line 148 of file Cluster.h.


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