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