BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/BesVisLib-00-04-04/BesVisLib/Muc2DStrip.h
Go to the documentation of this file.
1
2#ifndef MUC_2D_STRIP_H
3#define MUC_2D_STRIP_H
4
5#include <vector>
6#include <TNamed.h>
7#include <TAttLine.h>
8#include <TAttFill.h>
9#include <TPaveLabel.h>
10#include <TPaveText.h>
11#include <TVector3.h>
12
13#include "BesCircle2D.h"
14#include "BesPolygon2D.h"
15#include "BesMarker2D.h"
16#include "BesPaveText.h"
17
18class Muc2DStrip : public TNamed, public TAttLine, public TAttFill
19{
20 public:
21
23 Muc2DStrip(const char* name, const char* title, Int_t N, Double_t *P, Int_t part, Int_t seg, Int_t gap, Int_t strip);
25
26 virtual void SetStyle();
27 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
28 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
29
30 virtual void SetHighlighted(bool status = true) { fHighlighted = status; }
31 virtual void SetFired(bool status = true) { fFired = status; }
32 virtual bool IsHighlighted() { return fHighlighted; }
33 virtual bool IsFired() { return fFired; }
34
35 virtual void AddInfo(TString info) { fInfoCon.push_back(info); }
36 virtual void CloseInfo();
37 virtual void ClearInfo();
38
39 virtual void Draw(Option_t *option = "");
40 virtual void Paint(Option_t *option = "");
41 virtual char *GetObjectInfo(Int_t px, Int_t py) const;
42
43 virtual Int_t GetPart() { return fPart; }
44 virtual Int_t GetSeg() { return fSeg; }
45 virtual Int_t GetGap() { return fGap; }
46 virtual Int_t GetStrip() { return fStrip; }
47
48 virtual bool IsZRVisible();
49 Double_t GetAngle(Double_t x, Double_t y); // degree, 0~360
50 Double_t Range360(Double_t input);
51
52 private:
53
54 Int_t fPart;
55 Int_t fSeg;
56 Int_t fGap;
57 Int_t fStrip;
58
59 BesPolygon2D *fStripXY;
60 BesPolygon2D *fStripZR;
61
62 std::vector<TString> fInfoCon;
63 BesPaveText *fTip;
64 bool fHighlighted;
65 bool fFired;
66
67 // style
68 Int_t lcStrip; // line color
69 Int_t lwStrip; // line width
70 Int_t lsStrip; // line width
71 Int_t fcStrip; // fill color
72 Int_t fsStrip; // fill style
73
74 Int_t lcStripFired;
75 Int_t lwStripFired;
76 Int_t lsStripFired;
77 Int_t fcStripFired;
78 Int_t fsStripFired;
79
80 Int_t lcStripHL;
81 Int_t lwStripHL;
82 Int_t lsStripHL;
83 Int_t fcStripHL;
84 Int_t fsStripHL;
85
86 static const Int_t m_kDrawLineRange = 2000; // if view x range > 2000, a barrel strip is very small, so dont draw edge lines
87 ClassDef(Muc2DStrip,1) // Muc 2D Strip
88
89};
90
91#endif
double P(RecMdcKalTrack *trk)
Double_t GetAngle(Double_t x, Double_t y)
Definition: Muc2DStrip.cxx:362
virtual void Draw(Option_t *option="")
Definition: Muc2DStrip.cxx:204
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Definition: Muc2DStrip.cxx:139
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Definition: Muc2DStrip.cxx:323
virtual void ClearInfo()
Definition: Muc2DStrip.cxx:119
virtual bool IsZRVisible()
Definition: Muc2DStrip.cxx:332
virtual void Paint(Option_t *option="")
Definition: Muc2DStrip.cxx:215
virtual void SetStyle()
Definition: Muc2DStrip.cxx:97
virtual void CloseInfo()
Definition: Muc2DStrip.cxx:125
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Definition: Muc2DStrip.cxx:157
Double_t Range360(Double_t input)
Definition: Muc2DStrip.cxx:373