3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////
10 // Handling of positions in various reference frames.
12 // This class is meant to serve as a base class for ALICE objects
13 // that have a unique position in 3-dimensional space.
17 // Positions (r) and reference frames (f) are specified via
18 // SetPosition(Float_t* r,TString f) under the following conventions :
20 // f="car" ==> r in Cartesian coordinates (x,y,z)
21 // f="sph" ==> r in Spherical coordinates (r,theta,phi)
22 // f="cyl" ==> r in Cylindrical coordinates (rho,phi,z)
24 // All angles are in radians.
30 // Float_t pos[3]={-1,25,7};
31 // q.SetPosition(pos,"car");
33 // q.GetPosition(loc,"sph");
35 //--- NvE 06-feb-1999 UU-SAP Utrecht
36 ///////////////////////////////////////////////////////////////////////////
44 #include "Ali3Vector.h"
46 class AliPosition : public Ali3Vector
49 AliPosition(); // Default constructor
50 virtual ~AliPosition(); // Destructor
51 virtual void SetPosition(Double_t* r,TString f); // Store position r in frame f
52 virtual void GetPosition(Double_t* r,TString f); // Provide position r in frame f
53 virtual void SetPosition(Float_t* r,TString f); // Store position r in frame f
54 virtual void GetPosition(Float_t* r,TString f); // Provide position r in frame f
55 AliPosition& GetPosition(); // Provide position
56 virtual void SetPosition(Ali3Vector& r); // Store position r
58 ClassDef(AliPosition,1) // Class definition to enable ROOT I/O