Added getter GetNRows()
[u/mrichter/AliRoot.git] / HLT / hough / AliL3Hough.cxx
CommitLineData
b1886074 1//$Id$
2
3// Author: Anders Vestbo <mailto:vestbo@fi.uib.no>
4//*-- Copyright &copy ASV
5
f80b98cb 6
f000f8a5 7#include <string.h>
f000f8a5 8
b1886074 9#include "AliL3HoughMerger.h"
10#include "AliL3HoughIntMerger.h"
11#include "AliL3HoughGlobalMerger.h"
a6008206 12#include "AliL3Logging.h"
f80b98cb 13#include "AliL3Histogram.h"
f000f8a5 14#include "AliL3Hough.h"
15#include "AliL3HoughTransformer.h"
b46b53c1 16#include "AliL3HoughTransformerVhdl.h"
f000f8a5 17#include "AliL3HoughMaxFinder.h"
95a00d93 18#ifdef use_aliroot
f80b98cb 19#include "AliL3FileHandler.h"
95a00d93 20#else
21#include "AliL3MemHandler.h"
22#endif
d96f6a4a 23#include "AliL3DataHandler.h"
f80b98cb 24#include "AliL3DigitData.h"
25#include "AliL3HoughEval.h"
26#include "AliL3Transform.h"
f80b98cb 27#include "AliL3TrackArray.h"
28#include "AliL3HoughTrack.h"
95a00d93 29
b1886074 30
31//_____________________________________________________________
32// AliL3Hough
33//
237d3f5c 34// Interface class for the Hough transform
b1886074 35//
237d3f5c 36// Example how to use:
37//
38// AliL3Hough *hough = new AliL3Hough(path,kTRUE,NumberOfEtaSegments);
39// hough->ReadData(slice);
40// hough->Transform();
41// hough->FindTrackCandidates();
42//
43// AliL3TrackArray *tracks = hough->GetTracks(patch);
f000f8a5 44
45ClassImp(AliL3Hough)
46
47AliL3Hough::AliL3Hough()
48{
b1886074 49 //Constructor
50
a6008206 51 fBinary = kFALSE;
52 fNEtaSegments = 0;
53 fAddHistograms = kFALSE;
b1886074 54 fDoIterative = kFALSE;
a6008206 55 fWriteDigits=kFALSE;
1c404dd5 56 fNPatches=0;
237d3f5c 57 fMemHandler = 0;
58 fHoughTransformer = 0;
59 fEval = 0;
60 fPeakFinder = 0;
61 fTracks = 0;
62 fMerger = 0;
63 fInterMerger = 0;
64 fGlobalMerger = 0;
b46b53c1 65 fversion = 0;
f000f8a5 66}
67
b46b53c1 68AliL3Hough::AliL3Hough(Char_t *path,Bool_t binary,Int_t n_eta_segments,Int_t tversion=0)
69{
70 //Default ctor.
71
72 fBinary = binary;
73 strcpy(fPath,path);
74 fNEtaSegments = n_eta_segments;
75 fAddHistograms = kFALSE;
76 fDoIterative = kFALSE;
77 fWriteDigits = kFALSE;
78 fversion = tversion;
79}
f000f8a5 80
f000f8a5 81AliL3Hough::~AliL3Hough()
82{
237d3f5c 83 //dtor
84
b1886074 85 CleanUp();
86 if(fMerger)
87 delete fMerger;
88 if(fInterMerger)
89 delete fInterMerger;
a6008206 90 if(fPeakFinder)
91 delete fPeakFinder;
1c404dd5 92 if(fGlobalMerger)
93 delete fGlobalMerger;
f000f8a5 94}
95
b1886074 96void AliL3Hough::CleanUp()
f000f8a5 97{
b1886074 98 //Cleanup memory
99
1c404dd5 100 for(Int_t i=0; i<fNPatches; i++)
4fc9a6a4 101 {
b1886074 102 if(fTracks[i]) delete fTracks[i];
103 if(fEval[i]) delete fEval[i];
104 if(fHoughTransformer[i]) delete fHoughTransformer[i];
105 if(fMemHandler[i]) delete fMemHandler[i];
4fc9a6a4 106 }
b1886074 107
3fe49b5b 108 /*
109