]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliVParticle.h
Track propagation and coordinate transformation moved into base class.
[u/mrichter/AliRoot.git] / STEER / AliVParticle.h
index 23826537b59ef8ea4a448a7f3b5838f8e351cb5e..40257cad45679d1031e7c96a4605c9edd66aa96c 100644 (file)
 #include <Rtypes.h>
 #include <TObject.h>
 
+const Double_t kAlmost1=0.999;
+const Double_t kAlmost0=1e-33;
+
+const Double_t kB2C=0.299792458e-3;
+const Double_t kAlmost0Field=1.e-13;
+
 class AliVParticle: public TObject {
 
 public:
@@ -27,6 +33,12 @@ public:
   virtual Double_t Pz() const = 0;
   virtual Double_t Pt() const = 0;
   virtual Double_t P() const = 0;
+  virtual Bool_t   PxPyPz(Double_t p[3]) const = 0;
+
+  virtual Double_t Xv() const = 0;
+  virtual Double_t Yv() const = 0;
+  virtual Double_t Zv() const = 0;
+  virtual Bool_t   XvYvZv(Double_t x[3]) const = 0;  
 
   virtual Double_t OneOverPt() const = 0;
   virtual Double_t Phi() const = 0;
@@ -44,6 +56,11 @@ public:
   // PID
   virtual const Double_t *PID() const = 0; // return PID object (to be defined, still)
 
+  // coordinate system conversions
+  Bool_t   Local2GlobalMomentum(Double_t p[3], Double_t alpha) const;
+  Bool_t   Local2GlobalPosition(Double_t r[3], Double_t alpha) const;
+  Bool_t   Global2LocalMomentum(Double_t p[3], Short_t charge, Double_t &alpha) const;
+  Bool_t   Global2LocalPosition(Double_t r[3], Double_t alpha) const;
 
   ClassDef(AliVParticle,0)  // base class for particles
 };