Preparation to use ITS tracking in HLT (C.Cheshkov)
[u/mrichter/AliRoot.git] / STEER / AliESDHLTtrack.cxx
index 14a9d472d8746e46398ac99c76ee6d1c8891dfd9..5686199f2899e8bb86e4b0b02af3cf2292ec67ce 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "TMath.h"
 #include "AliESDHLTtrack.h"
+#include "AliKalmanTrack.h"
 
 ClassImp(AliESDHLTtrack)
 
@@ -46,7 +47,7 @@ AliESDHLTtrack::AliESDHLTtrack() : TObject()
   fBinY = 0;
   fSizeX = 0;
   fSizeY = 0;
-  fPID =0;
+  fPID = 0;
 }
 
 Double_t AliESDHLTtrack::GetP() const
@@ -59,3 +60,28 @@ Double_t AliESDHLTtrack::GetPseudoRapidity() const
 {
   return 0.5 * TMath::Log((GetP() + GetPz()) / (GetP() - GetPz()));
 }
+
+Bool_t AliESDHLTtrack::UpdateTrackParams(const AliKalmanTrack *t)
+{
+  // Updates the track parameters
+
+  fNHits = t->GetNumberOfClusters();
+  fMCid = t->GetLabel();
+
+  Double_t alpha = t->GetAlpha();
+  fSector = (UShort_t)(alpha/(2*TMath::Pi()/18));
+  Double_t x,p[5]; t->GetExternalParameters(x,p);
+  if(p[4]<=0)
+    fQ = 1;
+  else
+    fQ = -1;
+  fPt = TMath::Abs(1./p[4]);
+  fTanl = p[3];
+  fPsi = alpha + TMath::ASin(p[2]);
+
+  fFirstPoint[0] = x*TMath::Cos(alpha) - p[0]*TMath::Sin(alpha);
+  fFirstPoint[1] = x*TMath::Sin(alpha) + p[0]*TMath::Cos(alpha);
+  fFirstPoint[2] = p[1];
+
+  return kTRUE;
+}