]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSClusterFinderSDD.h
New Class AliITSTrackleterSPDEff:
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSDD.h
index 655e09f4d39158196c886675c0fc7525615b66ed..8a4e20e5d50b58d7a2914e04304b293e6e61d9e6 100644 (file)
@@ -8,11 +8,14 @@
   $Id$
 */
 
+#include <TArrayI.h>
+
 #include "AliITSClusterFinder.h"
+#include "AliITSDetTypeRec.h"
 
-class AliITSMapA2;
-class AliITSresponse;
-class AliITSresponseSDD;
+// class AliITSMapA2;
+class AliITSCalibration;
+class AliITSCalibrationSDD;
 class AliITSsegmentation;
 class AliITSsegmentationSDD;
 class TFile;
@@ -20,14 +23,14 @@ class TFile;
 class AliITSClusterFinderSDD : public AliITSClusterFinder{
   public:
     AliITSClusterFinderSDD
-        (AliITSsegmentation *seg,AliITSresponse *response,
+        (AliITSDetTypeRec* dettyp,
          TClonesArray *digits,TClonesArray *recpoints);
     AliITSClusterFinderSDD();
     virtual ~AliITSClusterFinderSDD(){};
     
-    virtual void  SetCutAmplitude(Double_t nsigma=4);
-    virtual Int_t CutAmplitude() const {// get cut amplitude
-        return fCutAmplitude;}
+    virtual void  SetCutAmplitude(Int_t mod,Double_t nsigma=4);
+    virtual Int_t CutAmplitude(Int_t anode) const {// get cut amplitude
+        return fCutAmplitude[anode];}
     virtual void SetDAnode(Double_t danode=4.2) {// setDAnode
         fDAnode=danode;}
     virtual Double_t DAnode() const {// get DAnode
@@ -63,9 +66,8 @@ class AliITSClusterFinderSDD : public AliITSClusterFinder{
     void  Find1DClustersE();
     void  GroupClusters();
     void  SelectClusters();
-    void  GetRecPoints();
-    void  ResolveClusters(); // Boris........ 
-    void  ResolveClustersE(); // Ernesto 
+    void  GetRecPoints(AliITSCalibrationSDD* cal);
+    void  ResolveClusters(); // Ernesto Lopez Torres
     Int_t SearchPeak(Double_t *spect,Int_t xdim,Int_t zdim,Int_t *peakX,
                      Int_t *peakZ,Double_t *peakAmp,Double_t minpeak);//Ernesto
     Int_t NoLinearFit( Int_t xdim, Int_t zdim, Double_t *param, Double_t *spe,
@@ -75,28 +77,28 @@ class AliITSClusterFinderSDD : public AliITSClusterFinder{
     Double_t ChiSqr(Int_t xdim,Int_t zdim,Double_t *spe,Double_t *speFit)const;
     void  PeakFunc( Int_t xdim, Int_t zdim, Double_t *par, Double_t *spe,
                     Double_t *Integral=0 );
-    void  Print() const;
+    void  PrintStatus() const;
 
   private:
-    virtual AliITSresponseSDD* GetResp()const{
-        return (AliITSresponseSDD*) GetResponse();}//Return Response
+    virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{
+        return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);}//Return Response
     //Returns fSegmentation
     virtual AliITSsegmentationSDD* GetSeg()const{
-        return (AliITSsegmentationSDD*)GetSegmentation();} 
+        return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);} 
     AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy ctor
     AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source);
   private:
     Int_t               fNclusters;     //! num of clusters
-    Double_t             fDAnode;        //! fDanode
-    Double_t             fDTime;         //! fDtime
-    Double_t             fTimeCorr;      //! Correction factor along time coord
-    Int_t               fCutAmplitude;  //! cut amplitude
+    Double_t            fDAnode;        //! fDanode
+    Double_t            fDTime;         //! fDtime
+    Double_t            fTimeCorr;      //! Correction factor along time coord
+    TArrayI             fCutAmplitude;  //! cut amplitude
     Int_t               fMinPeak;       //! min peak
     Int_t               fMinCharge;     //! min charge
     Int_t               fMinNCells;     //! min num of cells
     Int_t               fMaxNCells;     //! max num of cells
 
-    ClassDef(AliITSClusterFinderSDD,2) // SDD clustering - Piergiorgio C. algo
+    ClassDef(AliITSClusterFinderSDD,3) // SDD clustering - Piergiorgio C. algo
     };
 
 #endif