CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes
MTDClusterizerBase::AccretionCluster Struct Reference

#include <MTDClusterizerBase.h>

Public Types

typedef unsigned short UShort
 

Public Member Functions

bool add (FTLCluster::FTLHitPos const &p, float const ienergy, float const itime, float const itimeError)
 
bool empty ()
 
void pop ()
 
UShort top () const
 

Public Attributes

unsigned int curr = 0
 
std::array< float, MAXSIZEenergy
 
unsigned int isize = 0
 
std::array< float, MAXSIZEtime
 
std::array< float, MAXSIZEtimeError
 
std::array< UShort, MAXSIZEx
 
UShort xmin = 16000
 
std::array< UShort, MAXSIZEy
 
UShort ymin = 16000
 

Static Public Attributes

static constexpr UShort MAXSIZE = 256
 

Detailed Description

Definition at line 34 of file MTDClusterizerBase.h.

Member Typedef Documentation

Definition at line 35 of file MTDClusterizerBase.h.

Member Function Documentation

bool MTDClusterizerBase::AccretionCluster::add ( FTLCluster::FTLHitPos const &  p,
float const  ienergy,
float const  itime,
float const  itimeError 
)
inline

Definition at line 54 of file MTDClusterizerBase.h.

References FTLCluster::FTLHitPos::col(), energy, isize, MAXSIZE, min(), FTLCluster::FTLHitPos::row(), time, timeError, x, xmin, y, and ymin.

Referenced by MTDThresholdClusterizer::make_cluster(), and counter.Counter::register().

54  {
55  if (isize == MAXSIZE)
56  return false;
57  xmin = std::min(xmin, (unsigned short)(p.row()));
58  ymin = std::min(ymin, (unsigned short)(p.col()));
59  energy[isize] = ienergy;
60  time[isize] = itime;
61  timeError[isize] = itimeError;
62  x[isize] = p.row();
63  y[isize] = p.col();
64  isize++;
65  return true;
66  }
std::array< float, MAXSIZE > timeError
T min(T a, T b)
Definition: MathUtil.h:58
std::array< UShort, MAXSIZE > x
std::array< float, MAXSIZE > time
std::array< UShort, MAXSIZE > y
std::array< float, MAXSIZE > energy
bool MTDClusterizerBase::AccretionCluster::empty ( void  )
inline

Definition at line 52 of file MTDClusterizerBase.h.

References curr, and isize.

Referenced by MTDThresholdClusterizer::make_cluster().

void MTDClusterizerBase::AccretionCluster::pop ( )
inline
UShort MTDClusterizerBase::AccretionCluster::top ( ) const
inline

Definition at line 50 of file MTDClusterizerBase.h.

References curr.

Referenced by MTDThresholdClusterizer::make_cluster().

50 { return curr; }

Member Data Documentation

unsigned int MTDClusterizerBase::AccretionCluster::curr = 0

Definition at line 47 of file MTDClusterizerBase.h.

Referenced by empty(), pop(), and top().

std::array<float, MAXSIZE> MTDClusterizerBase::AccretionCluster::energy
unsigned int MTDClusterizerBase::AccretionCluster::isize = 0

Definition at line 46 of file MTDClusterizerBase.h.

Referenced by add(), empty(), and MTDThresholdClusterizer::make_cluster().

constexpr UShort MTDClusterizerBase::AccretionCluster::MAXSIZE = 256
static

Definition at line 36 of file MTDClusterizerBase.h.

Referenced by add().

std::array<float, MAXSIZE> MTDClusterizerBase::AccretionCluster::time

Definition at line 39 of file MTDClusterizerBase.h.

Referenced by add(), and MTDThresholdClusterizer::make_cluster().

std::array<float, MAXSIZE> MTDClusterizerBase::AccretionCluster::timeError

Definition at line 40 of file MTDClusterizerBase.h.

Referenced by add(), and MTDThresholdClusterizer::make_cluster().

std::array<UShort, MAXSIZE> MTDClusterizerBase::AccretionCluster::x
UShort MTDClusterizerBase::AccretionCluster::xmin = 16000
std::array<UShort, MAXSIZE> MTDClusterizerBase::AccretionCluster::y
UShort MTDClusterizerBase::AccretionCluster::ymin = 16000