]>
Commit | Line | Data |
---|---|---|
70f2ce9d | 1 | #ifndef ALIKMEANSCLUSTERING_H |
2 | #define ALIKMEANSCLUSTERING_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // Implemenatation of the K-Means Clustering Algorithm | |
8 | // http://en.wikipedia.org/wiki/K-means_clustering | |
9 | // This particular implementation is the so called Soft K-means algorithm. | |
10 | // It has been modified to work on the cylindrical topology in eta-phi space. | |
11 | // | |
12 | // Author: Andreas Morsch (CERN) | |
13 | // andreas.morsch@cern.ch | |
14 | ||
15 | #include <TObject.h> | |
16 | ||
17 | class AliKMeansClustering : public TObject | |
18 | { | |
19 | public: | |
20 | AliKMeansClustering() {} | |
21 | virtual ~AliKMeansClustering() {} | |
22 | ||
b7aa0494 | 23 | static Int_t SoftKMeans (Int_t k, Int_t n, Double_t* x, Double_t* y, Double_t* mx, Double_t* my , Double_t* rk ); |
24 | static Int_t SoftKMeans2(Int_t k, Int_t n, Double_t* x, Double_t* y, Double_t* mx, Double_t* my , Double_t* sigma2, | |
77f42a25 | 25 | Double_t* rk ); |
5145d1b5 | 26 | static void OptimalInit(Int_t k, Int_t n, Double_t* x, Double_t* y, Double_t* mx, Double_t* my); |
27 | static void SetBeta(Double_t beta) {fBeta = beta;} | |
70f2ce9d | 28 | static Double_t d(Double_t mx, Double_t my, Double_t x, Double_t y); |
29 | protected: | |
30 | static Double_t fBeta; | |
31 | ||
32 | ClassDef(AliKMeansClustering, 1) | |
33 | }; | |
34 | ||
35 | #endif |