]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/Ref/AliHLTTPCMerger.h
Added data members to the track segment data structure to make
[u/mrichter/AliRoot.git] / HLT / TPCLib / Ref / AliHLTTPCMerger.h
CommitLineData
78001a73 1// @(#) $Id$
2#ifndef ALIHLTTPCMERGER_H
3#define ALIHLTTPCMERGER_H
4#define PI 3.14159265358979312
5
6#include "AliHLTTPCRootTypes.h"
7
8class AliHLTTPCTrack;
9class AliHLTTPCTrackSegmentData;
10class AliHLTTPCVertex;
11class AliHLTTPCTrackArray;
12
13class 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