]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliHelix.h
add protection against truncated events + coverity - Rachid
[u/mrichter/AliRoot.git] / STEER / AliHelix.h
index de08f82e69985bf517217297be545d2085513382..2a21b04c13a4a5e314359495700be6fd953e32dd 100644 (file)
@@ -31,7 +31,7 @@ public:
   void Evaluate(Double_t t, Double_t r[3],  //radius vector
                      Double_t g[3],  //first defivatives
                Double_t gg[3]);     //second derivatives
-  void GetMomentum(Double_t phase, Double_t p[4], Double_t conversion=0.);  // return  momentum  
+  void GetMomentum(Double_t phase, Double_t p[4], Double_t conversion=0., Double_t *xr=0);  // return  momentum  
   void  GetAngle(Double_t t1, AliHelix &h, Double_t t2, Double_t angle[3]);
   inline Double_t GetHelixR(Double_t phase=0);
   inline Double_t GetHelixZ(Double_t phase=0);
@@ -40,13 +40,19 @@ public:
   Double_t  GetPhaseZ(Double_t z0);               // return phase for given z
   Int_t     GetPhase(Double_t r0, Double_t t[2]);               //return phase for the nearest point
   Int_t     GetRPHIintersections(AliHelix &h, Double_t phase[2][2], Double_t ri[2], Double_t cut=3.);
+  Int_t     GetClosestPhases(AliHelix &h, Double_t phase[2][2]);
+  Double_t  GetPointAngle(AliHelix &h, Double_t phase[2],const Float_t *vertex);
   Int_t     LinearDCA(AliHelix &h, Double_t &t1, Double_t &t2, 
                      Double_t &R, Double_t &dist);
   //
   Int_t     ParabolicDCA(AliHelix&h,  //helixes
                         Double_t &t1, Double_t &t2, 
                         Double_t &R, Double_t &dist, Int_t iter=1);    
-
+  Int_t     ParabolicDCA2(AliHelix&h,  //helixes
+                        Double_t &t1, Double_t &t2, 
+                        Double_t &R, Double_t &dist, Double_t err[3], Int_t iter=1);    
+  Double_t GetHelix(Int_t i) const{return fHelix[i];}
+ public:
   Double_t fHelix[9];    //helix parameters
  private:  
   ClassDef(AliHelix,1)    // AliHelix