]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFtrack.h
First implementation of EMCAL trigger QA from Nicola Arbor
[u/mrichter/AliRoot.git] / TOF / AliTOFtrack.h
index e11e65adea6191afe1a91d8b041d16a4ac8ba21b..ce57d3c026d4bce40932b859aae0f17dfcb6aaef 100644 (file)
 #ifndef ALITOFTRACK_H
 #define ALITOFTRACK_H
-// Description: class for handling ESD extracted tracks for TOF matching.
+
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-#include <AliKalmanTrack.h>
-#include <TMath.h>
-#include "AliTOFGeometry.h"
+//----------------------------------------------------------------------------//
+//                                                                            //
+//   Description: class for handling ESD extracted tracks for TOF matching.   //
+//                                                                            //
+//----------------------------------------------------------------------------//
+
+#include "TMath.h"
 #include "TVector2.h"
 
+#include "AliKalmanTrack.h"
+
+#include "AliCluster3D.h"
+#include "AliTOFGeometry.h"
+
+class TObject;
+
 class AliESDtrack;
+
 class AliTOFtrack : public AliKalmanTrack {
 
 public:
 
-   AliTOFtrack():AliKalmanTrack(){}
+   AliTOFtrack();
    AliTOFtrack(const AliTOFtrack& t);
    AliTOFtrack(const AliESDtrack& t);
-   AliTOFtrack& operator=(const AliTOFtrack &source); // ass. op.
+   AliTOFtrack& operator=(const AliTOFtrack &/*source*/); // ass. op.
 
-   Double_t GetAlpha() const {return fAlpha;}
    Int_t    GetSector() const {
-     return Int_t(TVector2::Phi_0_2pi(fAlpha)/AliTOFGeometry::GetAlpha())%AliTOFGeometry::NSectors();}
-
-   Double_t GetC()     const {return fC;}
-   void     GetCovariance(Double_t cov[15]) const; // track covariance
-   Double_t GetEta()   const {return fE;}
+     return Int_t(TVector2::Phi_0_2pi(GetAlpha())/AliTOFGeometry::GetAlpha())%AliTOFGeometry::NSectors();}
 
-   void     GetExternalCovariance(Double_t cov[15]) const ;// track covariance
-   void     GetExternalParameters(Double_t& xr, Double_t x[5]) const ;//track parameters
-   Double_t GetSigmaY2() const {return fCyy;}
-   Double_t GetSigmaZ2() const {return fCzz;}
-
-   Double_t Get1Pt() const {
-      return (TMath::Sign(1e-9,fC) + fC)*GetLocalConvConst();
-   }
-   Double_t GetP()     const {  
-     return TMath::Abs(GetPt())*sqrt(1.+GetTgl()*GetTgl());
-   }
-   Double_t GetPt()    const {return 1./Get1Pt();}   
-   void     GetPxPyPz(Double_t &px, Double_t &py, Double_t &pz) const ;
-   void     GetGlobalXYZ(Double_t &x, Double_t &y, Double_t &z) const ;
    Int_t    GetSeedLabel() const { return fSeedLab; }
    Int_t    GetSeedIndex() const { return fSeedInd; }
    void     SetSeedLabel(Int_t lab) { fSeedLab=lab; }
    void     SetSeedIndex(Int_t ind) { fSeedInd=ind; }
-   Double_t GetSnp()  const {return fX*fC - fE;}
-   Double_t GetTgl()  const {return fT;}
-   Double_t GetX()    const {return fX;}
-   Double_t GetY()    const {return fY;}
-   Double_t GetZ()    const {return fZ;}
   
    Int_t Compare(const TObject *o) const;
 
-
    Double_t GetYat(Double_t xk, Bool_t & skip) const;
-   Int_t    PropagateTo(Double_t xr, Double_t x0=8.72, Double_t rho=5.86e-3);
-   Int_t    PropagateToInnerTOF(Bool_t holes);
-   void     ResetCovariance();   
-   void     ResetCovariance(Float_t mult);   
-   Int_t    Rotate(Double_t angle);
+   Double_t GetPredictedChi2(const AliCluster3D *c) const;
+   Bool_t   PropagateTo(const AliCluster3D *c);
+   Bool_t   PropagateTo(Double_t xr, Double_t x0=8.72, Double_t rho=5.86e-3);
+   Bool_t   PropagateToInnerTOF();
+   Bool_t   PropagateToInnerTOFold();
+   Bool_t   Rotate(Double_t angle) {
+     return AliExternalTrackParam::Rotate(GetAlpha()+angle);
+   }
 
 protected:
-   void GetXYZ(Float_t r[3]) const;
-   
-   Int_t Update(const AliCluster */*c*/, Double_t /*chi2*/, UInt_t /*idx*/) { 
+   Bool_t Update(const AliCluster */*c*/, Double_t /*chi2*/, Int_t /*idx*/) {
      return 0;
    }
    Double_t GetPredictedChi2(const AliCluster */*c*/) const {return 0.;}
-
+   
    Int_t    fSeedInd;     // ESD seed track index  
    Int_t    fSeedLab;     // track label taken from seeding  
-   Double_t fAlpha;       // rotation angle
-   Double_t fX;           // running local X-coordinate of the track (time bin)
-  
-   Double_t fY;             // Y-coordinate of the track
-   Double_t fZ;             // Z-coordinate of the track
-   Double_t fE;             // C*x0
-   Double_t fT;             // tangent of the track momentum dip angle
-   Double_t fC;             // track curvature
-
-   Double_t fCyy;                         // covariance
-   Double_t fCzy, fCzz;                   // matrix
-   Double_t fCey, fCez, fCee;             // of the
-   Double_t fCty, fCtz, fCte, fCtt;       // track
-   Double_t fCcy, fCcz, fCce, fCct, fCcc; // parameters   
-
-   AliTOFGeometry *fTOFgeometry; // pointer to the TOF geometry
 
  private:
 
-   void GetPropagationParameters(Bool_t holes, Double_t *param);
+   void GetPropagationParameters(Double_t *param);
    
-   ClassDef(AliTOFtrack,0) // TOF reconstructed tracks
+   ClassDef(AliTOFtrack,2) // TOF reconstructed tracks
 
 };                     
 
-inline void AliTOFtrack::GetXYZ(Float_t r[3]) const {
-  //---------------------------------------------------------------------
-  // Returns the position of the track in the global coord. system 
-  //---------------------------------------------------------------------
-  Double_t cs=TMath::Cos(fAlpha), sn=TMath::Sin(fAlpha);
-  r[0]=fX*cs - fY*sn; r[1]=fX*sn + fY*cs; r[2]=fZ;
-}
-
 #endif