]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDRecParam.h
First implementation of neural network PID
[u/mrichter/AliRoot.git] / TRD / AliTRDRecParam.h
1 #ifndef AliTRDRECPARAM_H
2 #define AliTRDRECPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 //                                                                           //
8 // Class containing constant reconstruction parameters                       //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12 /* $Id$ */
13
14 #include "TObject.h"
15
16 class AliTRDRecParam : public TObject {
17
18  public:
19
20   static  AliTRDRecParam *Instance();
21   static  void Terminate();
22   
23   enum { kNplan =   6
24        , kNcham =   5
25        , kNsect =  18
26        , kNdet  = 540 };
27     
28   AliTRDRecParam(const AliTRDRecParam &p);   
29   AliTRDRecParam &operator=(const AliTRDRecParam &p);
30  
31   virtual void     Copy(TObject &p) const;
32   
33   virtual void     SetLUT(Int_t lutOn = 1)                        { fLUTOn         = lutOn;  };
34   virtual void     SetClusMaxThresh(Float_t thresh)               { fClusMaxThresh = thresh; };
35   virtual void     SetClusSigThresh(Float_t thresh)               { fClusSigThresh = thresh; };
36           void     SetTailCancelation(Int_t tcOn = 1)             { fTCOn          = tcOn;   };
37           void     SetNexponential(Int_t nexp)                    { fTCnexp        = nexp;   };
38  
39           Bool_t   LUTOn() const                                  { return fLUTOn;           };
40   virtual Float_t  GetClusMaxThresh() const                       { return fClusMaxThresh;   };
41   virtual Float_t  GetClusSigThresh() const                       { return fClusSigThresh;   };
42           Bool_t   TCOn() const                                   { return fTCOn;            };
43           Int_t    GetTCnexp() const                              { return fTCnexp;          };
44     
45   virtual Double_t LUTposition(Int_t iplane, Double_t ampL, Double_t ampC, Double_t ampR) const;
46   
47  protected:
48
49   static  AliTRDRecParam *fgInstance; //  Instance of this class (singleton implementation)
50   static  Bool_t   fgTerminated;      //  Defines if this class has already been terminated and
51                                       //  therefore does not return instances in GetInstance anymore
52     
53           void     Init();
54   virtual void     FillLUT();
55   
56           // Clusterization parameter
57           Float_t  fClusMaxThresh;    //  Threshold value for cluster maximum
58           Float_t  fClusSigThresh;    //  Threshold value for cluster signal
59     
60           Int_t    fLUTOn;            //  Switch for the lookup table method
61           Int_t    fLUTbin;           //  Number of bins of the LUT
62           Float_t *fLUT;              //! The lookup table
63   
64           Int_t    fTCOn;             //  Switch for the tail cancelation
65           Int_t    fTCnexp;           //  Number of exponentials, digital filter
66   
67  private:
68
69   // This is a singleton, constructor is private!  
70   AliTRDRecParam();
71   ~AliTRDRecParam();
72   
73   ClassDef(AliTRDRecParam,1)          //  The reconstruction parameter
74
75 };
76
77 #endif