 |
Belle II Software
release-05-01-25
|
11 #include <pxd/reconstruction/ClusterCache.h>
23 m_clsTop =
new ClusterCandidate*[m_maxU];
24 m_clsCur =
new ClusterCandidate*[m_maxU];
47 throw std::out_of_range(
"u cell id is outside of valid range");
50 const unsigned int u1 = u + 1;
90 if (!cls1 || cls1 == cls2)
return cls2;
91 return cls1->
merge(*cls2);
void clear()
Clear the cache structure.
void clear()
Clear the Cluster information (to reuse the same cluster instance)
Class representing a possible cluster during clustering of the PXD It supports merging of different c...
void switchRow(unsigned int v)
Switch the internal rows.
std::deque< ClusterCandidate >::iterator m_currCluster
iterator to the next free cluster to be used if a new cluster is needed.
ClusterCache(unsigned int maxU=c_defaultNumberColumns)
Create a new cache.
unsigned int m_curV
current v coordinate, needed to switch top row
std::deque< ClusterCandidate > m_clusters
list of all the clusters created so far
~ClusterCache()
Delete the cache and free the memory.
Abstract base class for different kinds of events.
ClusterCandidate * merge(ClusterCandidate &cls)
Merge the given cluster with this one.
def u1
auxiliary variable, split ADC range in two < 1024 and above (u1: below)
ClusterCandidate * mergeCluster(ClusterCandidate *cls1, ClusterCandidate *cls2)
Merge two cluster and update the list of cached clusters.
ClusterCandidate ** m_clsCur
cache of the current row
const unsigned int m_maxU
number of columns of the cache.
ClusterCandidate ** m_clsTop
cache of the top row
ClusterCandidate & findCluster(unsigned int u, unsigned int v)
Find a cluster adjacent to the given coordinates.