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 */
6 ///////////////////////////////////////////////////////////////////
8 // A straight line is coded as a point (3 Double_t) and //
9 // 3 direction cosines //
11 ///////////////////////////////////////////////////////////////////
14 class AliITSStrLine : public TObject {
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);
30 void SetPar(Double_t par){fTpar = par;}
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);