FEDRA emulsion software from the OPERA Collaboration
EdbDisplayBase Class Reference

basic class for FEDRA Event Display More...

#include <EdbDisplayBase.h>

Inheritance diagram for EdbDisplayBase:
Collaboration diagram for EdbDisplayBase:

Public Member Functions

virtual void Clear ()
 
virtual void ClearNewVTX ()
 
virtual void ClearPreVTX ()
 
virtual void CreateCanvasVTX ()
 
virtual void DisplayButtons ()
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawAcc ()
 
virtual void DrawAllViews ()
 
virtual void DrawCan ()
 
virtual void DrawDetector ()
 
virtual void DrawEnv ()
 
virtual void DrawNewBut (char *text)
 
virtual void DrawNewVTX (char *text)
 
virtual void DrawOldBut (char *text)
 
virtual void DrawOldVTX (char *text)
 
virtual void DrawPreBut (char *text)
 
virtual void DrawPreVTX (char *text)
 
virtual void DrawTitle (Option_t *option="")
 
virtual void DrawUnd ()
 
virtual void DrawView (Float_t theta, Float_t phi, Float_t psi=0)
 
virtual void DrawViewGL ()
 
virtual void DrawViewX3D ()
 
 EdbDisplayBase ()
 
 EdbDisplayBase (const char *title, Float_t x0, Float_t x1, Float_t y0, Float_t y1, Float_t z0, Float_t z1, TCanvas *Canvas=0)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
Bool_t GetDrawDet () const
 
virtual char * GetObjectInfo (int px, int py) const
 
virtual void Refresh ()
 
virtual void Set0 ()
 
virtual void SetColorBG (int color=1)
 
virtual void SetDetector (TGeoVolume *det)
 
virtual void SetDrawDet (Bool_t fflag)
 
virtual void SetLineWidth (int width=1)
 
virtual void SetPickMode ()
 
virtual void SetRange (Float_t x0, Float_t x1, Float_t y0, Float_t y1, Float_t z0, Float_t z1)
 
virtual void SetRotate ()
 
virtual void SetStyle (int Style=0)
 
virtual void SetView (Float_t theta, Float_t phi, Float_t psi=0)
 
virtual void SetZoomMode ()
 
virtual void SwDrawDet ()
 
virtual void UnZoom ()
 
 ~EdbDisplayBase ()
 

Public Attributes

TCanvasfCanvas
 Pointer to the display canvas. More...
 
TCanvasfCanvasTRK
 Pointer to the vertex canvas. More...
 
TCanvasfCanvasVTX
 Pointer to the vertex canvas. More...
 
TPad * fPad
 Pointer to the event display main pad. More...
 
TPaveText * fVTXTRKInfo
 Vertex - tracks information. More...
 

Protected Attributes

TButton * fAccButton
 Button to accept modified vertex. More...
 
TButton * fAllButton
 Button to draw all objects. More...
 
TArc * fArcButton
 Gren/Red button to show Pick/Zoom mode. More...
 
TPad * fButtons
 Pointer to the buttons pad. More...
 
TButton * fCanButton
 Button to cancel modified vertex. More...
 
char fCanvasName [128]
 Name of main canvas. More...
 
Int_t fColorBG
 color for the display BG More...
 
TGeoVolume * fDetector
 detector geometry More...
 
Bool_t fDrawAllViews
 Flag True if AllViews selected. More...
 
Bool_t fDrawDet
 True if drawing detector is on. More...
 
TButton * fEnvButton
 Button to draw vertex environment. More...
 
TText * fHdrVTX
 Vertex data header. More...
 
Width_t fLineWidth
 Line width for tracks and segments. More...
 
TGMainFrame * fMain
 Dialog frame. More...
 
TButton * fNewBut
 Modified Vertex display button. More...
 
TText * fNewVTX
 Modified Vertex data. More...
 
TButton * fOldBut
 Old Vertex display button. More...
 
TText * fOldVTX
 Old Vertex data. More...
 
Float_t fPhi
 Viewing angle phi. More...
 
TButton * fPickButton
 Button to activate Pick mode. More...
 
TButton * fPreBut
 Previous Vertex display button. More...
 
TText * fPreVTX
 Previous Vertex data. More...
 
Float_t fPsi
 Viewving angle psi (rotation on display) More...
 
TButton * fRemBut [50]
 track removing buttons More...
 
Int_t fStyle
 Display style (line width, sizes etc) More...
 
Float_t fTheta
 Viewing angle theta. More...
 
char fTitle [128]
 EdbDisplay Object Name. More...
 
TPad * fTrigPad
 Pointer to the trigger pad. More...
 
TButton * fUndButton
 Button to undo vertex modofication. More...
 
TButton * fUnZoomButton
 Button to Undo previous Zoom. More...
 
Edb3DViewfView
 Main View object. More...
 
TPaveText * fVTXTracks
 Vertex tracks information. More...
 
Float_t fVx0
 
Float_t fVx1
 
Float_t fVy0
 
Float_t fVy1
 
Float_t fVz0
 
Float_t fVz1
 
TButton * fZoomButton
 Button to activate Zoom mode. More...
 
Int_t fZoomMode
 =1 if in zoom mode More...
 
Int_t fZooms
 Number of zooms. More...
 
Double_t fZoomX0 [kMAXZOOMS]
 Low x range of zoom number i. More...
 
Double_t fZoomX1 [kMAXZOOMS]
 High x range of zoom number i. More...
 
Double_t fZoomY0 [kMAXZOOMS]
 Low y range of zoom number i. More...
 
Double_t fZoomY1 [kMAXZOOMS]
 High y range of zoom number i. More...
 

Detailed Description

basic class for FEDRA Event Display

Constructor & Destructor Documentation

◆ EdbDisplayBase() [1/2]

EdbDisplayBase::EdbDisplayBase ( )

Default constructor

28{
32 Set0();
33}
virtual void Set0()
Definition: EdbDisplayBase.cxx:225

◆ EdbDisplayBase() [2/2]

EdbDisplayBase::EdbDisplayBase ( const char *  title,
Float_t  x0,
Float_t  x1,
Float_t  y0,
Float_t  y1,
Float_t  z0,
Float_t  z1,
TCanvas Canvas = 0 
)
41{
42 char VPadName[140], TPadName[140];
43 char ZoomButName[140], PickButName[140], UnZoomButName[140];
44 char CanTitle[140];
45 char *pres = 0, *ptitle = 0;
46
47 Set0();
48 fVx0=x0; fVx1=x1; fVy0=y0; fVy1=y1; fVz0=z0; fVz1=z1;
49 if(gEDBDEBUGLEVEL>2) printf("create display in limits: \nX = %f : %f \nY = %f : %f \nZ = %f : %f\n",
50 x0,x1,y0,y1,z0,z1);
51
52 // Set side view by default
53 fTheta = 180;
54 fPhi = 90;
55 fPsi = 90;
56
57 fDrawAllViews = kFALSE;
58 fZoomMode = 1;
59 fZooms = 0;
60
61 if ((pres = strstr((char*)title, "Presentation"))) SetStyle(1); // presentation style
62 else if ((pres = strstr((char*)title, "presentation"))) SetStyle(1);
63 strcpy(fTitle, title);
64 ptitle = fTitle;
65 while (*ptitle) { if (*ptitle == ' ') *ptitle = '_'; ptitle++; }
66 this->SetName(&fTitle[0]);
67 this->SetTitle("FEDRA Event Display");
68 strcpy(fCanvasName, "Canvas-");
69 strcat(fCanvasName, title);
70 ptitle = fCanvasName;
71 while (*ptitle) { if (*ptitle == ' ') *ptitle = '_'; ptitle++; }
72 strcpy(CanTitle, "FEDRA Event Display: ");
73 strcat(CanTitle, title);
74
75 // if Canvas not defined, then run as standalone viewer
76
77 if (!Canvas) fCanvas = new TCanvas(fCanvasName, CanTitle, 14, 47, 800, 700);
78 else {
79 fCanvas = Canvas;
80 fCanvas->SetName(fCanvasName);
81 fCanvas->SetTitle(CanTitle);
82 }
83
84 fCanvas->ToggleEventStatus();
85
86 // Create main display pad
87 strcpy(VPadName, "ViewPad-");
88 strcat(VPadName, title);
89 fPad = new TPad(VPadName, "FEDRA Event Display",0.15,0.,1.,1.);
90 fPad->Draw();
91 fPad->Modified(kTRUE);
92 fPad->SetFillColor(kBlack);
93 fPad->SetBorderSize(2);
94
95 // Create view type control pad
97
98 // Create Control pad
99 fCanvas->cd();
100 Float_t dxtr = 0.15;
101 Float_t dytr = 0.35;
102 strcpy(TPadName, "ControlPad-");
103 strcat(TPadName, title);
104 fTrigPad = new TPad(TPadName, "Control Pad",0,0,dxtr,dytr);
105 fTrigPad->Draw();
106 fTrigPad->cd();
107
108 if (fStyle/2 == 1) fTrigPad->SetFillColor(38); // blue shades
109 else fTrigPad->SetFillColor(22); // brown shades
110
111 fTrigPad->SetBorderSize(2);
112
113 Int_t butcolor = 33; // blue shades
114 if (fStyle/2 == 1) butcolor = 33; // blue shades
115 else butcolor = 38; // blue shades
116
117 char undov[256];
118 sprintf(undov,
119 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->UndoModifiedVTX()",fTitle);
120 Float_t db = 0.09;
121 fUndButton = new TButton("Undo VTX",undov,0.05,0.85,0.95,0.85+db);
122 fUndButton->SetToolTipText("Undo last vertex modification");
123 fUndButton->SetFillColor(butcolor);
124 fUndButton->Draw();
125
126 char cancelv[256];
127 sprintf(cancelv,
128 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->CancelModifiedVTX()",fTitle);
129 fCanButton = new TButton("Cancel VTX",cancelv,0.05,0.74,0.95,0.74+db);
130 fCanButton->SetToolTipText("Cancel vertex modifications");
131 fCanButton->SetFillColor(butcolor);
132 fCanButton->Draw();
133
134 char acceptv[256];
135 sprintf(acceptv,
136 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->AcceptModifiedVTX()",fTitle);
137 fAccButton = new TButton("Accept VTX",acceptv,0.05,0.63,0.95,0.63+db);
138 fAccButton->SetToolTipText("Accept vertex modifications");
139 fAccButton->SetFillColor(butcolor);
140 fAccButton->Draw();
141
142 char envv[256];
143 sprintf(envv,
144 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVertexEnvironment()",fTitle);
145 fEnvButton = new TButton("Neighbor",envv,0.05,0.47,0.95,0.47+db);
146 fEnvButton->SetToolTipText("Draw vertex neighborhood");
147 fEnvButton->SetFillColor(butcolor);
148 fEnvButton->Draw();
149
150 char allv[256];
151 sprintf(allv,
152 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawAllObjects()",fTitle);
153 fAllButton = new TButton("AllObjcts",allv,0.05,0.47,0.95,0.47+db);
154 fAllButton->SetToolTipText("Draw all objects");
155 fAllButton->SetFillColor(butcolor);
156 fAllButton->Draw();
157
158 char pickmode[256];
159 sprintf(pickmode,
160 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SetPickMode()",fTitle);
161 fPickButton = new TButton("Pick",pickmode,0.05,0.32,0.65,0.32+db);
162 fPickButton->SetToolTipText("Set Pickup mode");
163 fPickButton->SetFillColor(butcolor);
164 strcpy(PickButName, "PickBut-");
165 strcat(PickButName, title);
166 fPickButton->SetName(PickButName);
167 fPickButton->Draw();
168
169 char zoommode[256];
170 sprintf(zoommode,
171 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SetZoomMode()",fTitle);
172 fZoomButton = new TButton("Zoom",zoommode,0.05,0.21,0.65,0.21+db);
173 fZoomButton->SetToolTipText("Set Zooming mode");
174 fZoomButton->SetFillColor(butcolor);
175 strcpy(ZoomButName, "ZoomBut-");
176 strcat(ZoomButName, title);
177 fZoomButton->SetName(ZoomButName);
178 fZoomButton->Draw();
179
180 fArcButton = new TArc(.8,fZoomButton->GetYlowNDC()+0.5*db,0.33*db);
181 fArcButton->SetFillColor(kGreen);
182 fArcButton->Draw();
183
184 char butUnzoom[256];
185 sprintf(butUnzoom,
186 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->UnZoom()",fTitle);
187 fUnZoomButton = new TButton("UnZoom",butUnzoom,0.05,0.05,0.95,0.14);
188 fUnZoomButton->SetToolTipText("Undo previous zooming");
189 fUnZoomButton->SetFillColor(butcolor);
190 strcpy(UnZoomButName, "UnZoomBut-");
191 strcat(UnZoomButName, title);
192 fUnZoomButton->SetName(UnZoomButName);
193 fUnZoomButton->Draw();
194
195 fTrigPad->SetEditable(kFALSE);
196 fButtons->SetEditable(kFALSE);
197
198 fCanvas->cd();
199 fCanvas->Update();
200
201 gROOT->GetListOfSpecials()->Add(this);
202
203 TList *li = fTrigPad->GetListOfPrimitives();
204 li->Remove(fUndButton);
205 li->Remove(fAccButton);
206 li->Remove(fCanButton);
207 li->Remove(fEnvButton);
208 li->Remove(fAllButton);
209}
graph SetName("Graph")
brick z0
Definition: RecDispMC.C:106
Float_t fVz1
Definition: EdbDisplayBase.h:76
TArc * fArcButton
Gren/Red button to show Pick/Zoom mode.
Definition: EdbDisplayBase.h:107
TButton * fAccButton
Button to accept modified vertex.
Definition: EdbDisplayBase.h:102
TButton * fUndButton
Button to undo vertex modofication.
Definition: EdbDisplayBase.h:101
Bool_t fDrawAllViews
Flag True if AllViews selected.
Definition: EdbDisplayBase.h:80
virtual void DisplayButtons()
Definition: EdbDisplayBase.cxx:423
TButton * fZoomButton
Button to activate Zoom mode.
Definition: EdbDisplayBase.h:105
TButton * fUnZoomButton
Button to Undo previous Zoom.
Definition: EdbDisplayBase.h:106
TCanvas * fCanvas
Pointer to the display canvas.
Definition: EdbDisplayBase.h:124
TButton * fAllButton
Button to draw all objects.
Definition: EdbDisplayBase.h:99
TButton * fPickButton
Button to activate Pick mode.
Definition: EdbDisplayBase.h:104
Float_t fVy0
Definition: EdbDisplayBase.h:76
TPad * fPad
Pointer to the event display main pad.
Definition: EdbDisplayBase.h:127
Int_t fStyle
Display style (line width, sizes etc)
Definition: EdbDisplayBase.h:89
TPad * fTrigPad
Pointer to the trigger pad.
Definition: EdbDisplayBase.h:97
char fCanvasName[128]
Name of main canvas.
Definition: EdbDisplayBase.h:118
TPad * fButtons
Pointer to the buttons pad.
Definition: EdbDisplayBase.h:98
Float_t fTheta
Viewing angle theta.
Definition: EdbDisplayBase.h:81
Float_t fPhi
Viewing angle phi.
Definition: EdbDisplayBase.h:82
Int_t fZoomMode
=1 if in zoom mode
Definition: EdbDisplayBase.h:79
TButton * fCanButton
Button to cancel modified vertex.
Definition: EdbDisplayBase.h:103
TButton * fEnvButton
Button to draw vertex environment.
Definition: EdbDisplayBase.h:100
Int_t fZooms
Number of zooms.
Definition: EdbDisplayBase.h:88
char fTitle[128]
EdbDisplay Object Name.
Definition: EdbDisplayBase.h:96
virtual void SetStyle(int Style=0)
Definition: EdbDisplayBase.cxx:264
Float_t fPsi
Viewving angle psi (rotation on display)
Definition: EdbDisplayBase.h:83
Float_t fVy1
Definition: EdbDisplayBase.h:76
Float_t fVz0
Definition: EdbDisplayBase.h:76
Float_t fVx0
Definition: EdbDisplayBase.h:76
Float_t fVx1
Definition: EdbDisplayBase.h:76
NbBT SetTitle("Number of BT per shower")
gEDBDEBUGLEVEL
Definition: energy.C:7
strcpy(cmd,"cp Shower.root Shower2.root")
TOracleServerE * db
Definition: test_oracle.C:8
new TCanvas()

◆ ~EdbDisplayBase()

EdbDisplayBase::~EdbDisplayBase ( )

Default destructor

212{
216
217 SafeDelete(fMain);
218 SafeDelete(fView);
219 SafeDelete(fCanvas);
220 SafeDelete(fDetector);
221}
TGMainFrame * fMain
Dialog frame.
Definition: EdbDisplayBase.h:108
TGeoVolume * fDetector
detector geometry
Definition: EdbDisplayBase.h:120
Edb3DView * fView
Main View object.
Definition: EdbDisplayBase.h:95

Member Function Documentation

◆ Clear()

virtual void EdbDisplayBase::Clear ( )
inlinevirtual
142{ fPad->Clear("nodelete"); fView=0; }

◆ ClearNewVTX()

void EdbDisplayBase::ClearNewVTX ( )
virtual
1033{
1034 fCanvasVTX->cd();
1035 fNewVTX->Clear();
1036 fCanvasVTX->Modified(kTRUE);
1037 fCanvasVTX->Update();
1038}
TCanvas * fCanvasVTX
Pointer to the vertex canvas.
Definition: EdbDisplayBase.h:125
TText * fNewVTX
Modified Vertex data.
Definition: EdbDisplayBase.h:111

◆ ClearPreVTX()

void EdbDisplayBase::ClearPreVTX ( )
virtual
1041{
1042 fCanvasVTX->cd();
1043 fPreVTX->Clear();
1044 fCanvasVTX->Modified(kTRUE);
1045 fCanvasVTX->Update();
1046}
TText * fPreVTX
Previous Vertex data.
Definition: EdbDisplayBase.h:112

◆ CreateCanvasVTX()

void EdbDisplayBase::CreateCanvasVTX ( )
virtual
994{
995 static char CanvasVTXName[140];
996 strcpy(CanvasVTXName, "VTX-");
997 strcat(CanvasVTXName, fCanvasName);
998 if ((fCanvasVTX = (TCanvas *)(gROOT->GetListOfCanvases()->FindObject(CanvasVTXName))))
999 {
1000 fCanvasVTX->Clear();
1001 }
1002 else
1003 {
1004 int xpos = fCanvas->GetWindowTopX()+fCanvas->GetWw();
1005 int ypos = fCanvas->GetWindowTopY();
1006 fCanvasVTX = new TCanvas(CanvasVTXName, "Vertex Data Display",
1007 -xpos, ypos, 640, 350);
1008 fCanvasVTX->ToggleEventStatus();
1009 for (int i=0; i<50; i++) fRemBut[i] = 0;
1010 }
1011 if (fHdrVTX)
1012 {
1013 fHdrVTX->Clear();
1014 fHdrVTX->SetText(0.05, 0.94,
1015 "Vertex ID Mult X Y Z Dist Chi2 Prob");
1016 }
1017 else
1018 {
1019 fHdrVTX = new TText(0.05, 0.94,
1020 "Vertex ID Mult X Y Z Dist Chi2 Prob");
1021 fHdrVTX->ResetBit(kCanDelete);
1022 fHdrVTX->SetTextColor(kBlue);
1023 fHdrVTX->SetTextSize(0.04);
1024 fHdrVTX->SetTextAlign(12);
1025 fHdrVTX->SetTextFont(102);
1026 }
1027 fHdrVTX->Draw();
1028 fCanvasVTX->Modified(kTRUE);
1029 fCanvasVTX->Update();
1030}
TText * fHdrVTX
Vertex data header.
Definition: EdbDisplayBase.h:109
TButton * fRemBut[50]
track removing buttons
Definition: EdbDisplayBase.h:117

◆ DisplayButtons()

void EdbDisplayBase::DisplayButtons ( )
virtual

Create the user interface buttons

424{
426 char ViewTypePadName[140];
427
428 strcpy(ViewTypePadName, "ViewTypePad-");
429 strcat(ViewTypePadName, fCanvasName);
430 fButtons = new TPad(ViewTypePadName, "View Type Pad",0,0.35,0.15,1);
431 fButtons->Draw();
432 fButtons->SetFillColor(38); // blue shades
433 fButtons->SetBorderSize(2);
434 fButtons->cd();
435
436 Int_t butcolor = 33; // blue shades
437 Float_t dbutton = 0.05;
438// Float_t y = 0.96;
439 Float_t y = 1.044;
440 Float_t dy = 0.010;
441 Float_t x0 = 0.05;
442 Float_t x1 = 0.95;
443
444 TButton *button;
445
446// y -= dbutton +dy;
447
448 y -= dbutton +dy;
449
450 char but3[256];
451 sprintf(but3,
452 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SetView(90,90,90)",fTitle);
453 button = new TButton("Top View",but3,x0,y-dbutton,x1,y);
454 button->SetFillColor(butcolor);
455 button->Draw();
456
457 y -= dbutton +dy;
458 char but4[256];
459 sprintf(but4,
460 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SetView(180,90,90)",fTitle);
461 button = new TButton("Side View",but4,x0,y-dbutton,x1,y);
462 button->SetFillColor(butcolor);
463 button->Draw();
464
465 y -= dbutton +dy;
466 char but5[256];
467 sprintf(but5,
468 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SetView(180,0,90)",fTitle);
469 button = new TButton("Front View",but5,x0,y-dbutton,x1,y);
470 button->SetFillColor(butcolor);
471 button->Draw();
472
473 if (fStyle/2 == 1)
474 butcolor = 33; // blue shades
475 else
476 butcolor = 38; // blue shades
477
479 y -= dbutton +dy;
480 char butA[256];
481 sprintf(butA,
482 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SwDrawDet()",fTitle);
483 button=new TButton("Draw Detector",butA,x0,y-dbutton,x1,y);
484 button->SetToolTipText("Toggle drawing detector on/off");
485 button->SetFillColor(38);
486 button->Draw();
487
488 y -= dbutton +dy;
489 char but6[256];
490 sprintf(but6,
491 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->SetRotate()",fTitle);
492 button = new TButton("Rotate",but6,x0,y-dbutton,x1,y);
493 button->SetName("Rotate");
494 button->SetToolTipText("Rotate 3-D view");
495 button->SetFillColor(butcolor);
496 button->Draw();
497
498 y -= dbutton +dy;
499 char but7[256];
500 sprintf(but7,
501 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawViewGL()",fTitle);
502 button = new TButton("OpenGL",but7,x0,y-dbutton,x1,y);
503 button->SetName("OpenGL");
504 button->SetToolTipText("Show 3-D view with OpenGL");
505 button->SetFillColor(butcolor);
506 button->Draw();
507
508 y -= dbutton +dy;
509 char but8[256];
510 sprintf(but8,
511 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawViewX3D()",fTitle);
512 button = new TButton("X3D",but8,x0,y-dbutton,x1,y);
513 button->SetName("X3D");
514 button->SetToolTipText("Show 3-D view with X3D");
515 button->SetFillColor(butcolor);
516 button->Draw();
517
518 y -= dbutton +dy;
519 char but9[256];
520 sprintf(but9,
521 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DialogNeighborParameters()",fTitle);
522 button = new TButton("NeighParms",but9,x0,y-dbutton,x1,y);
523 button->SetName("NeighParms");
524 button->SetToolTipText("Set Parameters for Neighborhood");
525 button->SetFillColor(butcolor);
526 button->Draw();
527
528 y -= dbutton +dy;
529 char but10[256];
530 sprintf(but10,
531 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DialogTrackParameters()",fTitle);
532 button = new TButton("TrackParms",but10,x0,y-dbutton,x1,y);
533 button->SetName("TrackParms");
534 button->SetToolTipText("Set Mometum and Mas for tracks creation and propagation");
535 button->SetFillColor(butcolor);
536 button->Draw();
537
538 // display logo
539 TDiamond *diamond = new TDiamond(0.05,0.017,0.95,0.21);
540 diamond->SetFillColor(50); // red shades
541 diamond->SetTextAlign(23);
542 diamond->SetTextColor(kYellow);
543 diamond->SetTextSize(0.09);
544 diamond->Draw();
545 diamond->AddText(".");
546 diamond->AddText("ROOT");
547 diamond->AddText("- OPERA -");
548 diamond->AddText("FEDRA");
549 diamond->AddText(".");
550 diamond->SetName("Diamond");
551}

◆ DistancetoPrimitive()

Int_t EdbDisplayBase::DistancetoPrimitive ( Int_t  px,
Int_t  py 
)
virtual

Compute distance from point px,py to objects in event

876{
878
879
880 if (fPad == fTrigPad) return 9999;
881 if (fPad == fButtons) return 9999;
882
883// fPad->SetCursor(kCross);
884
885 const Int_t kbig = 9999;
886 Int_t dist = kbig;
887 Float_t xmin = fPad->GetX1();
888 Float_t xmax = fPad->GetX2();
889 Float_t dx = 0.002*(xmax - xmin);
890 Float_t x = fPad->AbsPixeltoX(px);
891 if (x < xmin+dx || x > xmax-dx) return dist;
892/*
893 Float_t ymin = fPad->GetY1();
894 Float_t ymax = fPad->GetY2();
895 Float_t dy = 0.02*(ymax - ymin);
896 Float_t y = fPad->AbsPixeltoX(py);
897 if (y < ymin+dy || y > ymax-dy) return dist;
898*/
899 if (fZoomMode) return 0;
900 else return 7;
901}

◆ Draw()

void EdbDisplayBase::Draw ( Option_t *  option = "")
virtual

Display current event

788{
790
791 if (fDrawAllViews) {
792 DrawAllViews();
793 return;
794 }
795
796 fPad->cd();
797
799
800 // Display the event number and title TODO???
801 //fPad->cd();
802 //DrawTitle();
803// fPad->cd();
804
805}
virtual void DrawAllViews()
Definition: EdbDisplayBase.cxx:729
virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0)
Definition: EdbDisplayBase.cxx:588

◆ DrawAcc()

void EdbDisplayBase::DrawAcc ( )
virtual
1155{
1156 fTrigPad->cd();
1157 if (fStyle/2 == 1)
1158 fAccButton->SetFillColor(33);
1159 else
1160 fAccButton->SetFillColor(38);
1161 fTrigPad->GetListOfPrimitives()->Add(fAccButton);
1162 fAccButton->SetPad(0.05,0.63,0.95,0.72);
1163 fAccButton->Draw();
1164 fTrigPad->Modified(kTRUE);
1165 fTrigPad->Update();
1166 fTrigPad->Draw();
1167 fPad->cd();
1168}

◆ DrawAllViews()

void EdbDisplayBase::DrawAllViews ( )
virtual

Draw front,top,side and 30 deg views

730{
732
733 fDrawAllViews = kTRUE;
734 fPad->cd();
735 fPad->SetFillColor(15); // gray shades
736 fPad->Clear();
737 fPad->Divide(2,2);
738
739 // draw 30 deg view
740 fPad->cd(1);
741 DrawView(30, 30, 0);
742 DrawTitle();
743
744 // draw front view
745 fPad->cd(2);
746 DrawView(0, -90,0);
747 DrawTitle("Front");
748
749 // draw top view
750 fPad->cd(3);
751 DrawView(90, 90, 90);
752 DrawTitle("Top");
753
754 // draw side view
755 fPad->cd(4);
756 DrawView(90, 180, 90);
757 DrawTitle("Side");
758
759 fPad->cd(2);
760}
virtual void DrawTitle(Option_t *option="")
Definition: EdbDisplayBase.cxx:395

◆ DrawCan()

void EdbDisplayBase::DrawCan ( )
virtual
1171{
1172 fTrigPad->cd();
1173 if (fStyle/2 == 1)
1174 fCanButton->SetFillColor(33);
1175 else
1176 fCanButton->SetFillColor(38);
1177 fTrigPad->GetListOfPrimitives()->Add(fCanButton);
1178 fCanButton->SetPad(0.05,0.74,0.95,0.83);
1179 fCanButton->Draw();
1180 fTrigPad->Modified(kTRUE);
1181 fTrigPad->Update();
1182 fTrigPad->Draw();
1183 fPad->cd();
1184}

◆ DrawDetector()

void EdbDisplayBase::DrawDetector ( )
virtual
566{
567 //if(!fDrawDet){return;}
568 if(fDetector){
569 fPad->GetListOfPrimitives()->Add(fDetector);
570 } else {
571 printf("\nError:no Detector!\n");
572 }
573}

◆ DrawEnv()

void EdbDisplayBase::DrawEnv ( )
virtual
1187{
1188 fTrigPad->cd();
1189 if (fStyle/2 == 1)
1190 fEnvButton->SetFillColor(33);
1191 else
1192 fEnvButton->SetFillColor(38);
1193 fTrigPad->GetListOfPrimitives()->Add(fEnvButton);
1194 fEnvButton->SetPad(0.05,0.47,0.95,0.56);
1195 fEnvButton->Draw();
1196 fTrigPad->Modified(kTRUE);
1197 fTrigPad->Update();
1198 fTrigPad->Draw();
1199 fPad->cd();
1200}

◆ DrawNewBut()

void EdbDisplayBase::DrawNewBut ( char *  text)
virtual
1109{
1110 fCanvasVTX->cd();
1111 if (!fNewBut)
1112 {
1113 char but[256];
1114 sprintf(but,
1115 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVTXTracks(\"",fTitle);
1116 strcat(but,type);
1117 strcat(but,"\")");
1118 fNewBut = new TButton("TR",but,0.01,0.74,0.04,0.78);
1119 fNewBut->SetToolTipText("Show tracks table");
1120 fNewBut->ResetBit(kCanDelete);
1121 fNewBut->SetFillColor(38); // blue shades
1122 fNewBut->SetName("DrawNewVTX");
1123 }
1124 else
1125 {
1126 char but[256];
1127 sprintf(but,
1128 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVTXTracks(\"",fTitle);
1129 strcat(but,type);
1130 strcat(but,"\")");
1131 fNewBut->SetMethod(but);
1132 }
1133 fNewBut->Draw();
1134 fCanvasVTX->Modified(kTRUE);
1135 fCanvasVTX->Update();
1136}
TButton * fNewBut
Modified Vertex display button.
Definition: EdbDisplayBase.h:115
Int_t type
Definition: testBGReduction_By_ANN.C:15

◆ DrawNewVTX()

void EdbDisplayBase::DrawNewVTX ( char *  text)
virtual
972{
973 fCanvasVTX->cd();
974 if (fNewVTX)
975 {
976 fNewVTX->Clear();
977 fNewVTX->SetText(0.05, 0.76, ptitle);
978 }
979 else
980 {
981 fNewVTX = new TText(0.05, 0.76, ptitle);
982 fNewVTX->ResetBit(kCanDelete);
983 fNewVTX->SetTextColor(kBlack);
984 fNewVTX->SetTextSize(0.04);
985 fNewVTX->SetTextAlign(12);
986 fNewVTX->SetTextFont(102);
987 }
988 fNewVTX->Draw();
989 fCanvasVTX->Modified(kTRUE);
990 fCanvasVTX->Update();
991}

◆ DrawOldBut()

void EdbDisplayBase::DrawOldBut ( char *  text)
virtual
1049{
1050 fCanvasVTX->cd();
1051 if (!fOldBut)
1052 {
1053 char but[256];
1054 sprintf(but,
1055 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVTXTracks(\"",fTitle);
1056 strcat(but,type);
1057 strcat(but,"\")");
1058 fOldBut = new TButton("TR",but,0.01,0.86,0.04,0.90);
1059 fOldBut->SetToolTipText("Show tracks table");
1060 fOldBut->ResetBit(kCanDelete);
1061 fOldBut->SetFillColor(38); // blue shades
1062 fOldBut->SetName("DrawOldVTX");
1063 }
1064 else
1065 {
1066 char but[256];
1067 sprintf(but,
1068 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVTXTracks(\"",fTitle);
1069 strcat(but,type);
1070 strcat(but,"\")");
1071 fOldBut->SetMethod(but);
1072 }
1073 fOldBut->Draw();
1074 fCanvasVTX->Modified(kTRUE);
1075 fCanvasVTX->Update();
1076}
TButton * fOldBut
Old Vertex display button.
Definition: EdbDisplayBase.h:114

◆ DrawOldVTX()

void EdbDisplayBase::DrawOldVTX ( char *  text)
virtual
928{
929 fCanvasVTX->cd();
930 if (fOldVTX)
931 {
932 fOldVTX->Clear();
933 fOldVTX->SetText(0.05, 0.88, ptitle);
934 }
935 else
936 {
937 fOldVTX = new TText(0.05, 0.88, ptitle);
938 fOldVTX->ResetBit(kCanDelete);
939 fOldVTX->SetTextColor(kBlack);
940 fOldVTX->SetTextSize(0.04);
941 fOldVTX->SetTextAlign(12);
942 fOldVTX->SetTextFont(102);
943 }
944 fOldVTX->Draw();
945 fCanvasVTX->Modified(kTRUE);
946 fCanvasVTX->Update();
947}
TText * fOldVTX
Old Vertex data.
Definition: EdbDisplayBase.h:110

◆ DrawPreBut()

void EdbDisplayBase::DrawPreBut ( char *  text)
virtual
1079{
1080 fCanvasVTX->cd();
1081 if (!fPreBut)
1082 {
1083 char but[256];
1084 sprintf(but,
1085 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVTXTracks(\"",fTitle);
1086 strcat(but,type);
1087 strcat(but,"\")");
1088 fPreBut = new TButton("TR",but,0.01,0.80,0.04,0.84);
1089 fPreBut->SetToolTipText("Show tracks table");
1090 fPreBut->ResetBit(kCanDelete);
1091 fPreBut->SetFillColor(38); // blue shades
1092 fPreBut->SetName("DrawPreVTX");
1093 }
1094 else
1095 {
1096 char but[256];
1097 sprintf(but,
1098 "((EdbDisplay*)(gROOT->GetListOfSpecials()->FindObject(\"%s\")))->DrawVTXTracks(\"",fTitle);
1099 strcat(but,type);
1100 strcat(but,"\")");
1101 fPreBut->SetMethod(but);
1102 }
1103 fPreBut->Draw();
1104 fCanvasVTX->Modified(kTRUE);
1105 fCanvasVTX->Update();
1106}
TButton * fPreBut
Previous Vertex display button.
Definition: EdbDisplayBase.h:116

◆ DrawPreVTX()

void EdbDisplayBase::DrawPreVTX ( char *  text)
virtual
950{
951 fCanvasVTX->cd();
952 if (fPreVTX)
953 {
954 fPreVTX->Clear();
955 fPreVTX->SetText(0.05, 0.82, ptitle);
956 }
957 else
958 {
959 fPreVTX = new TText(0.05, 0.82, ptitle);
960 fPreVTX->ResetBit(kCanDelete);
961 fPreVTX->SetTextColor(kBlack);
962 fPreVTX->SetTextSize(0.04);
963 fPreVTX->SetTextAlign(12);
964 fPreVTX->SetTextFont(102);
965 }
966 fPreVTX->Draw();
967 fCanvasVTX->Modified(kTRUE);
968 fCanvasVTX->Update();
969}

◆ DrawTitle()

void EdbDisplayBase::DrawTitle ( Option_t *  option = "")
virtual

Draw the event title

396{
398
399 Float_t xmin = fPad->GetX1();
400 Float_t xmax = fPad->GetX2();
401 Float_t ymin = fPad->GetY1();
402 Float_t ymax = fPad->GetY2();
403 Float_t dx = xmax-xmin;
404 Float_t dy = ymax-ymin;
405
406 if (strlen(option) == 0) {
407 TPaveText *title = new TPaveText(xmin +0.01*dx, ymax-0.09*dy, xmin +0.5*dx, ymax-0.01*dy);
408 title->SetBit(kCanDelete);
409 title->SetFillColor(42); // red shades
410 title->Draw();
411 char ptitle[100];
412 sprintf(ptitle,"OPERA emulsion view");
413 title->AddText(ptitle);
414 } else {
415 TPaveLabel *label = new TPaveLabel(xmin +0.01*dx, ymax-0.07*dy, xmin +0.2*dx, ymax-0.01*dy,option);
416 label->SetBit(kCanDelete);
417 label->SetFillColor(42); // red shades
418 label->Draw();
419 }
420}

◆ DrawUnd()

void EdbDisplayBase::DrawUnd ( )
virtual
1139{
1140 fTrigPad->cd();
1141 if (fStyle/2 == 1)
1142 fUndButton->SetFillColor(33);
1143 else
1144 fUndButton->SetFillColor(38);
1145 fTrigPad->GetListOfPrimitives()->Add(fUndButton);
1146 fUndButton->SetPad(0.05,0.85,0.95,0.94);
1147 fUndButton->Draw();
1148 fTrigPad->Modified(kTRUE);
1149 fTrigPad->Update();
1150 fTrigPad->Draw();
1151 fPad->cd();
1152}

◆ DrawView()

void EdbDisplayBase::DrawView ( Float_t  theta,
Float_t  phi,
Float_t  psi = 0 
)
virtual

Draw a view of DataSet

589{
591
592 fPad->SetCursor(kWatch);
593 fPad->SetFillColor(fColorBG);
594
595// TList *li = fPad->GetListOfPrimitives();
596// int np = li->GetSize();
597// TObject *o = 0;
598// for (int i=0; i<np; i++)
599// {
600// o = li->At(i);
601// if (o && o->TestBit(kCanDelete)) delete o;
602// }
603// li->Clear("nodelete");
604
605 fPad->Clear("nodelete"); fView=0;
606
607 if(!fView) {
608 fView = new Edb3DView();
609 fPad->SetView(fView);
610 }
611 if(fPad->GetView()==0) fPad->SetView(fView);
612 if (fPad->GetView() != fView || fView == 0) printf("Error: fView is not defined!\n");
613
614 fView->SetRange((double)fVx0,(double)fVy0,(double)fVz0,(double)fVx1,(double)fVy1,(double)fVz1);
615
616 SetView(theta,phi,psi);
617
618 fZoomX0[0] = -1;
619 fZoomY0[0] = -1;
620 fZoomX1[0] = 1;
621 fZoomY1[0] = 1;
622
623 Refresh();
624 AppendPad();
625
627 //SetRange(fVx0,fVy0,fVz0,fVx1,fVy1,fVz1);
628 fPad->Modified(kTRUE);
629}
Event Display.
Definition: EdbDisplayBase.h:48
Double_t fZoomY0[kMAXZOOMS]
Low y range of zoom number i.
Definition: EdbDisplayBase.h:85
Double_t fZoomY1[kMAXZOOMS]
High y range of zoom number i.
Definition: EdbDisplayBase.h:87
Int_t fColorBG
color for the display BG
Definition: EdbDisplayBase.h:94
Double_t fZoomX1[kMAXZOOMS]
High x range of zoom number i.
Definition: EdbDisplayBase.h:86
virtual void Refresh()
Definition: EdbDisplayBase.h:143
Double_t fZoomX0[kMAXZOOMS]
Low x range of zoom number i.
Definition: EdbDisplayBase.h:84
virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0)
Definition: EdbDisplayBase.cxx:707

◆ DrawViewGL()

void EdbDisplayBase::DrawViewGL ( )
virtual

Draw current view using OPENGL

763{
765
766 TPad *pad = (TPad*)fPad->GetPadSave();
767 pad->cd();
768 TView *view = pad->GetView();
769 if (!view) return;
770 pad->GetViewer3D("ogl");
771}

◆ DrawViewX3D()

void EdbDisplayBase::DrawViewX3D ( )
virtual

Draw current view using X3D

775{
777
778 TPad *pad = (TPad*)fPad->GetPadSave();
779 pad->cd();
780 TView *view = pad->GetView();
781 if (!view) return;
782 pad->GetViewer3D("x3d");
783}

◆ ExecuteEvent()

void EdbDisplayBase::ExecuteEvent ( Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Execute action corresponding to the mouse event

633{
635
636 static Double_t x0, y0, x1, y1;
637
638 static Int_t pxold, pyold;
639 static Int_t px0, py0;
640 static Int_t linedrawn;
641 Double_t temp;
642
643// if (px == 0 && py == 0) { //when called by sliders
644// if (event == kButton1Up) {
645// Draw();
646// }
647// return;
648// }
649// if (!fZoomMode && fPad->GetView()) {
650// fPad->GetView()->ExecuteRotateView(event, px, py);
651// return;
652// }
653
654 // something to zoom ?
655
656 if (!fZoomMode && fPad->GetView())
657 {
658 fPad->SetCursor(kPointer);
659 return;
660 }
661
662 fPad->SetCursor(kCross);
663
664 switch (event) {
665
666 case kButton1Down:
667 gVirtualX->SetLineColor(-1);
668 fPad->TAttLine::Modify(); //Change line attributes only if necessary
669 x0 = fPad->AbsPixeltoX(px);
670 y0 = fPad->AbsPixeltoY(py);
671 px0 = px; py0 = py;
672 pxold = px; pyold = py;
673 linedrawn = 0;
674 return;
675
676 case kButton1Motion:
677 if (linedrawn) gVirtualX->DrawBox(px0, py0, pxold, pyold, TVirtualX::kHollow);
678 pxold = px;
679 pyold = py;
680 linedrawn = 1;
681 gVirtualX->DrawBox(px0, py0, pxold, pyold, TVirtualX::kHollow);
682 return;
683
684 case kButton1Up:
685 fPad->GetCanvas()->FeedbackMode(kFALSE);
686 if (px == px0) return;
687 if (py == py0) return;
688 x1 = fPad->AbsPixeltoX(px);
689 y1 = fPad->AbsPixeltoY(py);
690
691 if (x1 < x0) {temp = x0; x0 = x1; x1 = temp;}
692 if (y1 < y0) {temp = y0; y0 = y1; y1 = temp;}
693 fPad->Range(x0,y0,x1,y1);
694 if (fZooms < kMAXZOOMS-1) {
695 fZooms++;
696 fZoomX0[fZooms] = x0;
697 fZoomY0[fZooms] = y0;
698 fZoomX1[fZooms] = x1;
699 fZoomY1[fZooms] = y1;
700 }
701 fPad->Modified(kTRUE);
702 return;
703 }
704
705}
int event
Definition: shower_tr.C:25

◆ GetDrawDet()

Bool_t EdbDisplayBase::GetDrawDet ( ) const
inline
178{ return fDrawDet; }
Bool_t fDrawDet
True if drawing detector is on.
Definition: EdbDisplayBase.h:119

◆ GetObjectInfo()

char * EdbDisplayBase::GetObjectInfo ( int  px,
int  py 
) const
virtual
904{
905 static char rcoordinates[]="Rotated coordinates";
906 static char coordinates[80];
907 if (!fPad || !fView) return rcoordinates;
908 float nxyz[3] = {fPad->AbsPixeltoX(px), fPad->AbsPixeltoY(py), 0.}, wxyz[3] = {0., 0., 0.};
909 if (fView) fView->NDCtoWC(nxyz, wxyz);
910 if (fView->GetLatitude() == 90.)
911 {
912 if (fView->GetLongitude() == 180.)
913 sprintf(coordinates, "Y = %.1f, Z = %.1f", wxyz[1], wxyz[2]);
914 else if (fView->GetLongitude() == 90.)
915 sprintf(coordinates, "X = %.1f, Z = %.1f", wxyz[0], wxyz[2]);
916 else
917 return rcoordinates;
918 }
919 else if (fView->GetLatitude() == 0.)
920 sprintf(coordinates, "X = %.1f, Y = %.1f", wxyz[0], wxyz[1]);
921 else
922 return rcoordinates;
923 return coordinates;
924}

◆ Refresh()

virtual void EdbDisplayBase::Refresh ( )
inlinevirtual

Reimplemented in EdbDisplay.

143{}

◆ Set0()

void EdbDisplayBase::Set0 ( )
virtual

Reimplemented in EdbDisplay.

226{
228 fCanvas = 0;
229 fCanvasVTX = 0;
230 fCanvasTRK = 0;
231 fTrigPad = 0;
232 fButtons = 0;
233 fPad = 0;
234 fAllButton = 0;
235 fEnvButton = 0;
236 fUndButton = 0;
237 fCanButton = 0;
238 fAccButton = 0;
239 fPickButton = 0;
240 fZoomButton = 0;
241 fUnZoomButton = 0;
242 fArcButton = 0;
243 fHdrVTX = 0;
244 fOldVTX = 0;
245 fNewVTX = 0;
246 fPreVTX = 0;
247 fOldBut = 0;
248 fNewBut = 0;
249 fPreBut = 0;
250 fCanvasName[0] = '\0';
251 fTitle[0] = '\0';
252 fVTXTracks = 0;
253 fVTXTRKInfo = 0;
254 fMain = 0;
255 fView = 0;
256 fStyle = 0;
257 fLineWidth = 1;
258 fColorBG = kBlack;
259 fDetector = 0;
260 fDrawDet = 0;
261 for (int i=0; i<50; i++) fRemBut[i] = 0;
262}
TPaveText * fVTXTracks
Vertex tracks information.
Definition: EdbDisplayBase.h:113
Width_t fLineWidth
Line width for tracks and segments.
Definition: EdbDisplayBase.h:93
TCanvas * fCanvasTRK
Pointer to the vertex canvas.
Definition: EdbDisplayBase.h:126
TPaveText * fVTXTRKInfo
Vertex - tracks information.
Definition: EdbDisplayBase.h:123

◆ SetColorBG()

virtual void EdbDisplayBase::SetColorBG ( int  color = 1)
inlinevirtual
175{fColorBG=color;}

◆ SetDetector()

virtual void EdbDisplayBase::SetDetector ( TGeoVolume *  det)
inlinevirtual
180{fDetector=det;}

◆ SetDrawDet()

void EdbDisplayBase::SetDrawDet ( Bool_t  fflag)
virtual
555{
556 if(!fDetector) { printf("WARNING: EdbDisplayBase::SetDrawDet: fDetector do not defined!\n"); return; }
557 fDrawDet=fflag;
558 TGeoVolume* vol=(TGeoVolume*)fPad->GetListOfPrimitives()->FindObject(fDetector);
559 vol->SetVisibility(fDrawDet);
560 printf("\nDrawDet is %i\n",vol->IsVisible());
561 fPad->Modified(kTRUE);
562}
EdbPatternsVolume * vol
Definition: RecDispNU.C:116

◆ SetLineWidth()

virtual void EdbDisplayBase::SetLineWidth ( int  width = 1)
inlinevirtual
174{fLineWidth=width;}

◆ SetPickMode()

void EdbDisplayBase::SetPickMode ( )
virtual

Set Pick Mode – disable zoom

810{
814 if (fView) fView->SetRotateMode(false);
815
816 fZoomMode = 0;
817
818 fArcButton->SetY1(fPickButton->GetYlowNDC()+0.5*fPickButton->GetHNDC());
819 fTrigPad->Modified(kTRUE);
820 fPad->SetCursor(kPointer);
821}
virtual void SetRotateMode(bool Mode=true)
Definition: EdbDisplayBase.cxx:1370

◆ SetRange()

void EdbDisplayBase::SetRange ( Float_t  x0,
Float_t  x1,
Float_t  y0,
Float_t  y1,
Float_t  z0,
Float_t  z1 
)
virtual
577{
578
579 fVx0=x0; fVx1=x1; fVy0=y0; fVy1=y1; fVz0=z0; fVz1=z1;
580
581 if (!fPad) return;
582 fPad->Modified(kTRUE);
583 //fPad->Clear();
584 //Draw();
585}

◆ SetRotate()

void EdbDisplayBase::SetRotate ( )
virtual

Set 3-D View Rotate Mode

840{
844
845 fZoomMode = 0;
846
847 if (fView) fView->SetRotateMode(true);
848
849 fArcButton->SetY1(fPickButton->GetYlowNDC()+0.5*fPickButton->GetHNDC());
850 fTrigPad->Modified(kTRUE);
851}

◆ SetStyle()

void EdbDisplayBase::SetStyle ( int  Style = 0)
virtual
265{
266 if (Style == 0)
267 {
268 fStyle = Style;
269 fLineWidth = 1;
270 fColorBG=kBlack;
271 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("Rotate")))->SetFillColor(38);
272 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("OpenGL")))->SetFillColor(38);
273 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("X3D")))->SetFillColor(38);
274 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("NeighParms")))->SetFillColor(38);
275 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("TrackParms")))->SetFillColor(38);
276 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetFillColor(50);
277 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetTextColor(kYellow);
278 fButtons->Draw();
279 fUndButton->SetFillColor(38); // blue shades
280 fAccButton->SetFillColor(38);
281 fCanButton->SetFillColor(38);
282 fEnvButton->SetFillColor(38);
283 fAllButton->SetFillColor(38);
284 fPickButton->SetFillColor(38);
285 fZoomButton->SetFillColor(38);
286 fUnZoomButton->SetFillColor(38);
287 fTrigPad->SetFillColor(22); // brown shades
288 fTrigPad->Draw();
289 fPad->cd();
290 }
291 else if (Style == 1)
292 {
293 fStyle = Style;
294 fLineWidth = 2;
295 fColorBG=kBlack;
296 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("Rotate")))->SetFillColor(38);
297 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("OpenGL")))->SetFillColor(38);
298 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("X3D")))->SetFillColor(38);
299 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("NeighParms")))->SetFillColor(38);
300 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("TrackParms")))->SetFillColor(38);
301 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetFillColor(50);
302 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetTextColor(kYellow);
303 fButtons->Draw();
304 fUndButton->SetFillColor(38); // blue shades
305 fAccButton->SetFillColor(38);
306 fCanButton->SetFillColor(38);
307 fEnvButton->SetFillColor(38);
308 fAllButton->SetFillColor(38);
309 fPickButton->SetFillColor(38);
310 fZoomButton->SetFillColor(38);
311 fUnZoomButton->SetFillColor(38);
312 fTrigPad->SetFillColor(22); // brown shades
313 fTrigPad->Draw();
314 fPad->cd();
315 }
316 else if (Style == 2)
317 {
318 fStyle = Style;
319 fLineWidth = 1;
320 fColorBG=kWhite;
321 fPad->SetFillColor(18);
322 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("Rotate")))->SetFillColor(33);
323 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("OpenGL")))->SetFillColor(33);
324 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("X3D")))->SetFillColor(33);
325 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("NeighParms")))->SetFillColor(33);
326 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("TrackParms")))->SetFillColor(33);
327 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetFillColor(kYellow);
328 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetTextColor(kRed);
329 fButtons->Draw();
330 fUndButton->SetFillColor(33); // blue shades
331 fAccButton->SetFillColor(33);
332 fCanButton->SetFillColor(33);
333 fEnvButton->SetFillColor(33);
334 fAllButton->SetFillColor(33);
335 fPickButton->SetFillColor(33);
336 fZoomButton->SetFillColor(33);
337 fUnZoomButton->SetFillColor(33);
338 fTrigPad->SetFillColor(38); // blue shades
339 fTrigPad->Draw();
340 fPad->cd();
341 }
342 else if (Style == 3)
343 {
344 fStyle = Style;
345 fLineWidth = 2;
346 fColorBG = kWhite;
347 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("Rotate")))->SetFillColor(33);
348 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("OpenGL")))->SetFillColor(33);
349 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("X3D")))->SetFillColor(33);
350 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("NeighParms")))->SetFillColor(33);
351 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("TrackParms")))->SetFillColor(33);
352 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetFillColor(kYellow);
353 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetTextColor(kRed);
354 fButtons->Draw();
355 fUndButton->SetFillColor(33); // blue shades
356 fAccButton->SetFillColor(33);
357 fCanButton->SetFillColor(33);
358 fEnvButton->SetFillColor(33);
359 fAllButton->SetFillColor(33);
360 fPickButton->SetFillColor(33);
361 fZoomButton->SetFillColor(33);
362 fUnZoomButton->SetFillColor(33);
363 fTrigPad->SetFillColor(38); // blue shades
364 fTrigPad->Draw();
365 fPad->cd();
366 }
367 else
368 {
369 fStyle = Style;
370 fLineWidth = 1;
371 fColorBG=kBlack;
372 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("Rotate")))->SetFillColor(38);
373 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("OpenGL")))->SetFillColor(38);
374 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("X3D")))->SetFillColor(38);
375 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("NeighParms")))->SetFillColor(38);
376 ((TButton *)(fButtons->GetListOfPrimitives()->FindObject("TrackParms")))->SetFillColor(38);
377 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetFillColor(50);
378 ((TDiamond *)(fButtons->GetListOfPrimitives()->FindObject("Diamond")))->SetTextColor(kYellow);
379 fButtons->Draw();
380 fUndButton->SetFillColor(38); // blue shades
381 fAccButton->SetFillColor(38);
382 fCanButton->SetFillColor(38);
383 fEnvButton->SetFillColor(38);
384 fAllButton->SetFillColor(38);
385 fPickButton->SetFillColor(38);
386 fZoomButton->SetFillColor(38);
387 fUnZoomButton->SetFillColor(38);
388 fTrigPad->SetFillColor(22); // brown shades
389 fTrigPad->Draw();
390 fPad->cd();
391 }
392 fPad->SetFillColor(fColorBG);
393}

◆ SetView()

void EdbDisplayBase::SetView ( Float_t  theta,
Float_t  phi,
Float_t  psi = 0 
)
virtual

change viewing angles for current event

708{
710 Log(3,"EdbDisplayBase::SetView", "theta,phi,psi= %f %f %f",theta,phi,psi );
711
712 if (fView) fView->SetRotateMode(false);
713
714 fPad->cd();
715 fDrawAllViews = kFALSE;
716 fPhi = phi;
717 fTheta = theta;
718 fPsi = psi;
719 Int_t iret = 0;
720
721 TView *view = fPad->GetView();
722 if (view) view->SetView(fTheta, fPhi, fPsi, iret);
723 else Draw();
724
725 fPad->Modified(kTRUE);
726}
bool Log(int level, const char *location, const char *fmt,...)
Definition: EdbLog.cxx:75
virtual void Draw(Option_t *option="")
Definition: EdbDisplayBase.cxx:787

◆ SetZoomMode()

void EdbDisplayBase::SetZoomMode ( )
virtual

Set Zoom Mode – disable pick

825{
829 if (fView) fView->SetRotateMode(false);
830
831 fZoomMode = 1;
832
833 fArcButton->SetY1(fZoomButton->GetYlowNDC()+0.5*fZoomButton->GetHNDC());
834 fTrigPad->Modified(kTRUE);
835 fPad->SetCursor(kCross);
836}

◆ SwDrawDet()

virtual void EdbDisplayBase::SwDrawDet ( )
inlinevirtual
177{ SetDrawDet(!fDrawDet); }
virtual void SetDrawDet(Bool_t fflag)
Definition: EdbDisplayBase.cxx:554

◆ UnZoom()

void EdbDisplayBase::UnZoom ( )
virtual

Resets ZOOM

855{
859 if (fZooms <= 0)
860 {
861 fCanvas->Paint();
862 fCanvas->Update();
863 return;
864 }
865 fZooms--;
867 fPad->Modified();
868 fPad->cd();
869 fPad->Draw();
870 fCanvas->Paint();
871 fCanvas->Update();
872}

Member Data Documentation

◆ fAccButton

TButton* EdbDisplayBase::fAccButton
protected

Button to accept modified vertex.

◆ fAllButton

TButton* EdbDisplayBase::fAllButton
protected

Button to draw all objects.

◆ fArcButton

TArc* EdbDisplayBase::fArcButton
protected

Gren/Red button to show Pick/Zoom mode.

◆ fButtons

TPad* EdbDisplayBase::fButtons
protected

Pointer to the buttons pad.

◆ fCanButton

TButton* EdbDisplayBase::fCanButton
protected

Button to cancel modified vertex.

◆ fCanvas

TCanvas* EdbDisplayBase::fCanvas

Pointer to the display canvas.

◆ fCanvasName

char EdbDisplayBase::fCanvasName[128]
protected

Name of main canvas.

◆ fCanvasTRK

TCanvas* EdbDisplayBase::fCanvasTRK

Pointer to the vertex canvas.

◆ fCanvasVTX

TCanvas* EdbDisplayBase::fCanvasVTX

Pointer to the vertex canvas.

◆ fColorBG

Int_t EdbDisplayBase::fColorBG
protected

color for the display BG

◆ fDetector

TGeoVolume* EdbDisplayBase::fDetector
protected

detector geometry

◆ fDrawAllViews

Bool_t EdbDisplayBase::fDrawAllViews
protected

Flag True if AllViews selected.

◆ fDrawDet

Bool_t EdbDisplayBase::fDrawDet
protected

True if drawing detector is on.

◆ fEnvButton

TButton* EdbDisplayBase::fEnvButton
protected

Button to draw vertex environment.

◆ fHdrVTX

TText* EdbDisplayBase::fHdrVTX
protected

Vertex data header.

◆ fLineWidth

Width_t EdbDisplayBase::fLineWidth
protected

Line width for tracks and segments.

◆ fMain

TGMainFrame* EdbDisplayBase::fMain
protected

Dialog frame.

◆ fNewBut

TButton* EdbDisplayBase::fNewBut
protected

Modified Vertex display button.

◆ fNewVTX

TText* EdbDisplayBase::fNewVTX
protected

Modified Vertex data.

◆ fOldBut

TButton* EdbDisplayBase::fOldBut
protected

Old Vertex display button.

◆ fOldVTX

TText* EdbDisplayBase::fOldVTX
protected

Old Vertex data.

◆ fPad

TPad* EdbDisplayBase::fPad

Pointer to the event display main pad.

◆ fPhi

Float_t EdbDisplayBase::fPhi
protected

Viewing angle phi.

◆ fPickButton

TButton* EdbDisplayBase::fPickButton
protected

Button to activate Pick mode.

◆ fPreBut

TButton* EdbDisplayBase::fPreBut
protected

Previous Vertex display button.

◆ fPreVTX

TText* EdbDisplayBase::fPreVTX
protected

Previous Vertex data.

◆ fPsi

Float_t EdbDisplayBase::fPsi
protected

Viewving angle psi (rotation on display)

◆ fRemBut

TButton* EdbDisplayBase::fRemBut[50]
protected

track removing buttons

◆ fStyle

Int_t EdbDisplayBase::fStyle
protected

Display style (line width, sizes etc)

◆ fTheta

Float_t EdbDisplayBase::fTheta
protected

Viewing angle theta.

◆ fTitle

char EdbDisplayBase::fTitle[128]
protected

EdbDisplay Object Name.

◆ fTrigPad

TPad* EdbDisplayBase::fTrigPad
protected

Pointer to the trigger pad.

◆ fUndButton

TButton* EdbDisplayBase::fUndButton
protected

Button to undo vertex modofication.

◆ fUnZoomButton

TButton* EdbDisplayBase::fUnZoomButton
protected

Button to Undo previous Zoom.

◆ fView

Edb3DView* EdbDisplayBase::fView
protected

Main View object.

◆ fVTXTracks

TPaveText* EdbDisplayBase::fVTXTracks
protected

Vertex tracks information.

◆ fVTXTRKInfo

TPaveText* EdbDisplayBase::fVTXTRKInfo

Vertex - tracks information.

◆ fVx0

Float_t EdbDisplayBase::fVx0
protected

◆ fVx1

Float_t EdbDisplayBase::fVx1
protected

◆ fVy0

Float_t EdbDisplayBase::fVy0
protected

◆ fVy1

Float_t EdbDisplayBase::fVy1
protected

◆ fVz0

Float_t EdbDisplayBase::fVz0
protected

◆ fVz1

Float_t EdbDisplayBase::fVz1
protected

◆ fZoomButton

TButton* EdbDisplayBase::fZoomButton
protected

Button to activate Zoom mode.

◆ fZoomMode

Int_t EdbDisplayBase::fZoomMode
protected

=1 if in zoom mode

◆ fZooms

Int_t EdbDisplayBase::fZooms
protected

Number of zooms.

◆ fZoomX0

Double_t EdbDisplayBase::fZoomX0[kMAXZOOMS]
protected

Low x range of zoom number i.

◆ fZoomX1

Double_t EdbDisplayBase::fZoomX1[kMAXZOOMS]
protected

High x range of zoom number i.

◆ fZoomY0

Double_t EdbDisplayBase::fZoomY0[kMAXZOOMS]
protected

Low y range of zoom number i.

◆ fZoomY1

Double_t EdbDisplayBase::fZoomY1[kMAXZOOMS]
protected

High y range of zoom number i.


The documentation for this class was generated from the following files: