]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDclusterizer.h
Get correct MCM numbering in GetMCMStatus
[u/mrichter/AliRoot.git] / TRD / AliTRDclusterizer.h
1 #ifndef ALITRDCLUSTERIZER_H
2 #define ALITRDCLUSTERIZER_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 <TNamed.h>
9 #include <TObjArray.h>
10
11 class TFile;
12 class TTree;
13 class AliRunLoader;
14 class AliTRD;
15 class AliTRDcluster;
16 ///////////////////////////////////////////////////////
17 //  Finds and handles cluster                        //
18 ///////////////////////////////////////////////////////
19
20 class AliTRDclusterizer : public TNamed {
21
22  public:
23
24   AliTRDclusterizer();
25   AliTRDclusterizer(const Text_t* name, const Text_t* title);
26   AliTRDclusterizer(const AliTRDclusterizer &c);
27   virtual ~AliTRDclusterizer();
28   AliTRDclusterizer &operator=(const AliTRDclusterizer &c);
29
30   virtual void    Copy(TObject &c) const;
31   virtual Bool_t  Open(const Char_t *name, Int_t nEvent = 0);
32   
33   virtual Bool_t  OpenInput(Int_t nEvent = 0);
34   virtual Bool_t  OpenOutput();
35   virtual Bool_t  MakeClusters() = 0;
36   virtual Bool_t  WriteClusters(Int_t det);
37   void            SetVerbose(Int_t v = 1)                 { fVerbose       = v;   };
38
39   TObjArray*      RecPoints() {if (!fRecPoints) fRecPoints = new TObjArray(400); return fRecPoints;}
40   virtual AliTRDcluster  * AddCluster(Double_t *pos, Int_t timebin, Int_t det, Double_t amp, Int_t *tracks
41                              , Double_t *sig, Int_t iType, Float_t center = 0);
42   void            ResetRecPoints() {if (fRecPoints) fRecPoints->Delete();}
43
44  protected:
45
46    Double_t CalcXposFromTimebin(Float_t timebin, Int_t idet, Int_t col, Int_t row);
47        
48   AliRunLoader    *fRunLoader;     //! Run Loader
49   
50   TTree           *fClusterTree;   //! Tree with the cluster
51
52   TObjArray*       fRecPoints;     //! Array of clusters
53   Int_t            fVerbose;       //  Sets the verbose level
54
55   ClassDef(AliTRDclusterizer,3)    //  TRD-Cluster manager base class
56
57 };
58
59 #endif