411a00c7c4225960b5f87dcd9402314d6bb05cbc
[u/mrichter/AliRoot.git] / TPC / AliTPCRecoParam.h
1 #ifndef ALITPCRECOPARAM_H
2 #define ALITPCRECOPARAM_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 with TPC reconstruction parameters                                  //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12
13 #include "AliDetectorRecoParam.h"
14
15 class AliTPCRecoParam : public AliDetectorRecoParam
16 {
17  public: 
18   AliTPCRecoParam();
19   virtual ~AliTPCRecoParam();
20   void     SetClusterSharing(Bool_t sharing){fBClusterSharing=sharing;}
21   Bool_t   GetClusterSharing() const {return fBClusterSharing;}
22   Double_t GetCtgRange() const     { return fCtgRange;}
23   Double_t GetMaxSnpTracker() const{ return fMaxSnpTracker;}
24   Double_t GetMaxSnpTrack() const  { return fMaxSnpTrack;}
25   //
26   Bool_t   DumpSignal()     const  { return fDumpSignal;}
27   void     SetTimeInterval(Int_t first, Int_t last) { fFirstBin=first, fLastBin =last;}
28   Int_t    GetFirstBin() const     { return fFirstBin;}
29   Int_t    GetLastBin() const      { return fLastBin;}
30   void     SetTimeBinRange(Int_t first, Int_t last){ fFirstBin = first; fLastBin = last;}
31   Bool_t   GetCalcPedestal()       const  { return fBCalcPedestal;}
32   Bool_t   GetDoUnfold()           const  { return fBDoUnfold;}
33   void     SetDoUnfold(Bool_t unfold)     { fBDoUnfold = unfold;}
34   Float_t  GetDumpAmplitudeMin()   const  { return fDumpAmplitudeMin;}
35   Float_t  GetMaxNoise()           const  { return fMaxNoise;}  
36   Float_t  GetMinMaxCutAbs()       const  { return fMinMaxCutAbs; }
37   Float_t  GetMinLeftRightCutAbs() const  { return fMinLeftRightCutAbs;}  // minimal amplitude left right - PRF
38   Float_t  GetMinUpDownCutAbs()    const  { return fMinUpDownCutAbs;}  // minimal amplitude up-down - TRF 
39   Float_t  GetMinMaxCutSigma()       const  { return fMinMaxCutSigma; }
40   Float_t  GetMinLeftRightCutSigma() const  { return fMinLeftRightCutSigma;}  // minimal amplitude left right - PRF
41   Float_t  GetMinUpDownCutSigma()    const  { return fMinUpDownCutSigma;}  // minimal amplitude up-down - TRF 
42   Int_t    GetLastSeedRowSec()       const  { return fLastSeedRowSec;} 
43   //
44   void     SetDoKinks(Bool_t on)   { fBKinkFinder=on; }
45   Bool_t   GetDoKinks() const      { return fBKinkFinder;}
46   Float_t  GetMaxC()    const      { return fMaxC;}
47   Bool_t   GetSpecialSeeding() const { return fBSpecialSeeding;}
48   Bool_t   GetBYMirror() const { return fBYMirror;}
49   void     SetBYMirror(Bool_t mirror)  { fBYMirror = mirror;} //
50   static   AliTPCRecoParam *GetLowFluxParam();        // make reco parameters for low  flux env.
51   static   AliTPCRecoParam *GetHighFluxParam();       // make reco parameters for high flux env. 
52   static   AliTPCRecoParam *GetLaserTestParam(Bool_t bPedestal);  // special setting for laser 
53   static   AliTPCRecoParam *GetCosmicTestParam(Bool_t bPedestal); // special setting for cosmic  
54   //
55  protected:
56   Bool_t   fBClusterSharing; // allows or disable cluster sharing during tracking 
57   Double_t fCtgRange;        // +-fCtgRange is the ctg(Theta) window used for clusterization and tracking (MI) 
58   Double_t fMaxSnpTracker;   // max sin of local angle  - for TPC tracker
59   Double_t fMaxSnpTrack;     // max sin of local angle  - for track 
60   Bool_t   fBYMirror;        // mirror of the y - pad coordinate 
61   //
62   //   clusterer parameters
63   //
64   Bool_t   fDumpSignal;      // Dump Signal information flag
65   Int_t    fFirstBin;        // first time bin used by cluster finder
66   Int_t    fLastBin;         // last time bin  used by cluster finder 
67   Bool_t   fBCalcPedestal;   // calculate Pedestal
68   Bool_t   fBDoUnfold;       // do unfolding of clusters
69   Float_t  fDumpAmplitudeMin; // minimal amplitude of signal to be dumped 
70   Float_t  fMaxNoise;        // maximal noise sigma on pad to be used in cluster finder
71   Float_t  fMinMaxCutAbs;    // minimal amplitude at cluster maxima
72   Float_t  fMinLeftRightCutAbs;  // minimal amplitude left right - PRF
73   Float_t  fMinUpDownCutAbs;  // minimal amplitude up-down - TRF 
74   Float_t  fMinMaxCutSigma;    // minimal amplitude at cluster maxima
75   Float_t  fMinLeftRightCutSigma;  // minimal amplitude left right - PRF
76   Float_t  fMinUpDownCutSigma;  // minimal amplitude up-down - TRF 
77   //
78   //
79   Float_t  fMaxC;            // maximal curvature for tracking
80   Bool_t   fBSpecialSeeding; // special seeding with big inclination angles allowed (for Cosmic and laser)
81   Bool_t   fBKinkFinder;     // do kink finder reconstruction
82   Int_t    fLastSeedRowSec;     // Most Inner Row to make seeding for secondaries
83   ClassDef(AliTPCRecoParam, 2)
84 };
85
86
87 #endif