1 #ifndef ALIMUONPAINTERCONTOUR_H
2 #define ALIMUONPAINTERCONTOUR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONPainterContour
11 /// \brief Contour(s) of a painter
13 // Author Laurent Aphecetche, Subatech
25 class AliMUONPainterContour : public TNamed
28 AliMUONPainterContour(const char* name="");
29 AliMUONPainterContour(const char* name, const AliMpArea& area);
30 AliMUONPainterContour(const AliMUONPainterContour& rhs);
31 AliMUONPainterContour& operator=(const AliMUONPainterContour& rhs);
32 virtual ~AliMUONPainterContour();
34 AliMpArea Area() const;
36 /// Add an offset to all points
37 void Offset(const TVector2& offset);
39 /// Apply a global transformation to all points
40 void Transform(const TGeoHMatrix& matrix);
42 void AdoptPolyLine(TPolyLine* line);
44 virtual void Copy(TObject& obj) const;
46 Bool_t IsInside(Double_t x, Double_t y) const;
49 void Paint(Option_t* ="") { PaintOutline(1,1); }
51 void PaintOutline(Int_t lineColor, Int_t lineWidth);
53 void PaintArea(Int_t fillColor, Int_t fillStyle=1001);
55 virtual void Print(Option_t* opt="") const;
57 /// Return as an array of polylines
58 const TObjArray* AsPolyLines() const { return fPolyLines; }
61 TObjArray* fPolyLines; ///< the polylines used to represent to contour
62 Double_t fXmin; ///< min x-value
63 Double_t fXmax; ///< max x-value
64 Double_t fYmin; ///< min y-value
65 Double_t fYmax; ///< max y-value
67 ClassDef(AliMUONPainterContour,1) // Contour for one painter