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