]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSClusterFinderSPD.h
AliMUONGeometryStore replaced with AliMpExMap (used as the type
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSPD.h
index 23a34591fb074fd1276b2cdb5286242d6b051330..8a50682531145ba8c5f8d2734251d74b4675e07c 100644 (file)
@@ -6,62 +6,50 @@
 ////////////////////////////////////////////////
 
 #include "AliITSClusterFinder.h"
+#include "AliITSDetTypeRec.h"
 
 class AliITSMapA1;
-
-class AliITSClusterFinderSPD :
-  public AliITSClusterFinder
-
-{
-public:
-  AliITSClusterFinderSPD
-  (AliITSsegmentation *segmentation,
-   TClonesArray *digits, TClonesArray *recpoints);
-  AliITSClusterFinderSPD();
-  virtual ~AliITSClusterFinderSPD();
-  AliITSClusterFinderSPD(const AliITSClusterFinderSPD &source); // copy constructor
-  AliITSClusterFinderSPD& operator=(const AliITSClusterFinderSPD &source); // assignment operator
-  
-  virtual void SetMap();
-  virtual void SetDx(Float_t dx=1.) {
-    // set dx
-    fDx=dx;
-  }
-  virtual void SetDz(Float_t dz=0.) {
-    // set dz
-    fDz=dz;
-  }
-  virtual void SetNCells(Int_t minc=0) {
-    // set ncells
-    fMinNCells=minc;
-  }
-  
-  // Search for clusters
-  virtual void FindRawClusters();
-  void  Find1DClusters();
-  void  GroupClusters();
-  void  SelectClusters() {
-    // selects clusters
-  }
-  void  GetRecPoints();
-  
-private:
-  
-  TClonesArray       *fClusters;      // clusters
-  Int_t               fNclusters;     // num of clusters
-  Float_t             fDz;            // dz
-  Float_t             fDx;            // dx
-  
-  Int_t               fMinNCells;     // min num of cells in the cluster
+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
   
-  ClassDef(AliITSClusterFinderSPD,1)  // SPD clustering - Boris B. algo based
-                                      // on Piergiorgio's algo
-    };
+    ClassDef(AliITSClusterFinderSPD,2)  // SPD clustering
+};
 #endif
-
-
-
-
-
-
-