-#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 */
//-----------------------------------------------------//
// //
//-----------------------------------------------------//
-#include <Riostream.h>
-#include <stdlib.h>
-#include <math.h>
-#include <TMath.h>
-
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 AliPMDrecpoint1;
+class AliRawReader;
+class AliPMDCalibData;
-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;
- Int_t fDebug;
- Float_t fEcut;
-
- static const Int_t fRow = 48;
- static const Int_t fCol = 96;
- Double_t fCellADC[fRow][fCol];
public:
AliPMDClusterFinder();
+ AliPMDClusterFinder(AliRunLoader* runLoader);
+ AliPMDClusterFinder(const AliPMDClusterFinder &finder); // copy constructor
+ AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
virtual ~AliPMDClusterFinder();
- void OpengAliceFile(char * /* galice.root */, Option_t * /* option */);
-
- void Digits2RecPoints(Int_t /* ievt */);
- void SetCellEdepCut(Float_t /* ecut */);
- void SetDebug(Int_t /* idebug */);
- 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();
+
+ AliPMDCalibData *GetCalibData() const;
+
+ protected:
+ AliRunLoader *fRunLoader; // Pointer to Run Loader
+ AliLoader *fPMDLoader; // Pointer to specific detector loader
+
+ AliPMDCalibData *fCalibData; //! calibration data
+
+ 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,2)
+ ClassDef(AliPMDClusterFinder,10) // To run PMD clustering
};
#endif