b1886074 |
1 | //$Id$ |
2 | |
3 | // Author: Anders Vestbo <mailto:vestbo@fi.uib.no> |
4 | //*-- Copyright © 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 | |
45 | ClassImp(AliL3Hough) |
46 | |
47 | AliL3Hough::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 |
68 | AliL3Hough::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 |
81 | AliL3Hough::~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 |
96 | void 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 |