]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDHLTtrack.cxx
Merging changes from v4-04-Release
[u/mrichter/AliRoot.git] / STEER / AliESDHLTtrack.cxx
index 14a9d472d8746e46398ac99c76ee6d1c8891dfd9..8995c0893ecfacbbd3f987cca278a03d19e1898f 100644 (file)
 
 #include "TMath.h"
 #include "AliESDHLTtrack.h"
+#include "AliKalmanTrack.h"
 
 ClassImp(AliESDHLTtrack)
 
-AliESDHLTtrack::AliESDHLTtrack() : TObject()
+AliESDHLTtrack::AliESDHLTtrack() :
+  TObject(),
+  fNHits(0),
+  fMCid(0),
+  fWeight(0),
+  fFromMainVertex(kFALSE),
+  fSector(0),
+  fQ(0),
+  fTanl(0),
+  fPsi(0),
+  fPt(0),
+  fPterr(0),
+  fPsierr(0),
+  fTanlerr(0),
+  fBinX(0),
+  fBinY(0),
+  fSizeX(0),
+  fSizeY(0),
+  fPID(0)
 {
-  fNHits = 0;
-  fMCid = 0;
-  fWeight = 0;
-  fFromMainVertex = kFALSE;
+  // Default constructor
   fRowRange[0] = fRowRange[1] = 0;
-  fSector = 0;
   fFirstPoint[0] = fFirstPoint[1] = fFirstPoint[2] = 0;
   fLastPoint[0] = fLastPoint[1] = fLastPoint[2] = 0;
-  fQ = 0;
-  fTanl = 0;
-  fPsi = 0;
-  fPt = 0;
-  fPterr = 0;
-  fPsierr = 0;
-  fTanlerr = 0;
-  fBinX = 0;
-  fBinY = 0;
-  fSizeX = 0;
-  fSizeY = 0;
-  fPID =0;
 }
 
 Double_t AliESDHLTtrack::GetP() const
@@ -57,5 +60,31 @@ Double_t AliESDHLTtrack::GetP() const
 
 Double_t AliESDHLTtrack::GetPseudoRapidity() const
 {
+  // Calculates the pseudorapidity
   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;
+}