35 #ifndef STROOT_STFMSPOINTMAKER_STFMSCLUSTERFINDER_H_
36 #define STROOT_STFMSPOINTMAKER_STFMSCLUSTERFINDER_H_
44 namespace FMSCluster {
45 class StFmsTowerCluster;
50 typedef std::list<std::unique_ptr<StFmsTowerCluster>> ClusterList;
60 typedef std::list<FMSCluster::StFmsTower*> TowerList;
88 #ifndef __CINT__ // Hide ClusterList from CINT
102 int findClusters(TowerList* towers, ClusterList* clusters,
int detetorId);
106 static const unsigned kMaxNClusters = 25;
107 #ifndef __CINT__ // Hide ClusterList from CINT
115 unsigned locateClusterSeeds(TowerList* towers, TowerList* neighbors,
116 ClusterList* clusters)
const;
132 unsigned associateTowersWithClusters(TowerList* neighbors,
133 ClusterList* clusters,
134 TObjArray* valleys)
const;
146 unsigned associateValleyTowersWithClusters(TowerList* neighbors,
147 ClusterList* clusters,
148 TObjArray* valleys)
const;
156 unsigned associateResidualTowersWithClusters(TowerList* neighbors,
157 ClusterList* clusters)
const;
165 void associateSubThresholdTowersWithClusters(TowerList* towers,
166 ClusterList* clusters)
const;
169 Double_t mEnergyCutoff;
176 #endif // STROOT_STFMSPOINTMAKER_STFMSCLUSTERFINDER_H_
StFmsClusterFinder(double energyCutoff=0.5)
virtual ~StFmsClusterFinder()
int categorise(StFmsTowerCluster *cluster)
void calculateClusterMoments(StFmsTowerCluster *cluster) const
int findClusters(TowerList *towers, ClusterList *clusters, int detetorId)
double momentEnergyCutoff() const