source: trunk/MagicSoft/Mars/mgui/MHexagon.h@ 9261

Last change on this file since 9261 was 9235, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 2.1 KB
Line 
1#ifndef MARS_MHexagon
2#define MARS_MHexagon
3
4//////////////////////////////////////////////////////////////
5//
6// MHexagon
7//
8// A Hexagon for the MAGIC event display
9//
10//////////////////////////////////////////////////////////////
11
12#ifndef MARS_MAGIC
13#include "MAGIC.h"
14#endif
15
16#ifndef ROOT_TObject
17#include <TObject.h>
18#endif
19
20#ifndef ROOT_TAttLine
21#include <TAttLine.h>
22#endif
23
24#ifndef ROOT_TAttFill
25#include <TAttFill.h>
26#endif
27
28class MGeomPix;
29class TOrdCollection;
30
31class MHexagon : public TObject, public TAttLine, public TAttFill
32{
33private:
34 static const Double_t fgCos60;
35 static const Double_t fgSin60;
36
37public:
38 static const Double_t fgDx[6]; // X coordinate of the six edges
39 static const Double_t fgDy[6]; // Y coordinate of the six edges
40
41protected:
42
43 Float_t fX; // X coordinate of center
44 Float_t fY; // Y coordinate of center
45 Float_t fD; // diameter D or better distance between opposite sides
46
47 Float_t fPhi; // Rotation angle
48
49public:
50
51 MHexagon();
52 MHexagon(Float_t x, Float_t y, Float_t d, Float_t phi=0);
53 MHexagon(const MGeomPix &pix);
54 MHexagon(const MHexagon &hexagon);
55
56 virtual void Copy(TObject &hexagon)
57#if ROOT_VERSION_CODE > ROOT_VERSION(3,04,01)
58const
59#endif
60 ;
61
62 Int_t DistancetoPrimitive(Int_t px, Int_t py, Float_t conv);
63 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
64 {
65 return DistancetoPrimitive(px, py, 1);
66 }
67
68 virtual void DrawHexagon(Float_t x, Float_t y, Float_t d, Float_t phi=0);
69
70 //virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
71
72 virtual void ls(const Option_t *Option="") const;
73 virtual void Paint(Option_t *Option="");
74 virtual void PaintHexagon(Float_t x, Float_t y, Float_t d, Float_t phi=0);
75 virtual void Print(Option_t *Option="") const; // *MENU*
76 virtual void SavePrimitive(ostream &out, Option_t *);
77 virtual void SavePrimitive(ofstream &out, Option_t *);
78
79 Float_t GetX() const { return fX; }
80 Float_t GetY() const { return fY; }
81 Float_t GetD() const { return fD; }
82 Float_t GetPhi() const { return fPhi; }
83
84 ClassDef(MHexagon, 2) // A hexagon for MAGIC
85};
86
87#endif
88
Note: See TracBrowser for help on using the repository browser.