]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/src/AliL3Merger.h
More improved Makefile, setting logging paths, TOPDIR and LIBDIR.
[u/mrichter/AliRoot.git] / HLT / src / AliL3Merger.h
CommitLineData
108615fc 1#ifndef ALIL3MERGER_H
2#define ALIL3MERGER_H
3#define PI 3.14159265358979312
4
5#include "AliL3RootTypes.h"
6
7class AliL3Track;
8class AliL3TrackSegmentData;
9class AliL3Vertex;
10class AliL3Transform;
11class AliL3TrackArray;
12
13class AliL3Merger {
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();
5dcd65ea 22 Char_t fTrackType;
23
108615fc 24 AliL3TrackArray **fInTrack;//!
25 Int_t fNIn;
26
27 AliL3TrackArray *fOutTrack;//!
28
29 protected:
30 Int_t fCurrentTracks;
31 Int_t fSlice;
32 AliL3Vertex *fVertex;//!
33 AliL3Transform *fTransformer;//!
34 Bool_t f2Global;
35 Bool_t Is2Global(Bool_t is){f2Global=is;return f2Global;}
36
37 public:
38 AliL3Merger();
5dcd65ea 39 AliL3Merger(Int_t ntrackarrays,Char_t *tracktype="AliL3Track");
108615fc 40 virtual ~AliL3Merger();
41
42 Int_t GetNIn(){return fNIn;}
43 AliL3TrackArray *GetInTracks(Int_t in){return fInTrack[in];}
44 AliL3TrackArray *GetOutTracks(){return fOutTrack;}
45
46 Bool_t Is2Global(){return f2Global;}
47 void SetTransformer(AliL3Transform *trans){fTransformer = trans;}
48 void SetVertex(AliL3Vertex *vertex){fVertex=vertex;}
49 void Reset();
50 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);
51 void FillTracks(Int_t ntracks, AliL3TrackSegmentData* tr); //Fill tracks in fTrackArray[fCurrentTracks]
52 Double_t GetAngle(Double_t a1,Double_t a2);
53 void* GetNtuple();
54 void* GetNtuple(char *varlist);
55 Bool_t WriteNtuple(char *filename,void* nt);
56 void FillNtuple(void* nt,Float_t *data);
57 void FillNtuple(void* nt,AliL3Track *innertrack,AliL3Track *outertrack);
58 void AddAllTracks();//Copy all Tracks to Output Array
59 void SortGlobalTracks(AliL3Track **tracks, Int_t ntrack);
b661165c 60 virtual void SortTracks(AliL3Track **tracks, Int_t ntrack);
61 virtual void AddTrack(AliL3TrackArray *mergedtrack,AliL3Track *track);
5dcd65ea 62 virtual AliL3Track * MultiMerge(AliL3TrackArray *mergedtrack,AliL3Track **tracks, Int_t ntrack);
108615fc 63 AliL3Track * MergeTracks(AliL3TrackArray *mergedtrack,AliL3Track *t0,AliL3Track *t1);
5dcd65ea 64 virtual Bool_t IsTrack(AliL3Track *innertrack,AliL3Track *outertrack);
108615fc 65 Bool_t IsRTrack(AliL3Track *innertrack,AliL3Track *outertrack);
66 Double_t TrackDiff(AliL3Track *innertrack,AliL3Track *outertrack);
67 void Print();
68 void PrintDiff(AliL3Track *innertrack,AliL3Track *outertrack);
69 void PrintTrack(AliL3Track *track);
70// Int_t WriteTracks(Char_t *file);
71// Int_t WriteInTracks(Char_t *file);
72// Int_t WriteAllTracks(Char_t *file);
73
b661165c 74 ClassDef(AliL3Merger,1) //Merging base class
108615fc 75};
76
77#endif