]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/AliPosition.h
Splitting of TRD library (T.Kuhr)
[u/mrichter/AliRoot.git] / RALICE / AliPosition.h
1 #ifndef ALIPOSITION_H
2 #define ALIPOSITION_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 #include <math.h>
9  
10 #include "TObject.h"
11 #include "TString.h"
12
13 #include "Ali3Vector.h"
14  
15 class AliPosition : public Ali3Vector
16 {
17  public:
18   AliPosition();                                         // Default constructor
19   virtual ~AliPosition();                                // Destructor
20   AliPosition(const AliPosition& p);                     // Copy constructor
21   void SetPosition(Double_t* r,TString f);               // Store position r in frame f
22   void GetPosition(Double_t* r,TString f) const;         // Provide position r in frame f
23   void SetPosition(Float_t*  r,TString f);               // Store position r in frame f
24   void GetPosition(Float_t*  r,TString f) const;         // Provide position r in frame f
25   AliPosition& GetPosition();                            // Provide position
26   void SetPosition(Ali3Vector& r);                       // Store position r
27   Double_t GetDistance(AliPosition& p);                  // Provide distance to position p
28   Double_t GetDistance(AliPosition* p) { return GetDistance(*p); }
29   void SetPositionErrors(Double_t* r,TString f);         // Store position r in frame f
30   void GetPositionErrors(Double_t* r,TString f) const;   // Provide position r in frame f
31   void SetPositionErrors(Float_t*  r,TString f);         // Store position r in frame f
32   void GetPositionErrors(Float_t*  r,TString f) const;   // Provide position r in frame f
33   void ResetPosition();                                  // Reset position and errors to 0
34   void SetUnitScale(Float_t s);                          // Set unit scale for the position coordinates
35   Float_t GetUnitScale() const;                          // Provide unit scale for the position coordinates
36
37  protected:
38   Float_t fScale; // The unit scale used for the position coordinates
39
40  ClassDef(AliPosition,6) // Handling of positions in various reference frames.
41 };
42 #endif