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