ATO-98 - function returns also status value
[u/mrichter/AliRoot.git] / PMD / AliPMDtracker.h
1 #ifndef ALIPMDTRACKER_H
2 #define ALIPMDTRACKER_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 TObjArray;
16 class TTree;
17
18 class AliPMDcluster;
19 class AliPMDclupid;
20 class AliPMDrecpoint1;
21 class AliPMDrecdata;
22 class AliPMDrechit;
23 class AliPMDUtility;
24 class AliPMDDiscriminator;
25
26 class AliESDEvent;
27
28 class AliPMDtracker:public TObject
29 {
30
31  public:
32
33   AliPMDtracker();
34   AliPMDtracker(const AliPMDtracker &tracker);  // copy constructor
35   AliPMDtracker &operator=(const AliPMDtracker &tracker); // assignment op
36
37   virtual ~AliPMDtracker();
38
39   void LoadClusters(TTree *treein);
40   void Clusters2Tracks(AliESDEvent *event);
41   void AssignTrPidToCluster(Int_t nentry, Int_t *itra, Int_t *ipid,
42                             Float_t *cadc, Int_t &trackno, Int_t &trackpid);
43
44   void SetVertex(Double_t vtx[3], Double_t evtx[3]);
45   void ResetClusters();
46
47  protected:
48
49   TTree        *fTreeR;     // Reconstructed points
50   TClonesArray *fRecpoints; // List of reconstructed points
51   TClonesArray *fRechits;   // List of cells associated with a cluster
52   TObjArray    *fPMDcontin;
53   TObjArray    *fPMDcontout;
54
55   AliPMDUtility       *fPMDutil;
56   AliPMDrecpoint1     *fPMDrecpoint;
57   AliPMDrecdata       *fPMDclin;
58   AliPMDclupid        *fPMDclout;
59
60   Double_t fXvertex;        // X-vertex position
61   Double_t fYvertex;        // Y-vertex position
62   Double_t fZvertex;        // Z-vertex position
63   Double_t fSigmaX;         // X-vertex error
64   Double_t fSigmaY;         // Y-vertex error
65   Double_t fSigmaZ;         // Z-vertex error
66
67   ClassDef(AliPMDtracker,5) // To run PMD clustering
68 };
69 #endif
70