Method added to start reconstruction from raw data
[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 class AliRawReader;
27
28 class AliPMDdigit;
29 class AliPMDClustering;
30 class AliPMDcluster;
31 class AliPMDrecpoint1;
32
33 class AliPMDClusterFinder
34 {
35
36  public:
37
38   AliPMDClusterFinder(AliRunLoader* runLoader);
39   virtual ~AliPMDClusterFinder();
40
41   void Digits2RecPoints(Int_t ievt);
42   void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
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 Load();
49   void LoadClusters();
50   void UnLoad();
51   void UnLoadClusters();
52
53  protected:
54   AliRunLoader *fRunLoader; // Pointer to Run Loader
55   AliLoader    *fPMDLoader; // Pointer to specific detector loader
56
57   TTree        *fTreeD;     // Digits tree
58   TTree        *fTreeR;     // Reconstructed points
59
60   TClonesArray *fDigits;    // List of digits
61   TClonesArray *fRecpoints; // List of reconstructed points
62
63   Int_t   fNpoint;          // 
64   Int_t   fDetNo;           // Detector Number (0:PRE, 1:CPV)
65   Int_t   fDebug;           // Debugging switch (0:NO, 1:YES)
66   Float_t fEcut;            // Energy/ADC cut per cell
67
68   static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
69   static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
70   Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
71
72   ClassDef(AliPMDClusterFinder,6) // To run PMD clustering
73 };
74 #endif
75