7 #include "AliL3DigitData.h"
8 #include "AliL3RootTypes.h"
10 class AliL3SpacePointData;
11 class AliL3DigitRowData;
12 class AliL3TrackSegmentData;
15 class AliL3ConfMapper;
17 class AliL3VertexFinder;
18 class AliL3TrackMerger;
19 class AliL3GlobalMerger;
22 class AliL3ClustFinder;
24 class AliL3InterMerger;
26 class AliL3FileHandler;
28 class AliL3MemHandler;
32 class AliLevel3 : public TObject {
36 AliL3TrackSegmentData* fTrackData; //!
37 AliL3ConfMapper *fTracker; //!
38 AliL3Vertex *fVertex; //!
39 AliL3VertexFinder *fVertexFinder; //!
40 AliL3TrackMerger *fTrackMerger; //!
41 AliL3GlobalMerger *fGlobalMerger; //!
42 AliL3InterMerger *fInterMerger; //!
43 AliL3ClustFinder *fClusterFinder; //!
45 AliL3FileHandler *fFileHandler; //!
47 AliL3MemHandler *fFileHandler; //!
49 AliL3Benchmark *fBenchmark;//!
53 AliL3Transform *fTransformer; //!
59 void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points,
60 Int_t slice,Int_t patch);
62 Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o');
67 void SetPath(char *p){sprintf(fPath,"%s",p);}
70 AliLevel3(Char_t *infile,Char_t *outfile);
71 AliLevel3(TFile *in, TFile *out);
74 void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
75 Int_t trackletlength=3,Int_t tracklength=5,
76 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
77 Double_t min_pt_fit=0,Double_t maxangle=1.31,
78 Double_t goodDist=5,Double_t hitChi2Cut=10,
79 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
83 void ProcessEvent(Int_t first,Int_t last);
84 void ProcessSlice(Int_t slice);
87 void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;}
88 void DoMc(char* file="point_mc.dat");
89 void DoBench(char* name="benchmark");
90 void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;}
91 void WriteFiles(){fWriteOut = kTRUE;}
92 ClassDef(AliLevel3,1) //Interface class for Level3-tracking