]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDclusterizerV1.h
The operator[] is replaced by At() or AddAt() in case of TObjArray.
[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 "AliTRDclusterizer.h"
9
10 ///////////////////////////////////////////////////////
11 //  Finds and handles cluster (slow simulation)      //
12 ///////////////////////////////////////////////////////
13
14 class AliTRDdigitsManager;
15
16 class AliTRDclusterizerV1 : public AliTRDclusterizer {
17
18  public:
19
20   AliTRDclusterizerV1();
21   AliTRDclusterizerV1(const Text_t* name, const Text_t* title);
22   AliTRDclusterizerV1(const AliTRDclusterizerV1 &c);
23   virtual ~AliTRDclusterizerV1();
24   AliTRDclusterizerV1 &operator=(const AliTRDclusterizerV1 &c);
25
26   virtual void    Copy(TObject &c);
27   virtual void    Init();
28   virtual Bool_t  MakeClusters();
29   virtual Bool_t  ReadDigits();
30           void    UseLUT()                                { fUseLUT        = kTRUE;  };
31           void    UseCOG()                                { fUseLUT        = kFALSE; };
32
33           void    SetClusMaxThresh(Int_t thresh)          { fClusMaxThresh = thresh; };
34           void    SetClusSigThresh(Int_t thresh)          { fClusSigThresh = thresh; };
35
36           Int_t   GetClusMaxThresh() const                { return fClusMaxThresh; };
37           Int_t   GetClusSigThresh() const                { return fClusSigThresh; };
38
39  protected:
40  
41   enum { 
42     kNlut = 128                        //  Dimension of the lookup table
43   };                    
44
45   AliTRDdigitsManager *fDigitsManager; //! TRD digits manager
46
47   Int_t                fClusMaxThresh; //  Threshold value for cluster maximum
48   Int_t                fClusSigThresh; //  Threshold value for cluster signal
49   Bool_t               fUseLUT;        //  Switch for the lookup table method
50   Float_t              fLUT[kNlut];    //  The lookup table
51
52  private:
53
54   virtual Float_t  Unfold(Float_t eps, Float_t *padSignal);
55   virtual Float_t  PadResponse(Float_t x);
56
57   ClassDef(AliTRDclusterizerV1,2)      // TRD-Cluster finder, slow simulator
58
59 };
60
61 #endif