3654d6ebf90d4e095572d341ae0c0a425b3964d8
[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) {for(Int_t i=0;i<3;i++)point[i]=fP0[i];}
25     void GetCd(Double_t *cd) {for(Int_t i=0;i<3;i++)cd[i]=fCd[i];}
26     void GetCurrentPoint(Double_t *point);
27     Int_t Crossrphi(AliITSStrLine *line);
28     Int_t Cross(AliITSStrLine *line,Double_t *point);
29  private:
30     void SetPar(Double_t par){fTpar = par;}
31  protected:
32     Double_t fP0[3];           // given point
33     Double_t fCd[3];           // direction cosines
34     Double_t fTpar;            //! parameter 
35     Int_t   fDebug;           //! debug flag - verbose printing if >0
36   ClassDef(AliITSStrLine,1);
37 };
38
39 #endif