]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDclusterizerV2.h
New function in AliTRDCalibraFillHisto that takes only a AliTRDtrack as argument
[u/mrichter/AliRoot.git] / TRD / AliTRDclusterizerV2.h
1 #ifndef ALITRDCLUSTERIZERV2_H
2 #define ALITRDCLUSTERIZERV2_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 ////////////////////////////////////////////////////////////////////////////
9 //                                                                        //
10 //  TRD cluster finder                                                    //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #include "AliTRDclusterizer.h"
15
16 class AliTRDdataArrayI;
17 class AliTRDdataArrayF;
18 class AliTRDdigitsManager;
19 class AliTRDCalROC;
20 class AliRawReader;
21 class AliTRDSignalIndex;
22 class AliTRDgeometry;
23
24 class AliTRDclusterizerV2 : public AliTRDclusterizer {
25
26  public:
27
28   AliTRDclusterizerV2();
29   AliTRDclusterizerV2(const Text_t* name, const Text_t* title);
30   AliTRDclusterizerV2(const AliTRDclusterizerV2 &c);
31   virtual             ~AliTRDclusterizerV2();
32   AliTRDclusterizerV2 &operator=(const AliTRDclusterizerV2 &c);
33
34   virtual void     Copy(TObject &c) const;
35   virtual Bool_t   Raw2Clusters(AliRawReader *rawReader);
36   virtual Bool_t   Raw2ClustersChamber(AliRawReader *rawReader);
37   virtual Bool_t   MakeClusters();
38   virtual Bool_t   MakeClusters(Int_t det);
39   virtual Bool_t   ReadDigits();
40   virtual Bool_t   ReadDigits(AliRawReader *rawReader);
41   virtual Bool_t   ReadDigits(TTree *digitsTree);
42
43   virtual Bool_t   AddLabels(Int_t idet, Int_t firstClusterROC, Int_t nClusterROC);
44   virtual Bool_t   SetAddLabels(Bool_t kset) { fAddLabels = kset; return fAddLabels;} // should we assign labels to clusters
45   virtual void     SetRawVersion(Int_t iver) { fRawVersion = iver;} // set the expected raw data version
46
47  protected:
48
49           void     DeConvExp(Double_t *source, Double_t *target
50                            , Int_t nTimeTotal, Int_t nexp);
51           void     Transform(AliTRDdataArrayI *digitsIn
52                            , AliTRDdataArrayF *digitsOut
53                            , AliTRDSignalIndex *indexesIn
54                            , AliTRDSignalIndex *indexesOut
55                            , Int_t nTimeTotal
56                            , Float_t ADCthreshold
57                            , AliTRDCalROC *calGainFactorROC
58                            , Float_t calGainFactorDetValue);
59 /*           void     Transform(AliTRDdataArrayI *digitsIn, AliTRDdataArrayF *digitsOut */
60 /*                         , Int_t nRowMax, Int_t nColMax, Int_t nTimeTotal */
61 /*                            , Float_t ADCthreshold */
62 /*                            , AliTRDCalROC *calGainFactorROC */
63 /*                            , Float_t calGainFactorDetValue); */
64   virtual Double_t Unfold(Double_t eps, Int_t plane, Double_t *padSignal);
65           Double_t GetCOG(Double_t signal[5]); 
66
67   virtual void     ResetHelperIndexes(AliTRDSignalIndex *indexesIn);
68
69   AliTRDdigitsManager *fDigitsManager;      //! TRD digits manager
70   AliTRDgeometry      *fGeometry;           //! default TRD geometry
71
72   Bool_t              fAddLabels;           // should clusters have MC labels?
73   Int_t               fRawVersion;          // expected raw version of the data - default is 2
74
75   AliTRDSignalIndex   *fIndexesOut;          //! helper indexes for clusterization
76   AliTRDSignalIndex   *fIndexesMaxima;       //! helper indexes for clusterization
77   ClassDef(AliTRDclusterizerV2,1)           //  TRD-Cluster finder, slow simulator
78
79 };
80
81 #endif