23#include "GaudiKernel/IToolSvc.h"
26 const std::string &name,
27 const IInterface *parent)
28 : base_class(
type, name, parent) {
32 return StatusCode::SUCCESS;
36 return StatusCode::SUCCESS;
41 std::list<const xAOD::AFPSiHit*> hitsAboveThreshold;
46 hitsAboveThreshold.push_back(theHit);
48 while (!hitsAboveThreshold.empty()) {
50 hitsAboveThreshold.pop_front();
53 float horizID = pixelHorizID;
58 const std::list<const xAOD::AFPSiHit*>::iterator neighbourEnd = hitsAboveThreshold.end();
59 std::list<const xAOD::AFPSiHit*>::iterator neighbourIter = hitsAboveThreshold.begin();
60 while (neighbourIter != neighbourEnd) {
71 hitsAboveThreshold.erase(neighbourIter);
78 theCluster.
hits().push_back(neighbour);
87 return StatusCode::SUCCESS;
Definitions of identification numbers of pixel clustering algorithms.
Header file for AFPSiClusterBasicNearestNeighbour used for clustering hits.
Full definition of AFPSiClusterBasicObj.
double charge(const T &p)
Gaudi::Property< float > m_chargeThreshold
virtual StatusCode finalize() override
does nothing
virtual StatusCode doClustering(const std::list< const xAOD::AFPSiHit * > &hits, std::list< AFPSiClusterBasicObj > &outputClusters) const override
Creates a cluster from the neighbouring pixels, joining only two pixels with charge above m_chargeThr...
AFPSiClusterBasicNearestNeighbour(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode initialize() override
does nothing
Class representing basic silicon pixels cluster, designed to be used for creating the clusters.
void setCharge(const double charge)
std::list< const xAOD::AFPSiHit * > & hits()
list of pixels used to form the cluster
void setVertID(const float vertID)
void setHorizID(const float horizID)
static const int nearestNeighbour
Nearest neighbour algorithm.
float depositedCharge() const
Charge deposited in the pixel.
int pixelHorizID() const
Index of the pixel along X axis in LHC coordinate system.
int pixelVertID() const
Index of the pixel along Y axis in LHC coordinate system.