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