8da7ff61795a34ac6d3d3ea567caff27b10bec42
[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 TTree;
17
18 class AliLoader;
19 class AliRunLoader;
20 class AliRawReader;
21
22 class AliPMDClusterFinder : public TObject
23 {
24
25  public:
26
27   AliPMDClusterFinder();
28   AliPMDClusterFinder(AliRunLoader* runLoader);
29   virtual ~AliPMDClusterFinder();
30
31   void Digits2RecPoints(Int_t ievt);
32   void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
33   void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
34   void SetCellEdepCut(Float_t ecut);
35   void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
36   void AddRecHit(Int_t celldataX, Int_t celldataY);
37   void ResetCellADC();
38   void ResetRecpoint();
39   void ResetRechit();
40   void Load();
41   void LoadClusters();
42   void UnLoad();
43   void UnLoadClusters();
44
45  protected:
46   AliRunLoader *fRunLoader; // Pointer to Run Loader
47   AliLoader    *fPMDLoader; // Pointer to specific detector loader
48
49   TTree        *fTreeD;     // Digits tree
50   TTree        *fTreeR;     // Reconstructed points
51
52   TClonesArray *fDigits;    // List of digits
53   TClonesArray *fRecpoints; // List of reconstructed points
54   TClonesArray *fRechits;   // List of cells associated with rec points
55
56   Int_t   fNpoint;          // 
57   Int_t   fNhit;            // 
58   Int_t   fDetNo;           // Detector Number (0:PRE, 1:CPV)
59   Float_t fEcut;            // Energy/ADC cut per cell
60
61   static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
62   static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
63   Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
64
65   ClassDef(AliPMDClusterFinder,8) // To run PMD clustering
66 };
67 #endif
68