]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/src/AliLevel3.h
This commit was generated by cvs2svn to compensate for changes in r3176,
[u/mrichter/AliRoot.git] / HLT / src / AliLevel3.h
1 #ifndef ALILEVEL3_H
2 #define ALILEVEL3_H
3
4 #include <TObject.h>
5 #include <TBuffer.h>
6 #include <TFile.h>
7
8 #include "AliL3DigitData.h"
9
10 class AliL3SpacePointData;
11 class AliL3DigitRowData;
12 class AliL3TrackSegmentData;
13 class AliL3DigitData;
14 class AliL3Transform;
15 class TClonesArray;
16 class AliTPCParam;
17 class AliL3ConfMapper;
18 class AliL3Vertex;
19 class AliL3VertexFinder;
20 class AliL3TrackMerger;
21 class AliL3GlobalMerger;
22 class TDirectory;
23 class AliL3Transform;
24 class AliL3ClustFinder;
25 class AliL3Merger;
26 class AliL3InterMerger;
27 class AliL3FileHandler;
28 class AliL3Benchmark;
29
30 class AliLevel3 : public TObject {
31
32  private:
33   UInt_t fNTrackData;
34   AliL3TrackSegmentData* fTrackData; //!
35   AliL3ConfMapper *fTracker; //!
36   AliL3Vertex *fVertex; //! 
37   AliL3VertexFinder *fVertexFinder; //!
38   AliL3TrackMerger *fTrackMerger; //!
39   AliL3GlobalMerger *fGlobalMerger; //!
40   AliL3InterMerger *fInterMerger; //!
41   AliL3ClustFinder *fClusterFinder; //! 
42   AliL3FileHandler *fFileHandler; //!
43   AliL3Benchmark *fBenchmark;//!
44   Int_t fNPatch;
45   Char_t fPath[256];
46   AliL3Transform *fTransformer; //!
47   TDirectory *savedir;
48   TFile *fInputFile;
49   TFile *fOutputFile;
50   Bool_t fFindVertex;
51   void Init();
52   void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
53                                              Int_t slice,Int_t patch);
54   void WriteResults();
55   Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');  
56   Float_t fEta[2];
57   Bool_t fDoRoi;
58   Bool_t fUseBinary;
59   Bool_t fWriteOut;
60   void SetPath(char *p){sprintf(fPath,"%s",p);}
61  public:
62   AliLevel3 ();
63   AliLevel3(Char_t *infile,Char_t *outfile);
64   AliLevel3(TFile *in, TFile *out);
65   virtual ~AliLevel3();
66   
67   void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
68                        Int_t trackletlength=3,Int_t tracklength=5,
69                        Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
70                        Double_t min_pt_fit=0,Double_t maxangle=1.31,
71                        Double_t goodDist=5,Double_t hitChi2Cut=10,
72                        Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
73                        Int_t maxdist=50);
74
75
76   void ProcessEvent(Int_t first,Int_t last);
77   void ProcessSlice(Int_t slice);
78
79
80   void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;}
81   void DoMc(char* file="point_mc.dat");
82   void DoBench(char* name="benchmark");
83   void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;}
84   void WriteFiles(){fWriteOut = kTRUE;}
85   ClassDef(AliLevel3,1) //Interface class for Level3-tracking
86 };
87
88 #endif