]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliRelAlignerKalman.h
Fix for Savannah bug report 59287
[u/mrichter/AliRoot.git] / STEER / AliRelAlignerKalman.h
index 01b0ad764080405d521e6f81d05bbbb0791cddd7..390bf6e8a5d89c1f76722d0126f114422b09a453 100644 (file)
 //////////////////////////////////////////////////////////////////////////////
 
 #include <TMath.h>
-#include <TObject.h>
 #include <TVectorD.h>
 #include <TMatrix.h>
 
+class TObject;
 class AliExternalTrackParam;
 class AliESDEvent;
 class AliESDtrack;
@@ -77,7 +77,6 @@ public:
     Double_t GetMagField() const { return fMagField; }
     Bool_t FindCosmicTrackletNumbersInEvent( TArrayI& outITStracksTArr, TArrayI& outTPCtracksTArr, const AliESDEvent* pEvent );
     Bool_t Update();
-    void SetRefSurface( const Double_t x, const Double_t alpha );
     void PrintCorrelationMatrix();
     //void PrintCovarianceCorrection();
     void PrintSystemMatrix();
@@ -114,10 +113,14 @@ public:
     Bool_t IsPositiveDefinite( const TMatrixD& mat ) const;
     void SetTimeStamp( const UInt_t ts ) { fTimeStamp = ts; }
     UInt_t GetTimeStamp() const {return fTimeStamp;}
-    void SetRunNumber( const UInt_t rn ) { fRunNumber = rn; }
-    UInt_t GetRunNumber() const {return fRunNumber;}
+    void SetRunNumber( const Int_t rn ) { fRunNumber = rn; }
+    Int_t GetRunNumber() const {return fRunNumber;}
     Int_t Compare(const TObject *obj) const;
     Bool_t IsSortable() const { return kTRUE; }
+    Int_t GetNTracks() const {return fNTracks;}
+    Int_t GetNUpdates() const {return fNUpdates;}
+    Int_t GetNOutliers() const {return fNOutliers;}
+    void SetPoint2Track( Bool_t o );
     
 protected:
     Bool_t UpdateEstimateKalman();
@@ -129,7 +132,6 @@ protected:
 
 private:
     static const Int_t fgkNTracksPerMeasurement=1;        //how many tracks for one update
-    static const Int_t fgkNMeasurementParams=4;           //how many measurables
     static const Int_t fgkNSystemParams=9;                //how many fit parameters
     
     //Track parameters
@@ -140,6 +142,7 @@ private:
     Double_t fMagField; //!magnetic field
 
     //Kalman filter related stuff
+    Int_t fNMeasurementParams;           //how many measurables
     TVectorD* fPX; //System (fit) parameters (phi, theta, psi, x, y, z, driftcorr, driftoffset )
     TMatrixDSym* fPXcov; //covariance matrix of system parameters
     TMatrixD* fPH;      //!System measurement matrix
@@ -151,6 +154,7 @@ private:
     Double_t fDelta[fgkNSystemParams]; //array with differentials for calculating derivatives for every parameter(see PrepareSystemMatrix())
 
     //Control
+    Bool_t fYZOnly;   //whether to consider only yz without directions.
     Bool_t fNumericalParanoia; //!whether to perform additional checks for numerical stability
     Bool_t fRejectOutliers; //!whether to do outlier rejection in the Kalman filter
     Bool_t fRequireMatchInTPC;  //!when looking for a cosmic in event, require that TPC has 2 matching segments
@@ -172,7 +176,7 @@ private:
     Int_t fNProcessedEvents; //number of processed events
     Int_t fTrackInBuffer; //!number of tracks in buffer
     UInt_t fTimeStamp;    //time stamp
-    UInt_t fRunNumber;    //run number
+    Int_t fRunNumber;    //run number
 
     //TPC stuff
     Double_t fTPCvd; //TPC drift velocity
@@ -184,3 +188,4 @@ private:
 
 #endif
 
+