]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDclusterizerV1.h
614cca7c4ed11a45547ff844f98aaad953bca772
[u/mrichter/AliRoot.git] / TRD / AliTRDclusterizerV1.h
1 #ifndef ALITRDCLUSTERIZERV1_h
2 #define ALITRDCLUSTERIZERV1_h
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include "AliTRD.h"
9 #include "AliTRDdigitsManager.h"
10 #include "AliTRDclusterizer.h"
11
12 ///////////////////////////////////////////////////////
13 //  Finds and handles cluster (slow simulation)      //
14 ///////////////////////////////////////////////////////
15
16 class AliTRDclusterizerV1 : public AliTRDclusterizer {
17
18  public:
19
20   AliTRDclusterizerV1();
21   AliTRDclusterizerV1(const Text_t* name, const Text_t* title);
22   AliTRDclusterizerV1(AliTRDclusterizerV1 &c);
23   virtual ~AliTRDclusterizerV1();
24
25   virtual void    Copy(AliTRDclusterizerV1 &c);
26   virtual void    Init();
27   virtual Bool_t  MakeCluster();
28   virtual Bool_t  ReadDigits();
29
30   virtual void    SetClusMaxThresh(Float_t thresh)          { fClusMaxThresh = thresh; };
31   virtual void    SetClusSigThresh(Float_t thresh)          { fClusSigThresh = thresh; };
32   virtual void    SetClusMethod(Int_t meth)                 { fClusMethod    = meth;   };
33
34   virtual Float_t GetClusMaxThresh()                        { return fClusMaxThresh; };
35   virtual Float_t GetClusSigThresh()                        { return fClusSigThresh; };
36   virtual Int_t   GetClusMethod()                           { return fClusMethod;    };
37
38   inline  AliTRDclusterizerV1 &operator=(AliTRDclusterizerV1 &c);
39
40  protected:
41
42   AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
43
44   Float_t              fClusMaxThresh; // Threshold value for cluster maximum
45   Float_t              fClusSigThresh; // Threshold value for cluster signal
46   Int_t                fClusMethod;    // Clustering method
47
48  private:
49
50   virtual Float_t  Unfold(Float_t eps, Float_t *padSignal);
51   virtual Float_t  PadResponse(Float_t x);
52
53   ClassDef(AliTRDclusterizerV1,1)      // TRD-Cluster manager, slow simulator
54
55 };
56
57 //_____________________________________________________________________________
58 AliTRDclusterizerV1 &AliTRDclusterizerV1::operator=(AliTRDclusterizerV1 &c)
59 {
60   //
61   // Assignment operator
62   //
63
64   if (this != &c) c.Copy(*this);
65   return *this;
66
67 }
68
69 #endif