ROOT logo
#ifndef ALIPMDCLUSTERINGV1_H
#define ALIPMDCLUSTERINGV1_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
//-----------------------------------------------------//
//                                                     //
//  Header File : PMDClusteringV1.h, Version 00        //
//                                                     //
//  Date   : September 26 2002                         //
//                                                     //
//  clustering code for alice pmd                      //
//                                                     //
//-----------------------------------------------------//
// -- Author   : S.C. Phatak
// -- Modified : B.K. Nandi, Ajay Dash
//               T. Nayak, N. Sharma
//
#include "Rtypes.h"
#include "AliPMDClustering.h"

class TNtuple;
class TObjArray;
class AliPMDcluster;
class AliPMDcludata;

class AliPMDClusteringV1: public AliPMDClustering
{
 public:
  AliPMDClusteringV1();
  AliPMDClusteringV1(const AliPMDClusteringV1 &pmdclv1);
  AliPMDClusteringV1 &operator=(const AliPMDClusteringV1 &pmdclv1);
  virtual ~AliPMDClusteringV1();


  void     DoClust(Int_t idet, Int_t ismn, Int_t celltrack[][96],
		   Int_t cellpid[][96], Double_t celladc[][96],
		   TObjArray *pmdcont);

  Int_t    CrClust(Double_t ave, Double_t cutoff, Int_t nmx1,
		   Int_t iord1[], Double_t edepcell[]);
  void     RefClust(Int_t incr, Double_t edepcell[]);
  Double_t Distance(Double_t x1, Double_t y1,
		    Double_t x2, Double_t y2);

  void     SetEdepCut(Float_t decut);
  void     SetClusteringParam(Int_t cluspar);

  
 protected:
  
  TObjArray *fPMDclucont;    // carry cluster informations
  
  static const Double_t fgkSqroot3by2;  // fgkSqroot3by2 = sqrt(3.)/2.
  
  enum {
    kNMX    = 11424,     // no. of cells in a module
    kNDIMX  = 119,       // max no. of cells along x direction
    kNDIMY  = 96         // max no. of cells along axis at 60 deg with x axis
  };

  //Variables for association
  Int_t    fInfocl[2][kNDIMX][kNDIMY]; // cellwise information on the 
                                       // cluster to which the cell
  Int_t    fInfcl[3][kNMX];            // cluster information [0][i]
                                       // -- cluster number
  Double_t fCoord[2][kNDIMX][kNDIMY];

  Float_t  fCutoff;    // Energy(ADC) cutoff per cell before clustering
  Int_t    fClusParam; // Parameter to decide the clustering

  ClassDef(AliPMDClusteringV1,9) // Does clustering for PMD
};
#endif
 AliPMDClusteringV1.h:1
 AliPMDClusteringV1.h:2
 AliPMDClusteringV1.h:3
 AliPMDClusteringV1.h:4
 AliPMDClusteringV1.h:5
 AliPMDClusteringV1.h:6
 AliPMDClusteringV1.h:7
 AliPMDClusteringV1.h:8
 AliPMDClusteringV1.h:9
 AliPMDClusteringV1.h:10
 AliPMDClusteringV1.h:11
 AliPMDClusteringV1.h:12
 AliPMDClusteringV1.h:13
 AliPMDClusteringV1.h:14
 AliPMDClusteringV1.h:15
 AliPMDClusteringV1.h:16
 AliPMDClusteringV1.h:17
 AliPMDClusteringV1.h:18
 AliPMDClusteringV1.h:19
 AliPMDClusteringV1.h:20
 AliPMDClusteringV1.h:21
 AliPMDClusteringV1.h:22
 AliPMDClusteringV1.h:23
 AliPMDClusteringV1.h:24
 AliPMDClusteringV1.h:25
 AliPMDClusteringV1.h:26
 AliPMDClusteringV1.h:27
 AliPMDClusteringV1.h:28
 AliPMDClusteringV1.h:29
 AliPMDClusteringV1.h:30
 AliPMDClusteringV1.h:31
 AliPMDClusteringV1.h:32
 AliPMDClusteringV1.h:33
 AliPMDClusteringV1.h:34
 AliPMDClusteringV1.h:35
 AliPMDClusteringV1.h:36
 AliPMDClusteringV1.h:37
 AliPMDClusteringV1.h:38
 AliPMDClusteringV1.h:39
 AliPMDClusteringV1.h:40
 AliPMDClusteringV1.h:41
 AliPMDClusteringV1.h:42
 AliPMDClusteringV1.h:43
 AliPMDClusteringV1.h:44
 AliPMDClusteringV1.h:45
 AliPMDClusteringV1.h:46
 AliPMDClusteringV1.h:47
 AliPMDClusteringV1.h:48
 AliPMDClusteringV1.h:49
 AliPMDClusteringV1.h:50
 AliPMDClusteringV1.h:51
 AliPMDClusteringV1.h:52
 AliPMDClusteringV1.h:53
 AliPMDClusteringV1.h:54
 AliPMDClusteringV1.h:55
 AliPMDClusteringV1.h:56
 AliPMDClusteringV1.h:57
 AliPMDClusteringV1.h:58
 AliPMDClusteringV1.h:59
 AliPMDClusteringV1.h:60
 AliPMDClusteringV1.h:61
 AliPMDClusteringV1.h:62
 AliPMDClusteringV1.h:63
 AliPMDClusteringV1.h:64
 AliPMDClusteringV1.h:65
 AliPMDClusteringV1.h:66
 AliPMDClusteringV1.h:67
 AliPMDClusteringV1.h:68
 AliPMDClusteringV1.h:69
 AliPMDClusteringV1.h:70
 AliPMDClusteringV1.h:71
 AliPMDClusteringV1.h:72
 AliPMDClusteringV1.h:73