BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/BesVisLib-00-04-04/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
27 private:
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
40 public:
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
103 inline void PrintCurrent() { fStatusCurrent->Print(); }
104
105 // clean up right mouse button menu
106 inline virtual void Centered() { BesTView::Centered(); }
107 inline virtual void Front() { BesTView::Top(); }
108 inline virtual void Side() { BesTView::Side(); }
109 inline virtual void Top() { BesTView::Front(); }
110 // inline virtual void ShowAxis() { BesTView::ShowAxis(); }
111 inline virtual void ZoomMove() { BesTView::ZoomMove(); }
112 inline virtual void AdjustScales(TVirtualPad* pad = 0) { BesTView::AdjustScales(pad); }
113 inline virtual void Delete(Option_t* option) { BesTView::Delete(option); }
114 inline virtual void DrawClass() { BesTView::DrawClass(); }
115 inline virtual TObject* DrawClone(Option_t* option) { return BesTView::DrawClone(option); }
116
117#ifndef CL__DEBUG
118 inline virtual void Dump() { BesTView::Dump(); }
119 inline virtual void Inspect() { BesTView::Inspect(); }
120#endif
121
122 inline virtual void SetDrawOption(Option_t* option) { BesTView::SetDrawOption(option); }
123 inline virtual void SetLineAttributes() { BesTView::SetLineAttributes(); }
124
125 inline virtual void SetZoomFactor(Double_t factor) { fZoomFactor = factor; };
126 inline virtual Double_t GetZoomFactor() { return fZoomFactor; }
127 inline BesStatus* GetStatusCurrent() { return fStatusCurrent; };
128
129 ClassDef(Bes2DView,0) // Bes View
130};
131
132#endif
double Phi(RecMdcKalTrack *trk)
virtual void DrawLabel()
Definition: Bes2DView.cxx:257
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Definition: Bes2DView.cxx:426
virtual void WCtoNDC(const Float_t *pw, Float_t *pn)
Definition: Bes2DView.cxx:282
virtual void ClearPad()
Definition: Bes2DView.cxx:99
virtual void NDCtoWC(const Float_t *pn, Float_t *pw)
Definition: Bes2DView.cxx:348
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Definition: Bes2DView.cxx:111
virtual Int_t GetRSign(Float_t Phi)
Definition: Bes2DView.cxx:224
void UnZoom()
Definition: Bes2DView.cxx:215
void Zoom()
Definition: Bes2DView.cxx:206
void Center()
Definition: Bes2DView.cxx:189
virtual void UpdateView(Bool_t resetview=kFALSE)
Definition: Bes2DView.cxx:245
void Reset()
Definition: Bes2DView.cxx:444
void Move(Int_t px, Int_t py)
Definition: Bes2DView.cxx:167
virtual ~Bes2DView()
Definition: Bes2DView.cxx:83
ClassDef(BesTView, 2)
virtual void AdjustScales(TVirtualPad *pad=0)
Definition: BesTView.cxx:1736