]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDClusterFinder.h
one more branch added to TreeR
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
index c865d5099c39978a8705abf0d6e24c81597548e5..8da7ff61795a34ac6d3d3ea567caff27b10bec42 100644 (file)
@@ -1,5 +1,7 @@
-#ifndef PMDClusterFinder_H
-#define PMDClusterFinder_H
+#ifndef ALIPMDCLUSTERFINDER_H
+#define ALIPMDCLUSTERFINDER_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 //-----------------------------------------------------//
 //                                                     //
 //  Date   : August 05 2003                            //
 //                                                     //
 //-----------------------------------------------------//
 
-#include <Riostream.h>
-#include <stdlib.h>
-#include <math.h>
-#include <TMath.h>
-#include <vector>
-#include <algorithm>
-
 class TClonesArray;
 class TFile;
-class TObjArray;
 class TTree;
-class TNtuple;
 
 class AliLoader;
 class AliRunLoader;
-class AliRun;
-class AliDetector;
-class AliHeader;
-
-class AliPMDdigit;
-class AliPMDClustering;
-class AliPMDcluster;
-class AliPMDrecpoint;
+class AliRawReader;
 
-//using namespace std;
-
-class AliPMDClusterFinder
+class AliPMDClusterFinder : public TObject
 {
- protected:
-  AliRunLoader *fRunLoader;
-  AliRun       *gAlice;
-  AliDetector  *PMD;      /* Get pointers to Alice detectors 
-                            and Hits containers */
-  AliLoader    *pmdloader;
-
-  TTree        *treeD;
-  TTree        *treeR;
-
-  TClonesArray *fDigits;
-  TClonesArray *fRecpoints;
-
-  Int_t fNpoint;
-  Int_t fDetNo;
-
-  static const Int_t fTotSM = 27;
-  static const Int_t fNCell = 72;
-  Float_t fCPV[fTotSM][fNCell][fNCell];
-  Float_t fPMD[fTotSM][fNCell][fNCell];
 
  public:
 
   AliPMDClusterFinder();
+  AliPMDClusterFinder(AliRunLoader* runLoader);
   virtual ~AliPMDClusterFinder();
 
-  void OpengAliceFile(char * /* galice.root */, Option_t * /* option */);
-
-  void Digits2RecPoints(Int_t /* ievt */);
-  void AddRecPoint(Float_t * /* clusdata */);
+  void Digits2RecPoints(Int_t ievt);
+  void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
+  void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
+  void SetCellEdepCut(Float_t ecut);
+  void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
+  void AddRecHit(Int_t celldataX, Int_t celldataY);
   void ResetCellADC();
   void ResetRecpoint();
-  void UnLoad(Option_t * /* option */);
+  void ResetRechit();
+  void Load();
+  void LoadClusters();
+  void UnLoad();
+  void UnLoadClusters();
+
+ protected:
+  AliRunLoader *fRunLoader; // Pointer to Run Loader
+  AliLoader    *fPMDLoader; // Pointer to specific detector loader
+
+  TTree        *fTreeD;     // Digits tree
+  TTree        *fTreeR;     // Reconstructed points
+
+  TClonesArray *fDigits;    // List of digits
+  TClonesArray *fRecpoints; // List of reconstructed points
+  TClonesArray *fRechits;   // List of cells associated with rec points
+
+  Int_t   fNpoint;          // 
+  Int_t   fNhit;            // 
+  Int_t   fDetNo;           // Detector Number (0:PRE, 1:CPV)
+  Float_t fEcut;            // Energy/ADC cut per cell
+
+  static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
+  static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
+  Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
 
-  ClassDef(AliPMDClusterFinder,1)
+  ClassDef(AliPMDClusterFinder,8) // To run PMD clustering
 };
 #endif