e8a6694369cf5b76b65ce4c39e54fd41db39a4e8
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
1 #ifndef PMDClusterFinder_H
2 #define PMDClusterFinder_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 //-----------------------------------------------------//
6 //                                                     //
7 //  Date   : August 05 2003                            //
8 //  This reads the file PMD.digits.root(TreeD),        //
9 //  calls the Clustering algorithm and stores the      //
10 //  clustering output in PMD.RecPoints.root(TreeR)     // 
11 //                                                     //
12 //-----------------------------------------------------//
13
14 #include <Riostream.h>
15 #include <stdlib.h>
16 #include <math.h>
17 #include <TMath.h>
18 #include <vector>
19 #include <algorithm>
20
21 class TClonesArray;
22 class TFile;
23 class TObjArray;
24 class TTree;
25 class TNtuple;
26
27 class AliLoader;
28 class AliRunLoader;
29 class AliRun;
30 class AliDetector;
31 class AliHeader;
32
33 class AliPMDdigit;
34 class AliPMDClustering;
35 class AliPMDcluster;
36 class AliPMDrecpoint1;
37
38 class AliPMDClusterFinder
39 {
40  protected:
41   AliRunLoader *fRunLoader;
42   AliRun       *gAlice;
43   AliDetector  *PMD;      /* Get pointers to Alice detectors 
44                              and Hits containers */
45   AliLoader    *pmdloader;
46
47   TTree        *treeD;
48   TTree        *treeR;
49
50   TClonesArray *fDigits;
51   TClonesArray *fRecpoints;
52
53   Int_t fNpoint;
54   Int_t fDetNo;
55   Int_t fDebug;
56   Float_t fEcut;
57
58   static const Int_t fRow = 48;
59   static const Int_t fCol = 96;
60   Double_t fCellADC[fRow][fCol];
61
62  public:
63
64   AliPMDClusterFinder();
65   virtual ~AliPMDClusterFinder();
66
67   void OpengAliceFile(char * /* galice.root */, Option_t * /* option */);
68
69   void Digits2RecPoints(Int_t /* ievt */);
70   void SetCellEdepCut(Float_t /* ecut */);
71   void SetDebug(Int_t /* idebug */);
72   void AddRecPoint(Float_t * /* clusdata */);
73   void ResetCellADC();
74   void ResetRecpoint();
75   void UnLoad(Option_t * /* option */);
76
77   ClassDef(AliPMDClusterFinder,2)
78 };
79 #endif
80