]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSClusterFinderSPD.h
Bug fix
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSPD.h
index 787e52b651a94878b293815752cdea58eed055a7..8a50682531145ba8c5f8d2734251d74b4675e07c 100644 (file)
@@ -6,64 +6,50 @@
 ////////////////////////////////////////////////
 
 #include "AliITSClusterFinder.h"
+#include "AliITSDetTypeRec.h"
 
 class AliITSMapA1;
-
-class AliITSClusterFinderSPD :
-  public AliITSClusterFinder
-
-{
-public:
-  AliITSClusterFinderSPD
-       (AliITSsegmentation *seg, TClonesArray *dig, TClonesArray *recp);
-  AliITSClusterFinderSPD();
-  virtual ~AliITSClusterFinderSPD();
-  
-  void SetDx(Float_t dx=1.) {
-    // set dx
-    fDx=dx;
-  }
-  void SetDz(Float_t dz=0.) {
-    // set dz
-    fDz=dz;
-  }
-  void SetNCells(Int_t minc=0) {
-    // set ncells
-    fMinNCells=minc;
-  }
-  
-  // Search for clusters
-  void FindRawClusters(Int_t mod=0);
-  void  Find1DClusters();
-  void  GroupClusters();
-  void  TracksInCluster();
-  void  SelectClusters() {
-    // selects clusters
-  }
-  void  GetRecPoints();
-  
-  private:
-
-  AliITSClusterFinderSPD(const AliITSClusterFinderSPD &source); // copy ctor
-  AliITSClusterFinderSPD& operator=(const AliITSClusterFinderSPD &source); 
-
-private:
-  
-  TClonesArray       *fClusters;      // clusters
-  Int_t               fNclusters;     // num of clusters
-  Float_t             fDz;            // dz
-  Float_t             fDx;            // dx
+class AliITSsegmentation;
+class AliITSsegmentationSPD;
+class AliITSresponse;
+class AliITSresponseSPD;
+class TClonesArray;
+
+
+class AliITSClusterFinderSPD : public AliITSClusterFinder{
+ public:
+    AliITSClusterFinderSPD();
+    AliITSClusterFinderSPD(AliITSDetTypeRec* dettyp);
+    AliITSClusterFinderSPD(AliITSDetTypeRec* dettyp,
+                          TClonesArray *digits,TClonesArray *recpoints);
+    virtual ~AliITSClusterFinderSPD(){}// destructor
+    //Returns fSegmentation
+    virtual AliITSsegmentationSPD* GetSeg()const{
+        return (AliITSsegmentationSPD*)fDetTypeRec->GetSegmentationModel(0);}  
+    virtual void SetDx(Double_t dx=1.) {fDx=dx;}// set dx
+    virtual void SetDz(Double_t dz=0.) {fDz=dz;}// set dz
+    // Search for clusters
+    virtual void FindRawClusters(Int_t module); 
+    void  DigitToPoint(Int_t nclus, Double_t *xcenter, Double_t *zcenter,
+                       Double_t *errxcenter,Double_t *errzcenter,
+                       Int_t *tr1clus, Int_t *tr2clus, Int_t *tr3clus);
+    void  ClusterFinder(Int_t ndigits,Int_t digx[],Int_t digz[],
+                        Int_t digtr1[],Int_t digtr2[],Int_t digtr3[],
+                        Int_t digtr4[],
+                        Int_t &nclus,
+                        Double_t xcenter[],Double_t zcenter[],
+                        Double_t errxcenter[],Double_t errzcenter[],  
+                        Int_t tr1clus[],Int_t tr2clus[], Int_t tr3clus[]);
+ protected:
+    // copy constructor
+    AliITSClusterFinderSPD(const AliITSClusterFinderSPD &source);
+    // assignment operator
+    AliITSClusterFinderSPD& operator=(const AliITSClusterFinderSPD &source);
+
+    Double_t             fDz;            // dz
+    Double_t             fDx;            // dx
+    Int_t               fMinNCells;     // min num of cells in the cluster
   
-  Int_t               fMinNCells;     // min num of cells in the cluster
-  
-  ClassDef(AliITSClusterFinderSPD,1)  // SPD clustering - Boris B. algo based
-                                      // on Piergiorgio's algo
-    };
+    ClassDef(AliITSClusterFinderSPD,2)  // SPD clustering
+};
 #endif
-
-
-
-
-
-
-