Line data Source code
1 : #ifndef ALIPMDCLUSTERINGV1_H
2 : #define ALIPMDCLUSTERINGV1_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 : //-----------------------------------------------------//
6 : // //
7 : // Header File : PMDClusteringV1.h, Version 00 //
8 : // //
9 : // Date : September 26 2002 //
10 : // //
11 : // clustering code for alice pmd //
12 : // //
13 : //-----------------------------------------------------//
14 : // -- Author : S.C. Phatak
15 : // -- Modified : B.K. Nandi, Ajay Dash
16 : // T. Nayak, N. Sharma
17 : //
18 : #include "Rtypes.h"
19 : #include "AliPMDClustering.h"
20 :
21 : class TNtuple;
22 : class TObjArray;
23 : class AliPMDcluster;
24 : class AliPMDcludata;
25 :
26 : class AliPMDClusteringV1: public AliPMDClustering
27 : {
28 : public:
29 : AliPMDClusteringV1();
30 : AliPMDClusteringV1(const AliPMDClusteringV1 &pmdclv1);
31 : AliPMDClusteringV1 &operator=(const AliPMDClusteringV1 &pmdclv1);
32 : virtual ~AliPMDClusteringV1();
33 :
34 :
35 : void DoClust(Int_t idet, Int_t ismn, Int_t celltrack[][96],
36 : Int_t cellpid[][96], Double_t celladc[][96],
37 : TObjArray *pmdcont);
38 :
39 : Int_t CrClust(Double_t ave, Double_t cutoff, Int_t nmx1,
40 : Int_t iord1[], Double_t edepcell[]);
41 : void RefClust(Int_t incr, Double_t edepcell[]);
42 : Double_t Distance(Double_t x1, Double_t y1,
43 : Double_t x2, Double_t y2);
44 :
45 : void SetEdepCut(Float_t decut);
46 : void SetClusteringParam(Int_t cluspar);
47 :
48 :
49 : protected:
50 :
51 : TObjArray *fPMDclucont; // carry cluster informations
52 :
53 : static const Double_t fgkSqroot3by2; // fgkSqroot3by2 = sqrt(3.)/2.
54 :
55 : enum {
56 : kNMX = 11424, // no. of cells in a module
57 : kNDIMX = 119, // max no. of cells along x direction
58 : kNDIMY = 96 // max no. of cells along axis at 60 deg with x axis
59 : };
60 :
61 : //Variables for association
62 : Int_t fInfocl[2][kNDIMX][kNDIMY]; // cellwise information on the
63 : // cluster to which the cell
64 : Int_t fInfcl[3][kNMX]; // cluster information [0][i]
65 : // -- cluster number
66 : Double_t fCoord[2][kNDIMX][kNDIMY];
67 :
68 : Float_t fCutoff; // Energy(ADC) cutoff per cell before clustering
69 : Int_t fClusParam; // Parameter to decide the clustering
70 :
71 1188 : ClassDef(AliPMDClusteringV1,9) // Does clustering for PMD
72 : };
73 : #endif
|