Moved to the latest version of the HLT code in Bergen.
[u/mrichter/AliRoot.git] / HLT / kalman / AliL3Kalman.h
1 // @(#) $Id$
2
3 #ifndef ALIL3_KALMAN
4 #define ALIL3_KALMAN
5
6 #include "AliL3RootTypes.h"
7 #include "AliL3KalmanTrack.h"
8 #include "AliL3Track.h"
9
10 class AliL3SpacePointData;
11 class AliL3TrackArray;
12 class AliL3Benchmark;
13 class AliL3TrackSegmentData;
14
15 class AliL3Kalman {
16
17  private:
18
19   Int_t fMinSlice;
20   Int_t fMaxSlice;
21   AliL3SpacePointData *fClusters[36][6];
22   Char_t fPath[1024];
23   UInt_t fNcl[36][6];
24   AliL3TrackArray *fTracks;
25   AliL3TrackArray *fKalmanTracks;
26   AliL3TrackArray *fSeeds;
27
28   AliL3Benchmark *fBenchmark;
29   Int_t fMinPointsOnTrack;
30   Int_t fRow[6][2];
31   Char_t fWriteOutPath[256];
32   Bool_t fWriteOut;
33   Int_t fEvent;
34   Bool_t fMakeSeed;
35
36  public:
37
38   AliL3Kalman(Char_t *datapath, Int_t *slice=0, Int_t min_clusters=0);
39   virtual ~AliL3Kalman();
40   void Init();
41   void LoadTracks(Int_t event, Bool_t sp);
42   void ProcessTracks();
43   Int_t InitKalmanTrack(AliL3KalmanTrack *kalmantrack, AliL3Track *track);
44   Int_t MakeSeed(AliL3KalmanTrack *kalmantrack, AliL3Track *track);
45   Int_t Propagate(AliL3KalmanTrack *kalmantrack, AliL3Track *track);
46   Int_t Update(AliL3SpacePointData *points, UInt_t pos, AliL3KalmanTrack *kalmantrack);
47   void WriteFiles(Char_t *path="data"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);}
48   void DoMakeSeed(){fMakeSeed = kTRUE;}
49   Double_t GetCpuTime();
50   AliL3TrackArray *GetTracks() {return fKalmanTracks;}
51 };
52
53 #endif