]>
Commit | Line | Data |
---|---|---|
78001a73 | 1 | // @(#) $Id$ |
2 | #ifndef ALIHLTTPCMERGER_H | |
3 | #define ALIHLTTPCMERGER_H | |
4 | #define PI 3.14159265358979312 | |
5 | ||
6 | #include "AliHLTTPCRootTypes.h" | |
7 | ||
8 | class AliHLTTPCTrack; | |
9 | class AliHLTTPCTrackSegmentData; | |
10 | class AliHLTTPCVertex; | |
11 | class AliHLTTPCTrackArray; | |
12 | ||
13 | class AliHLTTPCMerger { | |
14 | private: | |
15 | Double_t fMaxY; | |
16 | Double_t fMaxZ; | |
17 | Double_t fMaxKappa; | |
18 | Double_t fMaxPsi; | |
19 | Double_t fMaxTgl; | |
20 | void SetArray(Int_t nin); | |
21 | void DeleteArray(); | |
22 | Char_t fTrackType; | |
23 | ||
24 | AliHLTTPCTrackArray **fInTrack;//! | |
25 | Int_t fNIn; | |
26 | ||
27 | AliHLTTPCTrackArray *fOutTrack;//! | |
28 | ||
29 | protected: | |
30 | Int_t fCurrentTracks; | |
31 | Int_t fSlice; | |
32 | AliHLTTPCVertex *fVertex;//! | |
33 | Bool_t f2Global; | |
34 | Bool_t Is2Global(Bool_t is){f2Global=is;return f2Global;} | |
35 | void InitMerger(Int_t ntrackarrays,Char_t *tracktype="AliHLTTPCTrack"); | |
36 | ||
37 | public: | |
38 | AliHLTTPCMerger(); | |
39 | virtual ~AliHLTTPCMerger(); | |
40 | ||
41 | Int_t GetNIn(){return fNIn;} | |
42 | AliHLTTPCTrackArray *GetInTracks(Int_t in){return fInTrack[in];} | |
43 | AliHLTTPCTrackArray *GetOutTracks(){return fOutTrack;} | |
44 | ||
45 | Bool_t Is2Global(){return f2Global;} | |
46 | void SetVertex(AliHLTTPCVertex *vertex){fVertex=vertex;} | |
47 | void Reset(); | |
48 | void SetParameter(Double_t maxy=1., Double_t maxz=1., Double_t maxkappa=0.001, Double_t maxpsi=0.05, Double_t maxtgl=0.1); | |
49 | void FillTracks(Int_t ntracks, AliHLTTPCTrackSegmentData* tr); //Fill tracks in fTrackArray[fCurrentTracks] | |
50 | Double_t GetAngle(Double_t a1,Double_t a2); | |
51 | void* GetNtuple(); | |
52 | void* GetNtuple(char *varlist); | |
53 | Bool_t WriteNtuple(char *filename,void* nt); | |
54 | void FillNtuple(void* nt,Float_t *data); | |
55 | void FillNtuple(void* nt,AliHLTTPCTrack *innertrack,AliHLTTPCTrack *outertrack); | |
56 | void AddAllTracks();//Copy all Tracks to Output Array | |
57 | void SortGlobalTracks(AliHLTTPCTrack **tracks, Int_t ntrack); | |
58 | virtual void SortTracks(AliHLTTPCTrack **tracks, Int_t ntrack); | |
59 | virtual void AddTrack(AliHLTTPCTrackArray *mergedtrack,AliHLTTPCTrack *track); | |
60 | virtual AliHLTTPCTrack * MultiMerge(AliHLTTPCTrackArray *mergedtrack,AliHLTTPCTrack **tracks, Int_t ntrack); | |
61 | AliHLTTPCTrack * MergeTracks(AliHLTTPCTrackArray *mergedtrack,AliHLTTPCTrack *t0,AliHLTTPCTrack *t1); | |
62 | virtual Bool_t IsTrack(AliHLTTPCTrack *innertrack,AliHLTTPCTrack *outertrack); | |
63 | Bool_t IsRTrack(AliHLTTPCTrack *innertrack,AliHLTTPCTrack *outertrack); | |
64 | Double_t TrackDiff(AliHLTTPCTrack *innertrack,AliHLTTPCTrack *outertrack); | |
65 | void Print(); | |
66 | void PrintDiff(AliHLTTPCTrack *innertrack,AliHLTTPCTrack *outertrack); | |
67 | void PrintTrack(AliHLTTPCTrack *track); | |
68 | // Int_t WriteTracks(Char_t *file); | |
69 | // Int_t WriteInTracks(Char_t *file); | |
70 | // Int_t WriteAllTracks(Char_t *file); | |
71 | ||
72 | ClassDef(AliHLTTPCMerger,1) //Merging base class | |
73 | }; | |
74 | ||
75 | #endif |