040f47c8924e1bc2fb229c25e299f1f1c5152b08
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
1 #ifndef ALIPMDCLUSTERFINDER_H
2 #define ALIPMDCLUSTERFINDER_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 class TClonesArray;
15 class TFile;
16 class TObjArray;
17 class TTree;
18 class TNtuple;
19 class TMath;
20
21 class AliLoader;
22 class AliRunLoader;
23 class AliRun;
24 class AliDetector;
25 class AliHeader;
26
27 class AliPMDdigit;
28 class AliPMDClustering;
29 class AliPMDcluster;
30 class AliPMDrecpoint1;
31
32 class AliPMDClusterFinder
33 {
34
35  public:
36
37   AliPMDClusterFinder();
38   virtual ~AliPMDClusterFinder();
39
40   void OpengAliceFile(const char * file, Option_t * option);
41
42   void Digits2RecPoints(Int_t ievt);
43   void SetCellEdepCut(Float_t ecut);
44   void SetDebug(Int_t idebug);
45   void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
46   void ResetCellADC();
47   void ResetRecpoint();
48   void UnLoad(Option_t * option);
49
50  protected:
51   AliRunLoader *fRunLoader; // Pointer to Run Loader
52   AliLoader    *fPMDLoader; // Pointer to specific detector loader
53
54   TTree        *fTreeD;     // Digits tree
55   TTree        *fTreeR;     // Reconstructed points
56
57   TClonesArray *fDigits;    // List of digits
58   TClonesArray *fRecpoints; // List of reconstructed points
59
60   Int_t   fNpoint;          // 
61   Int_t   fDetNo;           // Detector Number (0:PRE, 1:CPV)
62   Int_t   fDebug;           // Debugging switch (0:NO, 1:YES)
63   Float_t fEcut;            // Energy/ADC cut per cell
64
65   static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
66   static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
67   Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
68
69   ClassDef(AliPMDClusterFinder,3) // To run PMD clustering
70 };
71 #endif
72