Line data Source code
1 : #ifndef ALIMUONMANUPADPAINTER_H
2 : #define ALIMUONMANUPADPAINTER_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : // $Id$
8 :
9 : /// \ingroup graphics
10 : /// \class AliMUONManuPadPainter
11 : /// \brief Painter for the pads of one manu
12 : ///
13 : // Author Laurent Aphecetche, Subatech
14 :
15 : #ifndef ALIMUONVPAINTER_H
16 : # include "AliMUONVPainter.h"
17 : #endif
18 : #ifndef ALI_MP_PAD_H
19 : # include "AliMpPad.h"
20 : #endif
21 :
22 0 : class AliMUONManuPadPainter : public AliMUONVPainter
23 : {
24 : public:
25 : AliMUONManuPadPainter(TRootIOCtor* ioCtor);
26 : AliMUONManuPadPainter();
27 : AliMUONManuPadPainter(const AliMUONVPainter& mother,
28 : Int_t detElemId,
29 : Int_t manuId);
30 : virtual ~AliMUONManuPadPainter();
31 :
32 : /// Clone ourselves
33 0 : virtual TObject* Clone(const char* = "") const { return new AliMUONManuPadPainter(*this); }
34 :
35 : virtual void ComputeDataRange(const AliMUONVTrackerData& data,
36 : Int_t dataIndex,
37 : Double_t& dataMin, Double_t& dataMax) const;
38 :
39 : virtual char* GetObjectInfo(Int_t px, Int_t py) const;
40 :
41 : /// We advertise that we do handle mouse movement
42 0 : virtual Bool_t HandleMouseMotion() const { return kTRUE; }
43 :
44 : TString NameAtPosition(Double_t x, Double_t y) const;
45 :
46 : virtual TString Describe(const AliMUONVTrackerData& data, Int_t dataIndex,
47 : Double_t x=FLT_MAX, Double_t y=FLT_MAX);
48 :
49 : using AliMUONVPainter::PaintArea;
50 :
51 : void PaintArea(const AliMUONVTrackerData& data,
52 : Int_t dataIndex,
53 : Double_t min,
54 : Double_t max);
55 :
56 : void PaintOutline(Int_t color=-1, Int_t width=-1, Double_t x=FLT_MAX, Double_t y=FLT_MAX);
57 :
58 : /// Whether this painter can be detached from the current view.
59 0 : Bool_t CanBeDetached() const { return kFALSE; }
60 :
61 : virtual void DrawHistogramClone(Double_t* values=0x0) const;
62 :
63 : virtual Bool_t IsIncluded() const;
64 :
65 : private:
66 :
67 : void BackupStyle();
68 : void RestoreStyle();
69 : AliMpPad PadByPosition(Double_t x, Double_t y) const;
70 : void PaintPad(const AliMpPad& pad) const;
71 :
72 : private:
73 : Int_t fDetElemId; ///< our detection element id
74 : Int_t fManuId; ///< our manu id
75 : Int_t fLineColorBck; ///< line color for backup
76 : Int_t fLineWidthBck; ///< line width for backup
77 : Int_t fFillColorBck; ///< fill color for backup
78 : Int_t fFillStyleBck; ///< fill style for backup
79 :
80 12 : ClassDef(AliMUONManuPadPainter,1) // Painter for the pads of one manu
81 : };
82 :
83 : #endif
|