]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDclusterizerV1.h
Use of fGeom avoided; function GetGlobalPosition overwritten
[u/mrichter/AliRoot.git] / TRD / AliTRDclusterizerV1.h
index 3ebea4584be2bc2cc643684ed80998267b50532f..e58ece83a321a4b3460c0c662c49048e78be3364 100644 (file)
@@ -5,14 +5,14 @@
 
 /* $Id$ */
 
-#include "AliTRD.h"
-#include "AliTRDdigitsManager.h"
 #include "AliTRDclusterizer.h"
 
 ///////////////////////////////////////////////////////
 //  Finds and handles cluster (slow simulation)      //
 ///////////////////////////////////////////////////////
 
+class AliTRDdigitsManager;
+
 class AliTRDclusterizerV1 : public AliTRDclusterizer {
 
  public:
@@ -25,31 +25,36 @@ class AliTRDclusterizerV1 : public AliTRDclusterizer {
 
   virtual void    Copy(TObject &c);
   virtual void    Init();
-  virtual Bool_t  MakeCluster();
+  virtual Bool_t  MakeClusters();
   virtual Bool_t  ReadDigits();
+          void    UseLUT()                                { fUseLUT        = kTRUE;  };
+          void    UseCOG()                                { fUseLUT        = kFALSE; };
 
-  virtual void    SetClusMaxThresh(Float_t thresh)          { fClusMaxThresh = thresh; };
-  virtual void    SetClusSigThresh(Float_t thresh)          { fClusSigThresh = thresh; };
-  virtual void    SetClusMethod(Int_t meth)                 { fClusMethod    = meth;   };
+          void    SetClusMaxThresh(Int_t thresh)          { fClusMaxThresh = thresh; };
+          void    SetClusSigThresh(Int_t thresh)          { fClusSigThresh = thresh; };
 
-  virtual Float_t GetClusMaxThresh()                        { return fClusMaxThresh; };
-  virtual Float_t GetClusSigThresh()                        { return fClusSigThresh; };
-  virtual Int_t   GetClusMethod()                           { return fClusMethod;    };
+          Int_t   GetClusMaxThresh() const                { return fClusMaxThresh; };
+          Int_t   GetClusSigThresh() const                { return fClusSigThresh; };
 
  protected:
+  enum { 
+    kNlut = 128                        //  Dimension of the lookup table
+  };                    
 
   AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
 
-  Float_t              fClusMaxThresh; // Threshold value for cluster maximum
-  Float_t              fClusSigThresh; // Threshold value for cluster signal
-  Int_t                fClusMethod;    // Clustering method
+  Int_t                fClusMaxThresh; //  Threshold value for cluster maximum
+  Int_t                fClusSigThresh; //  Threshold value for cluster signal
+  Bool_t               fUseLUT;        //  Switch for the lookup table method
+  Float_t              fLUT[kNlut];    //  The lookup table
 
  private:
 
   virtual Float_t  Unfold(Float_t eps, Float_t *padSignal);
   virtual Float_t  PadResponse(Float_t x);
 
-  ClassDef(AliTRDclusterizerV1,1)      // TRD-Cluster manager, slow simulator
+  ClassDef(AliTRDclusterizerV1,2)      // TRD-Cluster finder, slow simulator
 
 };