BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/include/BesVisLib/Bes2DView.h
Go to the documentation of this file.
1//
2// Bes2DView.h
3//
4// $Author: maqm $
5// 2005-07-21
6// Modified from zevis ZView.h
7//
8
9#ifndef BESVIEW_H
10#define BESVIEW_H
11
12#ifndef BESSTATUS_H
13# include "BesStatus.h"
14#endif
15
16#include "BesTView.h"
17
18class TPaveLabel;
19class TGeometry;
20class TPad;
21class TROOT;
22// class TMath;
23class TCanvas;
24
25class Bes2DView : public BesTView {
26
27private:
28 Bool_t fFishEye; // variable needed for toggle in menu
29 Int_t f2DViewType; // View type
30 Float_t fPhiRangeMin; // Minimum of phi range for Z-R projection (in degrees)
31 Float_t fPhiRangeMax; // Maximum of phi range for Z-R projection (in degrees)
32 TPaveLabel* fLabel; // Label
33 Float_t fMarkerSize; // size for marker
34 BesStatus* fStatus3D; // 3D view status flags
35 BesStatus* fStatusXY; // XY view status flags
36 BesStatus* fStatusZR; // ZR view status flags
37 BesStatus* fStatusCurrent; // current view status flags
38 Double_t fZoomFactor; // zoom factor
39
40public:
42 virtual ~Bes2DView();
43
44 virtual void ClearPad();
45 virtual void DrawLabel();
46 virtual void ExecuteEvent( Int_t event, Int_t px, Int_t py );
47 virtual Int_t GetRSign( Float_t Phi );
48 virtual void UpdateView( Bool_t resetview = kFALSE );
49 virtual void WCtoNDC( const Float_t* pw, Float_t* pn );
50 virtual void WCtoNDC( const Double_t* pw, Double_t* pn );
51 virtual void NDCtoWC( const Float_t* pn, Float_t* pw );
52 virtual void NDCtoWC( const Double_t* pn, Double_t* pw );
53 virtual char* GetObjectInfo( Int_t px, Int_t py ) const;
54
55 inline void Set2DViewType( Int_t viewType ) { f2DViewType = viewType; }
56 inline Int_t Get2DViewType() { return f2DViewType; }
57 inline Float_t GetMarkerSize() { return fMarkerSize; }
58
59 // menu
60 /*
61 inline void View3D() { SetViewType(k3DView,1); } // *MENU*
62 inline void ViewXY() { SetViewType(kXYView,1); } // *MENU*
63 inline void ViewZR() { SetViewType(kZRView,1); } // *MENU*
64 */
65 void Zoom(); // *MENU*
66 void UnZoom(); // *MENU*
67 void Center(); // *MENU*
68 void Move( Int_t px, Int_t py );
69 /*
70 inline void Front3D() {
71 this->View3D();
72 this->Front(); } // *MENU*
73 void Side3D(); // *MENU*
74 inline void Top3D() {
75 this->View3D();
76 Int_t iret;
77 this->SetView(-90,90,270,iret);
78
79 // this->Top();
80 } // *MENU*
81 void SetPhiRange(Float_t PhiMin = 0, Float_t PhiMax = 180); // *MENU*
82 */
83 void Reset(); // *MENU*
84 // void Plot_Et_Eta_Phi(); // *MENU*
85 inline void SetMarkerSize( Float_t size ) { fMarkerSize = size; }
86
87 // access functions for fish eye
88 inline Bool_t GetFishEyeStatus() { return fStatusCurrent->fFishEye; }
89 inline Bool_t GetFishEye() { return fFishEye; }
90 inline void SetFishEye( Bool_t input = 0 ) {
91 /*
92 if ( fViewType & k3DView ) {
93 fFishEye = 0;
94 fStatusCurrent->fFishEye = 0;
95 } else {
96 */
97 fFishEye = input;
98 fStatusCurrent->fFishEye = input;
99
100 } // *TOGGLE*
101
102 inline void PrintCurrent() { fStatusCurrent->Print(); }
103
104 // clean up right mouse button menu
105 inline virtual void Centered() { BesTView::Centered(); }
106 inline virtual void Front() { BesTView::Top(); }
107 inline virtual void Side() { BesTView::Side(); }
108 inline virtual void Top() { BesTView::Front(); }
109 // inline virtual void ShowAxis() { BesTView::ShowAxis(); }
110 inline virtual void ZoomMove() { BesTView::ZoomMove(); }
111 inline virtual void AdjustScales( TVirtualPad* pad = 0 ) { BesTView::AdjustScales( pad ); }
112 inline virtual void Delete( Option_t* option ) { BesTView::Delete( option ); }
113 inline virtual void DrawClass() { BesTView::DrawClass(); }
114 inline virtual TObject* DrawClone( Option_t* option ) {
115 return BesTView::DrawClone( option );
116 }
117
118#ifndef CL__DEBUG
119 inline virtual void Dump() { BesTView::Dump(); }
120 inline virtual void Inspect() { BesTView::Inspect(); }
121#endif
122
123 inline virtual void SetDrawOption( Option_t* option ) { BesTView::SetDrawOption( option ); }
124 inline virtual void SetLineAttributes() { BesTView::SetLineAttributes(); }
125
126 inline virtual void SetZoomFactor( Double_t factor ) { fZoomFactor = factor; };
127 inline virtual Double_t GetZoomFactor() { return fZoomFactor; }
128 inline BesStatus* GetStatusCurrent() { return fStatusCurrent; };
129
130 ClassDef( Bes2DView, 0 ) // Bes View
131};
132
133#endif
double Phi(RecMdcKalTrack *trk)
virtual void DrawLabel()
virtual void SetZoomFactor(Double_t factor)
virtual char * GetObjectInfo(Int_t px, Int_t py) const
virtual void AdjustScales(TVirtualPad *pad=0)
virtual void WCtoNDC(const Float_t *pw, Float_t *pn)
virtual void ClearPad()
Definition Bes2DView.cxx:98
virtual void NDCtoWC(const Float_t *pn, Float_t *pw)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual Int_t GetRSign(Float_t Phi)
void UnZoom()
virtual TObject * DrawClone(Option_t *option)
void Zoom()
void Center()
virtual void UpdateView(Bool_t resetview=kFALSE)
void Reset()
virtual void SetDrawOption(Option_t *option)
void Move(Int_t px, Int_t py)
virtual ~Bes2DView()
Definition Bes2DView.cxx:83
ClassDef(BesTView, 2)
virtual void AdjustScales(TVirtualPad *pad=0)
BesTView(const BesTView &)
Set to TRUE after ExecuteRotateView.
Definition BesTView.cxx:50