]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSVertexer3DTapan.h
Shadow warnings fixed
[u/mrichter/AliRoot.git] / ITS / AliITSVertexer3DTapan.h
1 #ifndef ALIITSVERTEXER3DTAPAN_H
2 #define ALIITSVERTEXER3DTAPAN_H
3
4 /*  See cxx source for full Copyright notice */
5
6
7 //-------------------------------------------------------------------------
8 //                          Class AliITSVertexer3DTapan
9 //   This is a class for the 3d vertex finding
10 //
11 //    Origin: Tapan Nayak, VECC-CERN, Tapan.Nayak@cern.ch
12 //-------------------------------------------------------------------------
13
14
15
16 //////////////////////////////////////////////////////////////////////////
17 //                                                                      //
18 //                        AliITSVertexer3DTapan                         //
19 //                                                                      //
20 //           Implementation of a 3D vertex finder based on              //
21 //           SPD clusters.                                              //
22 //                                                                      //
23 //////////////////////////////////////////////////////////////////////////
24
25 #include <TArrayD.h>
26
27 class TTree;
28 class AliESDVertex;
29 class AliITSgeom;
30
31 class AliITSVertexer3DTapan : public TObject {
32 public:
33   AliITSVertexer3DTapan(Int_t n=10000):fITSgeom(0),
34     fX1(n),fY1(n),fZ1(n), fPhi1(n), ficlu1(0),
35     fX2(n),fY2(n),fZ2(n), fPhi2(n), ficlu2(0) {;}
36   AliITSVertexer3DTapan(const AliITSgeom *g, Int_t n=10000): fITSgeom(g),
37     fX1(n),fY1(n),fZ1(n), fPhi1(n), ficlu1(0),
38     fX2(n),fY2(n),fZ2(n), fPhi2(n), ficlu2(0) {;}
39   virtual ~AliITSVertexer3DTapan(){}
40
41   Int_t LoadClusters(TTree *cf);
42   void FindVertexForCurrentEvent(AliESDVertex *vtx);
43
44 protected:
45   void CalculatePhi(Float_t fx, Float_t fy, Float_t & phi);
46   void CalculateVertex3d1(Double_t pos[3], Float_t cuts[3], Int_t &ncontr);
47   void CalculateVertex3d2(Double_t pos[3], Float_t cuts[3], Int_t &ncontr, Double_t sigpos[3]);
48   void CalculateLine(Double_t P1[4], Double_t P2[4], Double_t P3[4], Double_t P4[4], Double_t Pa[3], Double_t Pb[3]) const;
49
50 private:
51   AliITSVertexer3DTapan(AliITSVertexer3DTapan &);
52   AliITSVertexer3DTapan& operator=(const AliITSVertexer3DTapan &);
53
54   const AliITSgeom *fITSgeom;   //the ITS geometry  
55
56   TArrayD fX1;     // X position of cluster on layer 1 of ITS
57   TArrayD fY1;     // Y position of cluster on layer 1 of ITS
58   TArrayD fZ1;     // Z position of cluster on layer 1 of ITS
59   TArrayD fPhi1;   // Phi position of cluster on layer 1 of ITS
60   Int_t   ficlu1;   // Number of clusters on layer 1 of ITS
61    
62   TArrayD fX2;      // X position of cluster on layer 2 of ITS
63   TArrayD fY2;      // Y position of cluster on layer 2 of ITS
64   TArrayD fZ2;      // Z position of cluster on layer 2 of ITS
65   TArrayD fPhi2;    // Phi position of cluster on layer 2 of ITS
66   Int_t   ficlu2;    // Number of clusters on layer 2 of ITS
67    
68   ClassDef(AliITSVertexer3DTapan,1);
69 };
70
71 #endif