New vertex finders optimized for 3 prongs secondary vertices (AliITSVertexerTracks...
[u/mrichter/AliRoot.git] / ITS / AliITSStrLine.h
1 #ifndef ALIITSSTRLINE_H
2 #define ALIITSSTRLINE_H
3 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////
7 //                                                               //
8 // A straight line is coded as a point (3 Double_t) and           //
9 // 3 direction cosines                                           //
10 //                                                               //
11 ///////////////////////////////////////////////////////////////////
12
13
14 class AliITSStrLine : public TObject {
15
16  public:
17     AliITSStrLine();        // default constructor
18     AliITSStrLine(Double_t *point, Double_t *cd);  // standard constructor
19     virtual ~AliITSStrLine(); // destructor
20     void PrintStatus() const;
21     void SetP0(Double_t *point) {for(Int_t i=0;i<3;i++)fP0[i]=point[i];}
22     void SetCd(Double_t *cd) {for(Int_t i=0;i<3;i++)fCd[i]=cd[i];}
23     void SetDebug(Int_t dbfl = 0){fDebug = dbfl; }  
24     void GetP0(Double_t *point) const {for(Int_t i=0;i<3;i++)point[i]=fP0[i];}
25     void GetCd(Double_t *cd) const {for(Int_t i=0;i<3;i++)cd[i]=fCd[i];}
26     void GetCurrentPoint(Double_t *point) const;
27     Int_t IsParallelTo(AliITSStrLine *line) const;
28     Int_t Crossrphi(AliITSStrLine *line);
29     Int_t CrossPoints(AliITSStrLine *line, Double_t *point1, Double_t *point2);
30     Int_t Cross(AliITSStrLine *line, Double_t *point);
31     Double_t GetDCA(AliITSStrLine *line);
32  protected:
33     Double_t fP0[3];           // given point
34     Double_t fCd[3];           // direction cosines
35     Double_t fTpar;            //! parameter 
36     Int_t   fDebug;           //! debug flag - verbose printing if >0
37  private:
38     void SetPar(Double_t par){fTpar = par;}
39
40   ClassDef(AliITSStrLine,1);
41 };
42
43 #endif