1 #ifndef ALIMUONCONTOURMAKER_H
2 #define ALIMUONCONTOURMAKER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONContourMaker
11 /// \brief Creator/merger of AliMUONContour objects
13 // Author Laurent Aphecetche, Subatech
27 class AliMUONContourMaker : public TObject
30 AliMUONContourMaker();
31 virtual ~AliMUONContourMaker();
33 AliMUONContour* CreateContour(const TObjArray& polygons, const char* name=0x0) const;
35 AliMUONContour* MergeContour(const TObjArray& contours, const char* name=0x0) const;
39 AliMUONContour* FinalizeContour(const TObjArray& verticals, const TObjArray& horizontals) const;
41 void GetYPositions(const TObjArray& polygonVerticalEdges, TArrayD& yPositions) const;
43 void GetVerticalEdges(const TObjArray& polygons, TObjArray& polygonVerticalEdges) const;
45 void SortPoints(const TObjArray& polygonVerticalEdges, TObjArray& sortedPoints) const;
47 void Sweep(const TObjArray& polygonVerticalEdges, TObjArray& contourVerticalEdges) const;
49 void VerticalToHorizontal(const TObjArray& verticalEdges, TObjArray& horizontalEdges) const;
51 ClassDef(AliMUONContourMaker,1) // Maker/merger of AliMUONContour objects