#include <BesView.h>
Inheritance diagram for BesView:
Public Types | |
kPerspective = BIT(6) | |
enum | { kPerspective = BIT(6) } |
Public Member Functions | |
BesView () | |
virtual | ~BesView () |
virtual void | SetViewType (EBESViewType ViewType, Bool_t resetview=kFALSE) |
virtual void | SetViewTypeBare (EBESViewType ViewType, Bool_t resetview=kFALSE) |
virtual void | DefaultRange () |
virtual void | ClearPad () |
virtual void | DrawLabel () |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
virtual Int_t | GetRSign (Float_t Phi) |
virtual void | UpdateView (Bool_t resetview=kFALSE) |
virtual void | WCtoNDC (const Float_t *pw, Float_t *pn) |
virtual void | WCtoNDC (const Double_t *pw, Double_t *pn) |
virtual void | NDCtoWC (const Float_t *pn, Float_t *pw) |
virtual void | NDCtoWC (const Double_t *pn, Double_t *pw) |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
void | SetZoomRatio (Double_t ratio) |
Double_t | GetZoomRatio () |
EBESViewType | GetViewType () |
Float_t | GetMarkerSize () |
void | View3D () |
void | ViewXY () |
void | ViewZR () |
void | ZoomIn () |
void | ZoomOut () |
void | Center () |
void | Move (Int_t px, Int_t py) |
void | Front3D () |
void | Side3D () |
void | Top3D () |
void | SetPhiRange (Float_t PhiMin=0, Float_t PhiMax=180) |
void | Reset () |
void | SetMarkerSize (Float_t size) |
Bool_t | GetVisMdcGlobal () |
Bool_t | GetVisMdcTubes () |
Bool_t | GetVisMdcWires () |
void | SetVisMdcGlobal (Bool_t input) |
void | SetVisMdcTubes (Bool_t input) |
void | SetVisMdcWires (Bool_t input) |
Bool_t | GetVisTofGlobal () |
Bool_t | GetVisTofEast () |
Bool_t | GetVisTofBarrel () |
Bool_t | GetVisTofWest () |
Float_t | GetVisZoom () |
void | SetVisTofGlobal (Bool_t input) |
void | SetVisTofEast (Bool_t input) |
void | SetVisTofBarrel (Bool_t input) |
void | SetVisTofWest (Bool_t input) |
void | SetVisZoom (Float_t input) |
Bool_t | GetVisEmcGlobal () |
Bool_t | GetVisEmcEast () |
Bool_t | GetVisEmcBarrel () |
Bool_t | GetVisEmcWest () |
Bool_t | GetVisEmcSide () |
void | SetVisEmcGlobal (Bool_t input) |
void | SetVisEmcEast (Bool_t input) |
void | SetVisEmcBarrel (Bool_t input) |
void | SetVisEmcWest (Bool_t input) |
void | SetVisEmcSide (Bool_t input) |
Bool_t | GetVisMucGlobal () |
Bool_t | GetVisMucEast () |
Bool_t | GetVisMucBarrel () |
Bool_t | GetVisMucWest () |
Bool_t | GetVisMucStrips () |
void | SetVisMucGlobal (Bool_t input) |
void | SetVisMucEast (Bool_t input) |
void | SetVisMucBarrel (Bool_t input) |
void | SetVisMucWest (Bool_t input) |
void | SetVisMucStrips (Bool_t input) |
Bool_t | GetVisFull3DMdc () |
Bool_t | GetVisFull3DTof () |
Bool_t | GetVisFull3DEmc () |
Bool_t | GetVisFull3DMuc () |
void | SetVisFull3DMdc (Bool_t input) |
void | SetVisFull3DTof (Bool_t input) |
void | SetVisFull3DEmc (Bool_t input) |
void | SetVisFull3DMuc (Bool_t input) |
Bool_t | GetVisBeamPipe () |
Bool_t | GetVisZRPlaneOnXY () |
Bool_t | GetVisAxis () |
void | SetVisBeamPipe (Bool_t input) |
void | SetVisZRPlaneOnXY (Bool_t input) |
void | SetVisAxis (Bool_t input) |
Bool_t | GetVisMdcHitsGlobal () |
Bool_t | GetVisMdcHits () |
void | SetVisMdcHitsGlobal (Bool_t input) |
void | SetVisMdcHits (Bool_t input) |
Bool_t | GetVisTofHitsGlobal () |
Bool_t | GetVisTofHitsEast () |
Bool_t | GetVisTofHitsBarrel () |
Bool_t | GetVisTofHitsWest () |
void | SetVisTofHitsGlobal (Bool_t input) |
void | SetVisTofHitsEast (Bool_t input) |
void | SetVisTofHitsBarrel (Bool_t input) |
void | SetVisTofHitsWest (Bool_t input) |
Bool_t | GetVisEmcHitsGlobal () |
Bool_t | GetVisEmcHitsEast () |
Bool_t | GetVisEmcHitsBarrel () |
Bool_t | GetVisEmcHitsWest () |
Bool_t | GetVisEmcHitsSide () |
void | SetVisEmcHitsGlobal (Bool_t input) |
void | SetVisEmcHitsEast (Bool_t input) |
void | SetVisEmcHitsBarrel (Bool_t input) |
void | SetVisEmcHitsWest (Bool_t input) |
void | SetVisEmcHitsSide (Bool_t input) |
Bool_t | GetVisMucHitsGlobal () |
Bool_t | GetVisMucHitsEast () |
Bool_t | GetVisMucHitsBarrel () |
Bool_t | GetVisMucHitsWest () |
void | SetVisMucHitsGlobal (Bool_t input) |
void | SetVisMucHitsEast (Bool_t input) |
void | SetVisMucHitsBarrel (Bool_t input) |
void | SetVisMucHitsWest (Bool_t input) |
Bool_t | GetVisTracksGlobal () |
Bool_t | GetVisTracksMdc () |
Bool_t | GetVisTracksTof () |
Bool_t | GetVisTracksEmc () |
Bool_t | GetVisTracksMuc () |
Bool_t | GetVisTracksExt () |
void | SetVisTracksGlobal (Bool_t input) |
void | SetVisTracksMdc (Bool_t input) |
void | SetVisTracksTof (Bool_t input) |
void | SetVisTracksEmc (Bool_t input) |
void | SetVisTracksMuc (Bool_t input) |
void | SetVisTracksExt (Bool_t input) |
Bool_t | GetFishEyeStatus () |
Bool_t | GetFishEye () |
void | SetFishEye (Bool_t input=0) |
void | PrintCurrent () |
virtual void | Centered () |
virtual void | Front () |
virtual void | Side () |
virtual void | Top () |
virtual void | ZoomMove () |
virtual void | AdjustScales (TVirtualPad *pad=0) |
virtual void | Delete (Option_t *option) |
virtual void | DrawClass () |
virtual TObject * | DrawClone (Option_t *option) |
virtual void | Dump () |
virtual void | Inspect () |
virtual void | SetDrawOption (Option_t *option) |
virtual void | SetLineAttributes () |
virtual void | SetZoomFactor (Double_t factor) |
virtual Double_t | GetZoomFactor () |
BesStatus * | GetStatusCurrent () |
BesStatus * | GetStatus3D () |
BesStatus * | GetStatusXY () |
BesStatus * | GetStatusZR () |
virtual void | AxisVertex (Double_t ang, Double_t *av, Int_t &ix1, Int_t &ix2, Int_t &iy1, Int_t &iy2, Int_t &iz1, Int_t &iz2) |
virtual void | DefinePerspectiveView () |
virtual void | DefineViewDirection (const Double_t *s, const Double_t *c, Double_t cosphi, Double_t sinphi, Double_t costhe, Double_t sinthe, Double_t cospsi, Double_t sinpsi, Double_t *tnorm, Double_t *tback) |
virtual void | DrawOutlineCube (TList *outline, Double_t *rmin, Double_t *rmax) |
virtual void | ExecuteRotateView (Int_t event, Int_t px, Int_t py) |
virtual void | FindScope (Double_t *scale, Double_t *center, Int_t &irep) |
virtual Int_t | GetDistancetoAxis (Int_t axis, Int_t px, Int_t py, Double_t &ratio) |
Double_t | GetDview () const |
Double_t | GetDproj () const |
Double_t | GetExtent () const |
Bool_t | GetAutoRange () |
Double_t | GetLatitude () |
Double_t | GetLongitude () |
Double_t | GetPsi () |
virtual void | GetRange (Float_t *min, Float_t *max) |
virtual void | GetRange (Double_t *min, Double_t *max) |
Double_t * | GetRmax () |
Double_t * | GetRmin () |
TSeqCollection * | GetOutline () |
Double_t * | GetTback () |
Double_t * | GetTN () |
Double_t * | GetTnorm () |
Int_t | GetSystem () |
void | GetWindow (Double_t &u0, Double_t &v0, Double_t &du, Double_t &dv) const |
Double_t | GetWindowWidth () const |
Double_t | GetWindowHeight () const |
virtual void | FindNormal (Double_t x, Double_t y, Double_t z, Double_t &zn) |
virtual void | FindPhiSectors (Int_t iopt, Int_t &kphi, Double_t *aphi, Int_t &iphi1, Int_t &iphi2) |
virtual void | FindThetaSectors (Int_t iopt, Double_t phi, Int_t &kth, Double_t *ath, Int_t &ith1, Int_t &ith2) |
Bool_t | IsClippedNDC (Double_t *p) const |
Bool_t | IsPerspective () const |
Bool_t | IsViewChanged () const |
virtual void | NormalWCtoNDC (const Float_t *pw, Float_t *pn) |
virtual void | NormalWCtoNDC (const Double_t *pw, Double_t *pn) |
virtual void | PadRange (Int_t rback) |
void | ResizePad () |
virtual void | SetAutoRange (Bool_t autorange=kTRUE) |
virtual void | SetAxisNDC (const Double_t *x1, const Double_t *x2, const Double_t *y1, const Double_t *y2, const Double_t *z1, const Double_t *z2) |
void | SetDefaultWindow () |
void | SetDview (Double_t dview) |
void | SetDproj (Double_t dproj) |
void | SetLatitude (Double_t latitude) |
void | SetLongitude (Double_t longitude) |
void | SetPsi (Double_t psi) |
virtual void | SetOutlineToCube () |
virtual void | SetParallel () |
virtual void | SetPerspective () |
virtual void | SetRange (const Double_t *min, const Double_t *max) |
virtual void | SetRange (Double_t x0, Double_t y0, Double_t z0, Double_t x1, Double_t y1, Double_t z1, Int_t flag=0) |
virtual void | SetSystem (Int_t system) |
virtual void | SetView (Double_t longitude, Double_t latitude, Double_t psi, Int_t &irep) |
void | SetViewChanged (Bool_t flag=kTRUE) |
void | SetWindow (Double_t u0, Double_t v0, Double_t du, Double_t dv) |
void | MoveFocus (Double_t *center, Double_t dx, Double_t dy, Double_t dz, Int_t nsteps=10, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0) |
virtual void | MoveViewCommand (Char_t chCode, Int_t count=1) |
void | MoveWindow (Char_t option) |
virtual void | Centered3DImages (TVirtualPad *pad=0) |
virtual void | FrontView (TVirtualPad *pad=0) |
virtual void | ZoomView (TVirtualPad *pad=0, Double_t zoomFactor=1.25) |
virtual void | UnzoomView (TVirtualPad *pad=0, Double_t unZoomFactor=1.25) |
virtual void | RotateView (Double_t phi, Double_t theta, TVirtualPad *pad=0) |
virtual void | SideView (TVirtualPad *pad=0) |
virtual void | TopView (TVirtualPad *pad=0) |
virtual void | ToggleRulers (TVirtualPad *pad=0) |
virtual void | ShowAxis () |
virtual void | ToggleZoom (TVirtualPad *pad=0) |
virtual void | Zoom () |
virtual void | UnZoom () |
ClassDef (BesTView, 2) | |
Static Public Member Functions | |
static void | AdjustPad (TVirtualPad *pad=0) |
Protected Member Functions | |
void | ResetView (Double_t longitude, Double_t latitude, Double_t psi, Int_t &irep) |
Protected Attributes | |
Double_t | fLatitude |
Double_t | fLongitude |
Double_t | fPsi |
Double_t | fDview |
Double_t | fDproj |
Double_t | fUpix |
Double_t | fVpix |
Double_t | fTN [16] |
Double_t | fTB [16] |
Double_t | fRmax [3] |
Double_t | fRmin [3] |
Double_t | fUVcoord [4] |
Double_t | fTnorm [16] |
Double_t | fTback [16] |
Double_t | fX1 [3] |
Double_t | fX2 [3] |
Double_t | fY1 [3] |
Double_t | fY2 [3] |
Double_t | fZ1 [3] |
Double_t | fZ2 [3] |
Int_t | fSystem |
TSeqCollection * | fOutline |
Bool_t | fDefaultOutline |
Bool_t | fAutoRange |
Bool_t | fChanged |
Private Attributes | |
Bool_t | fFishEye |
EBESViewType | fViewType |
Float_t | fPhiRangeMin |
Float_t | fPhiRangeMax |
TPaveLabel * | fLabel |
Float_t | fMarkerSize |
BesStatus * | fStatus3D |
BesStatus * | fStatusXY |
BesStatus * | fStatusZR |
BesStatus * | fStatusCurrent |
Double_t | fZoomFactor |
Double_t | fExtentDefault |
Float_t | m_BesR |
Float_t | m_BesZ |
Definition at line 26 of file BesView.h.
anonymous enum [inherited] |
BesView::BesView | ( | ) |
BesView::~BesView | ( | ) | [virtual] |
Definition at line 71 of file BesView.cxx.
References fLabel, fStatus3D, fStatusCurrent, fStatusXY, and fStatusZR.
00071 { 00072 // 00073 // BesView default destructor 00074 if ( gDebug ) cout << "BesView default dtor called" << endl; 00075 00076 delete fLabel; 00077 00078 delete fStatus3D; 00079 delete fStatusXY; 00080 delete fStatusZR; 00081 delete fStatusCurrent; 00082 00083 }
void BesTView::AdjustPad | ( | TVirtualPad * | pad = 0 |
) | [static, inherited] |
Definition at line 1667 of file BesTView.cxx.
Referenced by BesTView::AdjustScales(), BesTView::Centered3DImages(), G__BesVisLib_rootcint_175_0_69(), G__setup_memfuncBesTView(), and BesTView::ZoomView().
01668 { 01669 // Force the current pad to be updated 01670 TVirtualPad *thisPad = pad; 01671 if (!thisPad) thisPad = gPad; 01672 if (thisPad) { 01673 thisPad->Modified(); 01674 thisPad->Update(); 01675 } 01676 }
virtual void BesView::AdjustScales | ( | TVirtualPad * | pad = 0 |
) | [inline, virtual] |
Reimplemented from BesTView.
Definition at line 240 of file BesView.h.
References BesTView::AdjustScales().
00240 { BesTView::AdjustScales(pad); }
void BesTView::AxisVertex | ( | Double_t | ang, | |
Double_t * | av, | |||
Int_t & | ix1, | |||
Int_t & | ix2, | |||
Int_t & | iy1, | |||
Int_t & | iy2, | |||
Int_t & | iz1, | |||
Int_t & | iz2 | |||
) | [virtual, inherited] |
Definition at line 332 of file BesTView.cxx.
References BesTView::fRmax, BesTView::fRmin, BesTView::fTN, genRecEmupikp::i, and kRad.
00333 { 00334 //*-*-*-*-*-*-*-*-*-*-*-*-*Define axis vertices*-*-*-*-*-*-*-*-*-*-*-*-*-* 00335 //*-* ===================== * 00336 //*-* * 00337 //*-* Input ANG - angle between X and Y axis * 00338 //*-* * 00339 //*-* Output: AV(3,8) - axis vertixes * 00340 //*-* IX1 - 1st point of X-axis * 00341 //*-* IX2 - 2nd point of X-axis * 00342 //*-* IY1 - 1st point of Y-axis * 00343 //*-* IY2 - 2nd point of Y-axis * 00344 //*-* IZ1 - 1st point of Z-axis * 00345 //*-* IZ2 - 2nd point of Z-axis * 00346 //*-* * 00347 //*-* 8 6 * 00348 //*-* / \ /|\ * 00349 //*-* 5 / \ 7 5 / | \ 7 * 00350 //*-* |\ /| | | | * 00351 //*-* THETA < 90 | \6/ | THETA > 90 | /2\ | * 00352 //*-* (Top view) | | | (Bottom view) |/ \| * 00353 //*-* 1 \ | /3 1 \ /3 * 00354 //*-* \|/ \ / * 00355 //*-* 2 4 * 00356 //*-* * 00357 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00358 /* Local variables */ 00359 Double_t cosa, sina; 00360 Int_t i, k; 00361 Double_t p[8] /* was [2][4] */; 00362 Int_t i1, i2, i3, i4, ix, iy; 00363 ix = 0; 00364 00365 /* Parameter adjustments */ 00366 av -= 4; 00367 00368 sina = TMath::Sin(ang*kRad); 00369 cosa = TMath::Cos(ang*kRad); 00370 p[0] = fRmin[0]; 00371 p[1] = fRmin[1]; 00372 p[2] = fRmax[0]; 00373 p[3] = fRmin[1]; 00374 p[4] = fRmax[0]; 00375 p[5] = fRmax[1]; 00376 p[6] = fRmin[0]; 00377 p[7] = fRmax[1]; 00378 //*-*- F I N D T H E M O S T L E F T P O I N T */ 00379 i1 = 1; 00380 if (fTN[0] < 0) i1 = 2; 00381 if (fTN[0]*cosa + fTN[1]*sina < 0) i1 = 5 - i1; 00382 00383 //*-*- S E T O T H E R P O I N T S */ 00384 i2 = i1 % 4 + 1; 00385 i3 = i2 % 4 + 1; 00386 i4 = i3 % 4 + 1; 00387 00388 //*-*- S E T A X I S V E R T I X E S */ 00389 00390 av[4] = p[(i1 << 1) - 2]; 00391 av[5] = p[(i1 << 1) - 1]; 00392 av[7] = p[(i2 << 1) - 2]; 00393 av[8] = p[(i2 << 1) - 1]; 00394 av[10] = p[(i3 << 1) - 2]; 00395 av[11] = p[(i3 << 1) - 1]; 00396 av[13] = p[(i4 << 1) - 2]; 00397 av[14] = p[(i4 << 1) - 1]; 00398 for (i = 1; i <= 4; ++i) { 00399 av[i*3 + 3] = fRmin[2]; 00400 av[i*3 + 13] = av[i*3 + 1]; 00401 av[i*3 + 14] = av[i*3 + 2]; 00402 av[i*3 + 15] = fRmax[2]; 00403 } 00404 00405 //*-*- S E T A X I S 00406 00407 if (av[4] == av[7]) ix = 2; 00408 if (av[5] == av[8]) ix = 1; 00409 iy = 3 - ix; 00410 //*-*- X - A X I S 00411 ix1 = ix; 00412 if (av[ix*3 + 1] > av[(ix + 1)*3 + 1]) ix1 = ix + 1; 00413 ix2 = (ix << 1) - ix1 + 1; 00414 //*-*- Y - A X I S 00415 iy1 = iy; 00416 if (av[iy*3 + 2] > av[(iy + 1)*3 + 2]) iy1 = iy + 1; 00417 iy2 = (iy << 1) - iy1 + 1; 00418 //*-*- Z - A X I S 00419 iz1 = 1; 00420 iz2 = 5; 00421 00422 if (fTN[10] >= 0) return; 00423 k = (ix1 - 1)*3 + ix2; 00424 if (k%2) return; 00425 if (k == 2) { 00426 ix1 = 4; 00427 ix2 = 3; 00428 } 00429 if (k == 4) { 00430 ix1 = 3; 00431 ix2 = 4; 00432 } 00433 if (k == 6) { 00434 ix1 = 1; 00435 ix2 = 4; 00436 } 00437 if (k == 8) { 00438 ix1 = 4; 00439 ix2 = 1; 00440 } 00441 00442 k = (iy1 - 1)*3 + iy2; 00443 if (k%2) return; 00444 if (k == 2) { 00445 iy1 = 4; 00446 iy2 = 3; 00447 return; 00448 } 00449 if (k == 4) { 00450 iy1 = 3; 00451 iy2 = 4; 00452 return; 00453 } 00454 if (k == 6) { 00455 iy1 = 1; 00456 iy2 = 4; 00457 return; 00458 } 00459 if (k == 8) { 00460 iy1 = 4; 00461 iy2 = 1; 00462 } 00463 }
void BesView::Center | ( | ) |
Definition at line 466 of file BesView.cxx.
Referenced by BesClient::HandleButtons(), and SetViewType().
00466 { 00467 // 00468 // Center view 00469 //if ( fViewType & k3DView ){ 00470 //this->Centered(); 00471 //} else { 00472 Double_t xrange, yrange; 00473 xrange = gPad->GetX2() - gPad->GetX1(); 00474 yrange = gPad->GetY2() - gPad->GetY1(); 00475 gPad->Range(-xrange/2, -yrange/2, xrange/2, yrange/2); 00476 gPad->Modified(); 00477 //} 00478 }
virtual void BesView::Centered | ( | ) | [inline, virtual] |
Reimplemented from BesTView.
Definition at line 234 of file BesView.h.
References BesTView::Centered().
00234 { BesTView::Centered(); }
void BesTView::Centered3DImages | ( | TVirtualPad * | pad = 0 |
) | [virtual, inherited] |
Definition at line 1753 of file BesTView.cxx.
References BesTView::AdjustPad(), BesTView::GetRange(), genRecEmupikp::i, and BesTView::SetRange().
Referenced by BesTView::Centered().
01754 { 01755 // Move view into the center of the scene 01756 01757 Double_t min[3],max[3]; 01758 GetRange(min,max); 01759 int i; 01760 for (i=0;i<3; i++) { 01761 if (max[i] > 0) min[i] = -max[i]; 01762 else max[i] = -min[i]; 01763 } 01764 SetRange(min,max); 01765 AdjustPad(pad); 01766 }
BesTView::ClassDef | ( | BesTView | , | |
2 | ||||
) | [inherited] |
void BesView::ClearPad | ( | ) | [virtual] |
Definition at line 353 of file BesView.cxx.
Referenced by SetViewType().
00353 { 00354 // 00355 // Clear current without deleting this view 00356 // 00357 // Probably this doesn't work for the postscript output 00358 // Look at TPad::Clear() for more details 00359 if ( gDebug ) cout << "BesView::ClearPad called" << endl; 00360 if ( gPad->GetListOfPrimitives() ) gPad->GetListOfPrimitives()->Clear(); 00361 }
void BesView::DefaultRange | ( | ) | [virtual] |
Definition at line 87 of file BesView.cxx.
References m_BesR, m_BesZ, and BesTView::SetRange().
Referenced by SetViewType(), and SetZoomRatio().
void BesTView::DefinePerspectiveView | ( | ) | [virtual, inherited] |
Definition at line 466 of file BesTView.cxx.
References BesTView::fDproj, BesTView::fDview, BesTView::fLatitude, BesTView::fLongitude, BesTView::fPsi, BesTView::fRmax, BesTView::fRmin, BesTView::fTnorm, BesTView::fUVcoord, genRecEmupikp::i, and kRad.
Referenced by BesTView::DefineViewDirection(), BesTView::MoveFocus(), BesTView::MoveWindow(), BesTView::ResetView(), BesTView::ResizePad(), BesTView::ZoomIn(), and BesTView::ZoomOut().
00467 { 00468 //*-*-*-*-*-*-*-*-*-*-*-*-*-*Define perspective view *-*-*-*-*-*-*-*-*-*-* 00469 //*-* ================================================ * 00470 //*-* * 00471 //*-* Compute transformation matrix from world coordinates * 00472 //*-* to normalised coordinates (-1 to +1) * 00473 // Input : 00474 // theta, phi - spherical angles giving the direction of projection 00475 // psi - screen rotation angle 00476 // cov[3] - center of view 00477 // dview - distance from COV to COP (center of projection) 00478 // umin, umax, vmin, vmax - view window in projection plane 00479 // dproj - distance from COP to projection plane 00480 // bcut, fcut - backward/forward range w.r.t projection plane (fcut<=0) 00481 // Output : 00482 // nper[16] - normalizing transformation 00483 // compute tr+rot to get COV in origin, view vector parallel to -Z axis, up vector 00484 // parallel to Y. 00485 // ^Yv UP ^ proj. plane 00486 // | | /| 00487 // | | / | 00488 // | dproj / x--- center of window (COW) 00489 // COV |----------|--x--|------------> Zv 00490 // / | VRP'z 00491 // / ---> | / 00492 // / VPN |/ 00493 // Xv 00494 // 00495 // 1 - translate COP to origin of MARS : Tper = T(-copx, -copy, -copz) 00496 // 2 - rotate VPN : R = Rz(-psi)*Rx(-theta)*Rz(-phi) (inverse Euler) 00497 // 3 - left-handed screen reference to right-handed one of MARS : Trl 00498 // 00499 // T12 = Tper*R*Trl 00500 // 00501 Double_t t12[16]; 00502 Double_t cov[3]; 00503 Int_t i; 00504 for (i=0; i<3; i++) cov[i] = 0.5*(fRmax[i]+fRmin[i]); 00505 00506 Double_t c1 = TMath::Cos(fPsi*kRad); 00507 Double_t s1 = TMath::Sin(fPsi*kRad); 00508 Double_t c2 = TMath::Cos(fLatitude*kRad); 00509 Double_t s2 = TMath::Sin(fLatitude*kRad); 00510 Double_t s3 = TMath::Cos(fLongitude*kRad); 00511 Double_t c3 = -TMath::Sin(fLongitude*kRad); 00512 00513 t12[0] = c1*c3 - s1*c2*s3; 00514 t12[4] = c1*s3 + s1*c2*c3; 00515 t12[8] = s1*s2; 00516 t12[3] = 0; 00517 00518 t12[1] = -s1*c3 - c1*c2*s3; 00519 t12[5] = -s1*s3 + c1*c2*c3; 00520 t12[9] = c1*s2; 00521 t12[7] = 0; 00522 00523 t12[2] = s2*s3; 00524 t12[6] = -s2*c3; 00525 t12[10] = c2; // contains Trl 00526 t12[11] = 0; 00527 00528 // translate with -COP (before rotation): 00529 t12[12] = -(cov[0]*t12[0]+cov[1]*t12[4]+cov[2]*t12[8]); 00530 t12[13] = -(cov[0]*t12[1]+cov[1]*t12[5]+cov[2]*t12[9]); 00531 t12[14] = -(cov[0]*t12[2]+cov[1]*t12[6]+cov[2]*t12[10]); 00532 t12[15] = 1; 00533 00534 // translate with (0, 0, -dview) after rotation 00535 00536 t12[14] -= fDview; 00537 00538 // reflection on Z : 00539 t12[2] *= -1; 00540 t12[6] *= -1; 00541 t12[10] *= -1; 00542 t12[14] *= -1; 00543 00544 // Now we shear the center of window from (0.5*(umin+umax), 0.5*(vmin+vmax), dproj) 00545 // to (0, 0, dproj) 00546 00547 Double_t a2 = -fUVcoord[0]/fDproj; // shear coef. on x 00548 Double_t b2 = -fUVcoord[1]/fDproj; // shear coef. on y 00549 00550 // | 1 0 0 0 | 00551 // SHz(a2,b2) = | 0 1 0 0 | 00552 // | a2 b2 1 0 | 00553 // | 0 0 0 1 | 00554 00555 fTnorm[0] = t12[0] + a2*t12[2]; 00556 fTnorm[1] = t12[1] + b2*t12[2]; 00557 fTnorm[2] = t12[2]; 00558 fTnorm[3] = 0; 00559 00560 fTnorm[4] = t12[4] + a2*t12[6]; 00561 fTnorm[5] = t12[5] + b2*t12[6]; 00562 fTnorm[6] = t12[6]; 00563 fTnorm[7] = 0; 00564 00565 fTnorm[8] = t12[8] + a2*t12[10]; 00566 fTnorm[9] = t12[9] + b2*t12[10]; 00567 fTnorm[10] = t12[10]; 00568 fTnorm[11] = 0; 00569 00570 fTnorm[12] = t12[12] + a2*t12[14]; 00571 fTnorm[13] = t12[13] + b2*t12[14]; 00572 fTnorm[14] = t12[14]; 00573 fTnorm[15] = 1; 00574 00575 // Scale so that the view volume becomes the canonical one 00576 // 00577 // Sper = (2/(umax-umin), 2/(vmax-vmin), 1/dproj 00578 // 00579 Double_t sz = 1./fDproj; 00580 Double_t sx = 1./fUVcoord[2]; 00581 Double_t sy = 1./fUVcoord[3]; 00582 00583 fTnorm[0] *= sx; 00584 fTnorm[4] *= sx; 00585 fTnorm[8] *= sx; 00586 fTnorm[1] *= sy; 00587 fTnorm[5] *= sy; 00588 fTnorm[9] *= sy; 00589 fTnorm[2] *= sz; 00590 fTnorm[6] *= sz; 00591 fTnorm[10] *= sz; 00592 fTnorm[12] *= sx; 00593 fTnorm[13] *= sy; 00594 fTnorm[14] *= sz; 00595 }
void BesTView::DefineViewDirection | ( | const Double_t * | s, | |
const Double_t * | c, | |||
Double_t | cosphi, | |||
Double_t | sinphi, | |||
Double_t | costhe, | |||
Double_t | sinthe, | |||
Double_t | cospsi, | |||
Double_t | sinpsi, | |||
Double_t * | tnorm, | |||
Double_t * | tback | |||
) | [virtual, inherited] |
Definition at line 600 of file BesTView.cxx.
References BesTView::DefinePerspectiveView(), genRecEmupikp::i, and BesTView::IsPerspective().
Referenced by BesTView::ResetView().
00605 { 00606 //*-*-*-*-*-*-*-*-*Define view direction (in spherical coordinates)-*-*-*-* 00607 //*-* ================================================ * 00608 //*-* * 00609 //*-* Compute transformation matrix from world coordinates * 00610 //*-* to normalised coordinates (-1 to +1) * 00611 //*-* * 00612 //*-* Input: S(3) - scale factors * 00613 //*-* C(3) - centre of scope * 00614 //*-* COSPHI - longitude COS * 00615 //*-* SINPHI - longitude SIN * 00616 //*-* COSTHE - latitude COS (angle between +Z and view direc.) * 00617 //*-* SINTHE - latitude SIN * 00618 //*-* COSPSI - screen plane rotation angle COS * 00619 //*-* SINPSI - screen plane rotation angle SIN * 00620 //*-* * 00621 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00622 00623 if (IsPerspective()) { 00624 DefinePerspectiveView(); 00625 return; 00626 } 00627 Int_t i, k; 00628 Double_t tran[16] /* was [4][4] */, rota[16] /* was [4][4] */; 00629 Double_t c1, c2, c3, s1, s2, s3, scalex, scaley, scalez; 00630 00631 /* Parameter adjustments */ 00632 tback -= 5; 00633 tnorm -= 5; 00634 00635 scalex = s[0]; 00636 scaley = s[1]; 00637 scalez = s[2]; 00638 00639 //*-*- S E T T R A N S L A T I O N M A T R I X 00640 00641 tran[0] = 1 / scalex; 00642 tran[1] = 0; 00643 tran[2] = 0; 00644 tran[3] = -c[0] / scalex; 00645 00646 tran[4] = 0; 00647 tran[5] = 1 / scaley; 00648 tran[6] = 0; 00649 tran[7] = -c[1] / scaley; 00650 00651 tran[8] = 0; 00652 tran[9] = 0; 00653 tran[10] = 1 / scalez; 00654 tran[11] = -c[2] / scalez; 00655 00656 tran[12] = 0; 00657 tran[13] = 0; 00658 tran[14] = 0; 00659 tran[15] = 1; 00660 00661 //*-*- S E T R O T A T I O N M A T R I X 00662 00663 // ( C(PSI) S(PSI) 0) (1 0 0 ) ( C(90+PHI) S(90+PHI) 0) 00664 // (-S(PSI) C(PSI) 0) * (0 C(THETA) S(THETA)) * (-S(90+PHI) C(90+PHI) 0) 00665 // ( 0 0 1) (0 -S(THETA) C(THETA)) ( 0 0 1) 00666 00667 c1 = cospsi; 00668 s1 = sinpsi; 00669 c2 = costhe; 00670 s2 = sinthe; 00671 c3 = -sinphi; 00672 s3 = cosphi; 00673 00674 rota[0] = c1*c3 - s1*c2*s3; 00675 rota[1] = c1*s3 + s1*c2*c3; 00676 rota[2] = s1*s2; 00677 rota[3] = 0; 00678 00679 rota[4] = -s1*c3 - c1* c2*s3; 00680 rota[5] = -s1*s3 + c1* c2*c3; 00681 rota[6] = c1*s2; 00682 rota[7] = 0; 00683 00684 rota[8] = s2*s3; 00685 rota[9] = -s2*c3; 00686 rota[10] = c2; 00687 rota[11] = 0; 00688 00689 rota[12] = 0; 00690 rota[13] = 0; 00691 rota[14] = 0; 00692 rota[15] = 1; 00693 00694 //*-*- F I N D T R A N S F O R M A T I O N M A T R I X 00695 00696 for (i = 1; i <= 3; ++i) { 00697 for (k = 1; k <= 4; ++k) { 00698 tnorm[k + (i << 2)] = rota[(i << 2) - 4]*tran[k - 1] + rota[(i 00699 << 2) - 3]*tran[k + 3] + rota[(i << 2) - 2]*tran[k +7] 00700 + rota[(i << 2) - 1]*tran[k + 11]; 00701 } 00702 } 00703 00704 //*-*- S E T B A C K T R A N S L A T I O N M A T R I X 00705 00706 tran[0] = scalex; 00707 tran[3] = c[0]; 00708 00709 tran[5] = scaley; 00710 tran[7] = c[1]; 00711 00712 tran[10] = scalez; 00713 tran[11] = c[2]; 00714 00715 //*-*- F I N D B A C K T R A N S F O R M A T I O N 00716 00717 for (i = 1; i <= 3; ++i) { 00718 for (k = 1; k <= 4; ++k) { 00719 tback[k + (i << 2)] = tran[(i << 2) - 4]*rota[(k << 2) - 4] + 00720 tran[(i << 2) - 3]*rota[(k << 2) - 3] + tran[(i << 2) -2] 00721 *rota[(k << 2) - 2] + tran[(i << 2) - 1]*rota[(k <<2) - 1]; 00722 } 00723 } 00724 }
virtual void BesView::Delete | ( | Option_t * | option | ) | [inline, virtual] |
virtual void BesView::DrawClass | ( | ) | [inline, virtual] |
virtual TObject* BesView::DrawClone | ( | Option_t * | option | ) | [inline, virtual] |
void BesView::DrawLabel | ( | ) | [virtual] |
Definition at line 618 of file BesView.cxx.
References fLabel, fViewType, k3DView, kXYView, and kZRView.
Referenced by SetViewType().
00618 { 00619 // 00620 // Draw label for current view 00621 00622 fLabel->SetX1(-0.9); 00623 fLabel->SetX2(-0.6); 00624 fLabel->SetY1(-0.9); 00625 fLabel->SetY2(-0.78); 00626 00627 switch (fViewType) { 00628 case k3DView: 00629 fLabel->SetLabel("3D View"); 00630 break; 00631 case kXYView: 00632 fLabel->SetLabel("XY View"); 00633 break; 00634 case kZRView: 00635 fLabel->SetLabel("ZR View"); 00636 break; 00637 } 00638 fLabel->Draw("BR,NDC,SAME"); 00639 00640 00641 /* 00642 switch (fViewType) { 00643 case k3DView: 00644 fLabel->DrawPaveLabel(0.02,0.02,0.17,0.09, "3D View", "BR,NDC,SAME"); 00645 break; 00646 case kXYView: 00647 //fLabel->SetLabel("XY View"); 00648 fLabel->DrawPaveLabel(0.02,0.02,0.17,0.09, "XY View", "BR,NDC,SAME"); 00649 break; 00650 case kZRView: 00651 fLabel->DrawPaveLabel(0.02,0.02,0.17,0.09, "ZR View", "BR,NDC,SAME"); 00652 break; 00653 } 00654 */ 00655 }
void BesTView::DrawOutlineCube | ( | TList * | outline, | |
Double_t * | rmin, | |||
Double_t * | rmax | |||
) | [virtual, inherited] |
Definition at line 728 of file BesTView.cxx.
Referenced by BesTView::SetOutlineToCube().
00729 { 00730 // Draw the outline of a cube while rotaing a 3-d object in the pad. 00731 00732 TPolyLine3D::DrawOutlineCube(outline,rmin,rmax); 00733 }
virtual void BesView::Dump | ( | ) | [inline, virtual] |
void BesView::ExecuteEvent | ( | Int_t | event, | |
Int_t | px, | |||
Int_t | py | |||
) | [virtual] |
Reimplemented from BesTView.
Definition at line 365 of file BesView.cxx.
References BesTView::ExecuteRotateView(), fViewType, gBesCursor, BesCursor::GetType(), k3DView, kBesHand, kBesPick, and x.
Referenced by BesPolygon2D::ExecuteEvent(), and BesCircle2D::ExecuteEvent().
00365 { 00366 // 00367 // Execute mouse events 00368 if ( gDebug ) cout << "BesView::ExecuteEvent called" << endl; 00369 00370 // Editor mode 00371 if (gROOT->GetEditorMode()) { 00372 gPad->ExecuteEvent(event,px,py); 00373 return; 00374 } 00375 00376 if (gBesCursor->GetType() == kBesHand) { 00377 00378 gPad->SetCursor(kMove); 00379 static Double_t xmin, ymin, xmax, ymax, x0, y0; 00380 Double_t dx, dy, x, y; 00381 switch (event) { 00382 00383 case kButton1Down: 00384 // Remember position of pointer 00385 xmin = gPad->GetX1(); 00386 ymin = gPad->GetY1(); 00387 xmax = gPad->GetX2(); 00388 ymax = gPad->GetY2(); 00389 x0 = gPad->AbsPixeltoX(px); 00390 y0 = gPad->AbsPixeltoY(py); 00391 break; 00392 00393 case kButton1Motion: 00394 gPad->SetCursor(kMove); 00395 00396 case kButton1Up: 00397 // Set new pad range 00398 x = gPad->AbsPixeltoX(px); 00399 y = gPad->AbsPixeltoY(py); 00400 dx = -(x - x0); 00401 dy = -(y - y0); 00402 //((ZPad*)gPad)->SetNoAspect(kTRUE); 00403 gPad->Range(xmin+dx, ymin+dy, xmax+dx, ymax+dy); 00404 //((ZPad*)gPad)->SetNoAspect(kFALSE); 00405 gPad->Modified(); 00406 break; 00407 00408 default: 00409 gPad->SetCursor(kMove); 00410 } 00411 } 00412 else if (gBesCursor->GetType() == kBesPick){ 00413 00414 gPad->SetCursor(kPointer); 00415 00416 if ( fViewType & k3DView ) { 00417 ExecuteRotateView(event, px, py); 00418 } 00419 } 00420 }
void BesTView::ExecuteRotateView | ( | Int_t | event, | |
Int_t | px, | |||
Int_t | py | |||
) | [virtual, inherited] |
Definition at line 745 of file BesTView.cxx.
References BesTView::fChanged, BesTView::fOutline, BesTView::GetPsi(), BesTView::GetSystem(), BesTView::IsPerspective(), kPOLAR, BesTView::MoveViewCommand(), BesTView::ResetView(), BesTView::SetOutlineToCube(), BesTView::SetView(), and x.
Referenced by ExecuteEvent(), and BesTView::ExecuteEvent().
00746 { 00747 //*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*-*-*-*-*-*-* 00748 //*-* ========================================= * 00749 //*-* This member function is called when a object is clicked with the locator * 00750 //*-* * 00751 //*-* If Left button clicked in the object area, while the button is kept down * 00752 //*-* the cube representing the surrounding frame for the corresponding * 00753 //*-* new latitude and longitude position is drawn. * 00754 //*-* * 00755 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00756 static Int_t system, framewasdrawn; 00757 static Double_t xrange, yrange, xmin, ymin, longitude1, latitude1, longitude2, latitude2; 00758 static Double_t newlatitude, newlongitude, oldlatitude, oldlongitude; 00759 Double_t dlatitude, dlongitude, x, y; 00760 Int_t irep = 0; 00761 Double_t psideg; 00762 00763 // all coordinate transformation are from absolute to relative 00764 00765 if (!gPad->IsEditable()) return; 00766 gPad->AbsCoordinates(kTRUE); 00767 00768 switch (event) { 00769 00770 case kKeyPress : 00771 fChanged = kTRUE; 00772 MoveViewCommand(Char_t(px), py); 00773 break; 00774 00775 case kMouseMotion: 00776 gPad->SetCursor(kRotate); 00777 break; 00778 00779 case kButton1Down: 00780 00781 // remember position of the cube 00782 xmin = gPad->GetX1(); 00783 ymin = gPad->GetY1(); 00784 xrange = gPad->GetX2() - xmin; 00785 yrange = gPad->GetY2() - ymin; 00786 x = gPad->PixeltoX(px); 00787 y = gPad->PixeltoY(py); 00788 system = GetSystem(); 00789 framewasdrawn = 0; 00790 if (system == kCARTESIAN || system == kPOLAR || IsPerspective()) { 00791 longitude1 = 180*(x-xmin)/xrange; 00792 latitude1 = 90*(y-ymin)/yrange; 00793 } else { 00794 latitude1 = 90*(x-xmin)/xrange; 00795 longitude1 = 180*(y-ymin)/yrange; 00796 } 00797 newlongitude = oldlongitude = -90 - gPad->GetPhi(); 00798 newlatitude = oldlatitude = 90 - gPad->GetTheta(); 00799 psideg = GetPsi(); 00800 00801 // if outline isn't set, make it look like a cube 00802 if(!fOutline) 00803 SetOutlineToCube(); 00804 break; 00805 00806 case kButton1Motion: 00807 { 00808 // draw the surrounding frame for the current mouse position 00809 // first: Erase old frame 00810 fChanged = kTRUE; 00811 if (framewasdrawn) fOutline->Paint(); 00812 framewasdrawn = 1; 00813 x = gPad->PixeltoX(px); 00814 y = gPad->PixeltoY(py); 00815 if (system == kCARTESIAN || system == kPOLAR || IsPerspective()) { 00816 longitude2 = 180*(x-xmin)/xrange; 00817 latitude2 = 90*(y-ymin)/yrange; 00818 } else { 00819 latitude2 = 90*(x-xmin)/xrange; 00820 longitude2 = 180*(y-ymin)/yrange; 00821 } 00822 dlongitude = longitude2 - longitude1; 00823 dlatitude = latitude2 - latitude1; 00824 newlatitude = oldlatitude + dlatitude; 00825 newlongitude = oldlongitude - dlongitude; 00826 psideg = GetPsi(); 00827 ResetView(newlongitude, newlatitude, psideg, irep); 00828 fOutline->Paint(); 00829 00830 break; 00831 } 00832 case kButton1Up: 00833 if (gROOT->IsEscaped()) { 00834 gROOT->SetEscape(kFALSE); 00835 break; 00836 } 00837 00838 // Temporary fix for 2D drawing problems on pad. fOutline contains 00839 // a TPolyLine3D object for the rotation box. This will be painted 00840 // through a newly created TViewer3DPad instance, which is left 00841 // behind on pad. This remaining creates 2D drawing problems. 00842 // 00843 // This is a TEMPORARY fix - will be removed when proper multiple viewers 00844 // on pad problems are resolved. 00845 if (gPad) { 00846 TVirtualViewer3D *viewer = gPad->GetViewer3D(); 00847 if (viewer && !strcmp(viewer->IsA()->GetName(),"TView3Der3DPad")) { 00848 gPad->ReleaseViewer3D(); 00849 delete viewer; 00850 } 00851 } 00852 // End fix 00853 00854 // Recompute new view matrix and redraw 00855 psideg = GetPsi(); 00856 SetView(newlongitude, newlatitude, psideg, irep); 00857 gPad->SetPhi(-90-newlongitude); 00858 gPad->SetTheta(90-newlatitude); 00859 gPad->Modified(kTRUE); 00860 00861 // Set line color, style and width 00862 gVirtualX->SetLineColor(-1); 00863 gVirtualX->SetLineStyle(-1); 00864 gVirtualX->SetLineWidth(-1); 00865 break; 00866 } 00867 00868 // set back to default transformation mode 00869 gPad->AbsCoordinates(kFALSE); 00870 }
void BesTView::FindNormal | ( | Double_t | x, | |
Double_t | y, | |||
Double_t | z, | |||
Double_t & | zn | |||
) | [virtual, inherited] |
Definition at line 874 of file BesTView.cxx.
References BesTView::fTN.
Referenced by BesTView::FindThetaSectors().
00875 { 00876 //*-*-*-*-*-*-*Find Z component of NORMAL in normalized coordinates-*-*-*-* 00877 //*-* ==================================================== * 00878 //*-* * 00879 //*-* Input: X - X-component of NORMAL * 00880 //*-* Y - Y-component of NORMAL * 00881 //*-* Z - Z-component of NORMAL * 00882 //*-* * 00883 //*-* Output: ZN - Z-component of NORMAL in normalized coordinates * 00884 //*-* * 00885 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00886 00887 zn = x*(fTN[1] * fTN[6] - fTN[2] * fTN[5]) + y*(fTN[2] * fTN[4] - 00888 fTN[0] * fTN[6]) + z*(fTN[0] * fTN[5] - fTN[1] * fTN[4]); 00889 }
void BesTView::FindPhiSectors | ( | Int_t | iopt, | |
Int_t & | kphi, | |||
Double_t * | aphi, | |||
Int_t & | iphi1, | |||
Int_t & | iphi2 | |||
) | [virtual, inherited] |
Definition at line 892 of file BesTView.cxx.
References BesTView::fTN, genRecEmupikp::i, kRad, phi1, and phi2.
00893 { 00894 //*-*-*-*-*-*-*-*-*-*-*-*-*Find critical PHI sectors*-*-*-*-*-*-*-*-*-*-*-* 00895 //*-* ========================= * 00896 //*-* * 00897 //*-* Input: IOPT - options: 1 - from BACK to FRONT 'BF' * 00898 //*-* 2 - from FRONT to BACK 'FB' * 00899 //*-* KPHI - number of phi sectors * 00900 //*-* APHI(*) - PHI separators (modified internally) * 00901 //*-* * 00902 //*-* Output: IPHI1 - initial sector * 00903 //*-* IPHI2 - final sector * 00904 //*-* * 00905 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00906 00907 Int_t iphi[2], i, k; 00908 Double_t dphi; 00909 Double_t x1, x2, z1, z2, phi1, phi2; 00910 00911 /* Parameter adjustments */ 00912 --aphi; 00913 00914 if (aphi[kphi + 1] == aphi[1]) aphi[kphi + 1] += 360; 00915 dphi = TMath::Abs(aphi[kphi + 1] - aphi[1]); 00916 if (dphi != 360) { 00917 aphi[kphi + 2] = (aphi[1] + aphi[kphi + 1]) / (float)2. + 180; 00918 aphi[kphi + 3] = aphi[1] + 360; 00919 kphi += 2; 00920 } 00921 00922 //*-*- F I N D C R I T I C A L S E C T O R S 00923 00924 k = 0; 00925 for (i = 1; i <= kphi; ++i) { 00926 phi1 = kRad*aphi[i]; 00927 phi2 = kRad*aphi[i + 1]; 00928 x1 = fTN[0]*TMath::Cos(phi1) + fTN[1]*TMath::Sin(phi1); 00929 x2 = fTN[0]*TMath::Cos(phi2) + fTN[1]*TMath::Sin(phi2); 00930 if (x1 >= 0 && x2 > 0) continue; 00931 if (x1 <= 0 && x2 < 0) continue; 00932 ++k; 00933 if (k == 3) break; 00934 iphi[k - 1] = i; 00935 } 00936 if (k != 2) { 00937 Error("FindPhiSectors", "something strange: num. of critical sector not equal 2"); 00938 iphi1 = 1; 00939 iphi2 = 2; 00940 return; 00941 } 00942 00943 //*-*- F I N D O R D E R O F C R I T I C A L S E C T O R S 00944 00945 phi1 = kRad*(aphi[iphi[0]] + aphi[iphi[0] + 1]) / (float)2.; 00946 phi2 = kRad*(aphi[iphi[1]] + aphi[iphi[1] + 1]) / (float)2.; 00947 z1 = fTN[8]*TMath::Cos(phi1) + fTN[9]*TMath::Sin(phi1); 00948 z2 = fTN[8]*TMath::Cos(phi2) + fTN[9]*TMath::Sin(phi2); 00949 if ((z1 <= z2 && iopt == 1) || (z1 > z2 && iopt == 2)) { 00950 iphi1 = iphi[0]; 00951 iphi2 = iphi[1]; 00952 } else { 00953 iphi1 = iphi[1]; 00954 iphi2 = iphi[0]; 00955 } 00956 }
void BesTView::FindScope | ( | Double_t * | scale, | |
Double_t * | center, | |||
Int_t & | irep | |||
) | [virtual, inherited] |
Definition at line 1030 of file BesTView.cxx.
References BesTView::fRmax, BesTView::fRmin, and genRecEmupikp::i.
Referenced by BesTView::ResetView().
01031 { 01032 //*-*-*-*-*-*-*-*Find centre of a MIN-MAX scope and scale factors-*-*-*-*-* 01033 //*-* ================================================ * 01034 //*-* * 01035 //*-* Output: SCALE(3) - scale factors * 01036 //*-* CENTER(3) - centre * 01037 //*-* IREP - reply (-1 if error in min-max) * 01038 //*-* * 01039 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01040 01041 irep = 0; 01042 Double_t sqrt3 = 0.5*TMath::Sqrt(3.0); 01043 01044 for (Int_t i = 0; i < 3; i++) { 01045 if (fRmin[i] >= fRmax[i]) { irep = -1; return;} 01046 scale[i] = sqrt3*(fRmax[i] - fRmin[i]); 01047 center[i] = 0.5*(fRmax[i] + fRmin[i]); 01048 } 01049 }
void BesTView::FindThetaSectors | ( | Int_t | iopt, | |
Double_t | phi, | |||
Int_t & | kth, | |||
Double_t * | ath, | |||
Int_t & | ith1, | |||
Int_t & | ith2 | |||
) | [virtual, inherited] |
Definition at line 959 of file BesTView.cxx.
References BesTView::FindNormal(), BesTView::fTN, genRecEmupikp::i, and kRad.
00960 { 00961 //*-*-*-*-*-*-*-Find critical THETA sectors for given PHI sector*-*-*-*-*-* 00962 //*-* ================================================ * 00963 //*-* * 00964 //*-* Input: IOPT - options: 1 - from BACK to FRONT 'BF' * 00965 //*-* 2 - from FRONT to BACK 'FB' * 00966 //*-* PHI - PHI sector * 00967 //*-* KTH - number of THETA sectors * 00968 //*-* ATH(*) - THETA separators (modified internally) * 00969 //*-* * 00970 //*-* Output: ITH1 - initial sector * 00971 //*-* ITH2 - final sector * 00972 //*-* * 00973 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 00974 00975 Int_t i, k, ith[2]; 00976 Double_t z1, z2, cosphi, sinphi, tncons, th1, th2, dth; 00977 00978 /* Parameter adjustments */ 00979 --ath; 00980 00981 /* Function Body */ 00982 dth = TMath::Abs(ath[kth + 1] - ath[1]); 00983 if (dth != 360) { 00984 ath[kth + 2] = 0.5*(ath[1] + ath[kth + 1]) + 180; 00985 ath[kth + 3] = ath[1] + 360; 00986 kth += 2; 00987 } 00988 00989 //*-*- F I N D C R I T I C A L S E C T O R S 00990 00991 cosphi = TMath::Cos(phi*kRad); 00992 sinphi = TMath::Sin(phi*kRad); 00993 k = 0; 00994 for (i = 1; i <= kth; ++i) { 00995 th1 = kRad*ath[i]; 00996 th2 = kRad*ath[i + 1]; 00997 FindNormal(TMath::Cos(th1)*cosphi, TMath::Cos(th1)*sinphi, -TMath::Sin(th1), z1); 00998 FindNormal(TMath::Cos(th2)*cosphi, TMath::Cos(th2)*sinphi, -TMath::Sin(th2), z2); 00999 if (z1 >= 0 && z2 > 0) continue; 01000 if (z1 <= 0 && z2 < 0) continue; 01001 ++k; 01002 if (k == 3) break; 01003 ith[k - 1] = i; 01004 } 01005 if (k != 2) { 01006 Error("FindThetaSectors", "Something strange: num. of critical sectors not equal 2"); 01007 ith1 = 1; 01008 ith2 = 2; 01009 return; 01010 } 01011 01012 //*-*- F I N D O R D E R O F C R I T I C A L S E C T O R S 01013 01014 tncons = fTN[8]*TMath::Cos(phi*kRad) + fTN[9]*TMath::Sin(phi*kRad); 01015 th1 = kRad*(ath[ith[0]] + ath[ith[0] + 1]) / (float)2.; 01016 th2 = kRad*(ath[ith[1]] + ath[ith[1] + 1]) / (float)2.; 01017 z1 = tncons*TMath::Sin(th1) + fTN[10]*TMath::Cos(th1); 01018 z2 = tncons*TMath::Sin(th2) + fTN[10]*TMath::Cos(th2); 01019 if ((z1 <= z2 && iopt == 1) || (z1 > z2 && iopt == 2)) { 01020 ith1 = ith[0]; 01021 ith2 = ith[1]; 01022 } else { 01023 ith1 = ith[1]; 01024 ith2 = ith[0]; 01025 } 01026 }
virtual void BesView::Front | ( | ) | [inline, virtual] |
Reimplemented from BesTView.
Definition at line 235 of file BesView.h.
References BesTView::Top().
Referenced by Front3D(), BesClient::HandleButtons(), and SetViewType().
00235 { BesTView::Top(); }
void BesView::Front3D | ( | ) | [inline] |
void BesTView::FrontView | ( | TVirtualPad * | pad = 0 |
) | [virtual, inherited] |
Definition at line 1705 of file BesTView.cxx.
References BesTView::RotateView().
Referenced by BesTView::Front().
01706 { 01707 // Set to front view. 01708 RotateView(270.0,90.0,pad); 01709 }
Bool_t BesTView::GetAutoRange | ( | ) | [inline, inherited] |
Definition at line 93 of file BesTView.h.
References BesTView::fAutoRange.
00093 {return fAutoRange;}
Int_t BesTView::GetDistancetoAxis | ( | Int_t | axis, | |
Int_t | px, | |||
Int_t | py, | |||
Double_t & | ratio | |||
) | [virtual, inherited] |
Definition at line 1052 of file BesTView.cxx.
References check_raw_filter::dist, BesTView::fSystem, BesTView::fX1, BesTView::fX2, BesTView::fY1, BesTView::fY2, BesTView::fZ1, BesTView::fZ2, v, and x.
01053 { 01054 //*-*-*-*-*-*-*-*-*-*-*-*-*Return distance to axis from point px,py*-*-*-* 01055 //*-* ======================================== 01056 //*-* 01057 //*-* 01058 //*-* Algorithm: 01059 //*-* 01060 //*-* A(x1,y1) P B(x2,y2) 01061 //*-* ------------------------------------------------ 01062 //*-* I 01063 //*-* I 01064 //*-* I 01065 //*-* I 01066 //*-* M(x,y) 01067 //*-* 01068 //*-* Let us call a = distance AM A=a**2 01069 //*-* b = distance BM B=b**2 01070 //*-* c = distance AB C=c**2 01071 //*-* d = distance PM D=d**2 01072 //*-* u = distance AP U=u**2 01073 //*-* v = distance BP V=v**2 c = u + v 01074 //*-* 01075 //*-* D = A - U 01076 //*-* D = B - V = B -(c-u)**2 01077 //*-* ==> u = (A -B +C)/2c 01078 //*-* 01079 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01080 01081 Double_t x1,y1,x2,y2; 01082 Double_t x = px; 01083 Double_t y = py; 01084 ratio = 0; 01085 01086 if (fSystem != 1) return 9998; // only implemented for Cartesian coordinates 01087 if (axis == 1) { 01088 x1 = gPad->XtoAbsPixel(fX1[0]); 01089 y1 = gPad->YtoAbsPixel(fX1[1]); 01090 x2 = gPad->XtoAbsPixel(fX2[0]); 01091 y2 = gPad->YtoAbsPixel(fX2[1]); 01092 } else if (axis == 2) { 01093 x1 = gPad->XtoAbsPixel(fY1[0]); 01094 y1 = gPad->YtoAbsPixel(fY1[1]); 01095 x2 = gPad->XtoAbsPixel(fY2[0]); 01096 y2 = gPad->YtoAbsPixel(fY2[1]); 01097 } else { 01098 x1 = gPad->XtoAbsPixel(fZ1[0]); 01099 y1 = gPad->YtoAbsPixel(fZ1[1]); 01100 x2 = gPad->XtoAbsPixel(fZ2[0]); 01101 y2 = gPad->YtoAbsPixel(fZ2[1]); 01102 } 01103 Double_t xx1 = x - x1; 01104 Double_t xx2 = x - x2; 01105 Double_t x1x2 = x1 - x2; 01106 Double_t yy1 = y - y1; 01107 Double_t yy2 = y - y2; 01108 Double_t y1y2 = y1 - y2; 01109 Double_t a = xx1*xx1 + yy1*yy1; 01110 Double_t b = xx2*xx2 + yy2*yy2; 01111 Double_t c = x1x2*x1x2 + y1y2*y1y2; 01112 if (c <= 0) return 9999; 01113 Double_t v = TMath::Sqrt(c); 01114 Double_t u = (a - b + c)/(2*v); 01115 Double_t d = TMath::Abs(a - u*u); 01116 01117 Int_t dist = Int_t(TMath::Sqrt(d) - 0.5); 01118 ratio = u/v; 01119 return dist; 01120 }
Double_t BesTView::GetDproj | ( | ) | const [inline, inherited] |
Double_t BesTView::GetDview | ( | ) | const [inline, inherited] |
Double_t BesTView::GetExtent | ( | ) | const [inherited] |
Definition at line 1123 of file BesTView.cxx.
References BesTView::fRmax, and BesTView::fRmin.
Referenced by GetZoomRatio(), BesTView::SetDefaultWindow(), BesTView::ZoomIn(), and BesTView::ZoomOut().
01124 { 01125 //*-*-*-*-*-*-*-*-*-*-*-*-*-*Get maximum view extent-*-*-*-*-*-*-*-*-*-*-*-*-* 01126 //*-* ======================= 01127 //*-* 01128 Double_t dx = 0.5*(fRmax[0]-fRmin[0]); 01129 Double_t dy = 0.5*(fRmax[1]-fRmin[1]); 01130 Double_t dz = 0.5*(fRmax[2]-fRmin[2]); 01131 Double_t extent = TMath::Sqrt(dx*dx+dy*dy+dz*dz); 01132 return extent; 01133 }
Bool_t BesView::GetFishEye | ( | ) | [inline] |
Definition at line 220 of file BesView.h.
References fFishEye.
Referenced by BesClient::HandleButtons(), and BesClient::UpdateStatus().
00220 { return fFishEye; }
Bool_t BesView::GetFishEyeStatus | ( | ) | [inline] |
Definition at line 219 of file BesView.h.
References BesStatus::fFishEye, and fStatusCurrent.
Referenced by BesClient::UpdateStatus().
00219 { return fStatusCurrent->fFishEye; }
Double_t BesTView::GetLatitude | ( | ) | [inline, inherited] |
Definition at line 94 of file BesTView.h.
References BesTView::fLatitude.
Referenced by BesClient::ExecuteReturn(), BesClient::HandleSliders(), BesClient::RotatePhi(), BesClient::RotatePsi(), BesClient::RotateTheta(), and BesClient::UpdateBesInputFields().
00094 {return fLatitude;}
Double_t BesTView::GetLongitude | ( | ) | [inline, inherited] |
Definition at line 95 of file BesTView.h.
References BesTView::fLongitude.
Referenced by BesClient::ExecuteReturn(), BesClient::HandleSliders(), Tof2DScin::HasZRSection(), Mdc2DWire::HasZRSection(), Emc2DCrystal::HasZRSection(), Emc2DCrystal::IsSideVisible(), Muc2DStrip::IsZRVisible(), MucROOTGeo::IsZRVisible(), BesPolygon2D::Paint(), BesGeoTrack::Paint(), BesClient::RotatePhi(), BesClient::RotatePsi(), BesClient::RotateTheta(), and BesClient::UpdateBesInputFields().
00095 {return fLongitude;}
Float_t BesView::GetMarkerSize | ( | ) | [inline] |
Definition at line 66 of file BesView.h.
References fMarkerSize.
Referenced by BesMarker2D::Paint().
00066 { return fMarkerSize;}
char * BesView::GetObjectInfo | ( | Int_t | px, | |
Int_t | py | |||
) | const [virtual] |
Definition at line 800 of file BesView.cxx.
References fViewType, kZRView, and NDCtoWC().
Referenced by BesClient::ExecuteEvent(), Tof2DScin::GetObjectInfo(), Muc2DStrip::GetObjectInfo(), Mdc2DWire::GetObjectInfo(), Emc2DCrystal::GetObjectInfo(), BesPolygon2D::GetObjectInfo(), BesMarker2D::GetObjectInfo(), BesGeoTrack::GetObjectInfo(), and BesCircle2D::GetObjectInfo().
00800 { 00801 // 00802 // Returns string containing info about the object at position (px,py). 00803 Double_t pw[3]; 00804 Double_t Pndc[3] = { gPad->AbsPixeltoX(px), gPad->AbsPixeltoY(py), 0}; 00805 ((BesView*)gPad->GetView())->NDCtoWC(Pndc, pw); 00806 //cout << gPad->GetName() << endl; 00807 00808 // 00809 // Converts from pixel coordinates to world 00810 // coordinates of according view 00811 00812 static char info[64]; 00813 if ( fViewType & kZRView ) { 00814 sprintf(info, "z=%-.3fmm, r=%-.3fmm", pw[2], pw[1]); 00815 return info; 00816 } else { 00817 sprintf(info, "x=%-.3fmm, y=%-.3fmm", pw[0], pw[1]); 00818 return info; 00819 } 00820 }
TSeqCollection* BesTView::GetOutline | ( | ) | [inline, inherited] |
Double_t BesTView::GetPsi | ( | ) | [inline, inherited] |
Definition at line 96 of file BesTView.h.
References BesTView::fPsi.
Referenced by BesTView::ExecuteRotateView(), BesClient::HandleSliders(), BesClient::RotatePhi(), BesClient::RotatePsi(), BesClient::RotateTheta(), and BesClient::UpdateBesInputFields().
00096 {return fPsi;}
void BesTView::GetRange | ( | Double_t * | min, | |
Double_t * | max | |||
) | [virtual, inherited] |
Definition at line 1147 of file BesTView.cxx.
References BesTView::fRmax, BesTView::fRmin, and genRecEmupikp::i.
01148 { 01149 // Get Range function. 01150 01151 for (Int_t i = 0; i < 3; max[i] = fRmax[i], min[i] = fRmin[i], i++) { } 01152 }
void BesTView::GetRange | ( | Float_t * | min, | |
Float_t * | max | |||
) | [virtual, inherited] |
Definition at line 1137 of file BesTView.cxx.
References BesTView::fRmax, BesTView::fRmin, and genRecEmupikp::i.
Referenced by BesTView::AdjustScales(), BesTView::Centered3DImages(), Muc2DStrip::Paint(), BesTView::SetRange(), and BesTView::ZoomView().
01138 { 01139 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Get Range function-*-*-*-*-*-*-*-*-*-*-*-*-* 01140 //*-* ================== 01141 //*-* 01142 for (Int_t i = 0; i < 3; max[i] = fRmax[i], min[i] = fRmin[i], i++); 01143 }
Double_t* BesTView::GetRmax | ( | ) | [inline, inherited] |
Double_t* BesTView::GetRmin | ( | ) | [inline, inherited] |
Int_t BesView::GetRSign | ( | Float_t | Phi | ) | [virtual] |
Definition at line 562 of file BesView.cxx.
References fPhiRangeMax, BesStatus::fPhiRangeMin, and fStatusCurrent.
Referenced by ZHelix::SetPoints().
00562 { 00563 // 00564 // Get sign of the R coordinate (ZR view) 00565 // for a given phi (in radians) 00566 Int_t Sign; 00567 00568 // Convert to deg, because phi range is given in degrees 00569 Float_t Phi2 = (Phi - 2*TMath::Pi()*Int_t(Phi/(2*TMath::Pi()))) 00570 * 180./TMath::Pi(); 00571 if ( Phi2 < 0 ) Phi2 += 360; 00572 if ( Phi2 >= fStatusCurrent->fPhiRangeMin && Phi2 < fStatusCurrent->fPhiRangeMax ) { 00573 Sign = 1; 00574 } else { 00575 Sign = -1; 00576 } 00577 return Sign; 00578 }
BesStatus* BesView::GetStatus3D | ( | ) | [inline] |
Definition at line 256 of file BesView.h.
References fStatus3D.
Referenced by BesClient::SaveMyConfig().
00256 { return fStatus3D; };
BesStatus* BesView::GetStatusCurrent | ( | ) | [inline] |
Definition at line 255 of file BesView.h.
References fStatusCurrent.
Referenced by BesClient::LoadMyConfig(), and BesClient::UpdateStatus().
00255 { return fStatusCurrent; };
BesStatus* BesView::GetStatusXY | ( | ) | [inline] |
Definition at line 257 of file BesView.h.
References fStatusXY.
Referenced by BesClient::SaveMyConfig().
00257 { return fStatusXY; };
BesStatus* BesView::GetStatusZR | ( | ) | [inline] |
Definition at line 258 of file BesView.h.
References fStatusZR.
Referenced by BesClient::SaveMyConfig().
00258 { return fStatusZR; };
Int_t BesTView::GetSystem | ( | ) | [inline, inherited] |
Definition at line 105 of file BesTView.h.
References BesTView::fSystem.
Referenced by BesTView::ExecuteRotateView().
00105 {return fSystem;}
Double_t* BesTView::GetTback | ( | ) | [inline, inherited] |
Double_t* BesTView::GetTN | ( | ) | [inline, inherited] |
Double_t* BesTView::GetTnorm | ( | ) | [inline, inherited] |
EBESViewType BesView::GetViewType | ( | ) | [inline] |
Definition at line 65 of file BesView.h.
References fViewType.
Referenced by Tof2DScin::DistancetoPrimitive(), Muc2DStrip::DistancetoPrimitive(), Mdc2DWire::DistancetoPrimitive(), Emc2DCrystal::DistancetoPrimitive(), BesGeoTrack::Draw(), BesGeometry::Draw3D(), BesClient::ExecuteReturn(), BesClient::GoHome(), BesClient::HandleButtons(), BesClient::HandleSliders(), Tof2DScin::Paint(), Muc2DStrip::Paint(), Mdc2DWire::Paint(), Emc2DCrystal::Paint(), BesClient::SetHome(), and BesClient::X3D().
00065 { return fViewType; }
Bool_t BesView::GetVisAxis | ( | ) | [inline] |
Definition at line 155 of file BesView.h.
References BesStatus::fAxis, and fStatusCurrent.
Referenced by BesGeometry::Draw2DXY(), BesGeometry::Draw2DZR(), BesClient::HandleButtons(), and BesClient::UpdateStatus().
00155 { return fStatusCurrent->fAxis; }
Bool_t BesView::GetVisBeamPipe | ( | ) | [inline] |
Definition at line 153 of file BesView.h.
References BesStatus::fBeamPipe, and fStatusCurrent.
Referenced by BesGeometry::Draw2DXY(), BesGeometry::Draw2DZR(), and BesClient::UpdateStatus().
00153 { return fStatusCurrent->fBeamPipe; }
Bool_t BesView::GetVisEmcBarrel | ( | ) | [inline] |
Definition at line 118 of file BesView.h.
References BesStatus::fEmcBarrel, and fStatusCurrent.
Referenced by EmcROOTGeo::Draw(), EmcROOTGeo::SetVisEmcDetector(), and BesClient::UpdateStatus().
00118 { return fStatusCurrent->fEmcBarrel; }
Bool_t BesView::GetVisEmcEast | ( | ) | [inline] |
Definition at line 117 of file BesView.h.
References BesStatus::fEmcEast, and fStatusCurrent.
Referenced by EmcROOTGeo::Draw(), EmcROOTGeo::SetVisEmcDetector(), and BesClient::UpdateStatus().
00117 { return fStatusCurrent->fEmcEast; }
Bool_t BesView::GetVisEmcGlobal | ( | ) | [inline] |
Definition at line 116 of file BesView.h.
References BesStatus::fEmcGlobal, and fStatusCurrent.
Referenced by EmcROOTGeo::Draw(), EmcROOTGeo::SetVisEmcDetector(), and BesClient::UpdateStatus().
00116 { return fStatusCurrent->fEmcGlobal; }
Bool_t BesView::GetVisEmcHitsBarrel | ( | ) | [inline] |
Definition at line 182 of file BesView.h.
References BesStatus::fEmcHitsBarrel, and fStatusCurrent.
Referenced by EmcROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Emc2DCrystal::Paint(), EmcROOTGeo::SetVisEmcHits(), and BesClient::UpdateStatus().
00182 { return fStatusCurrent->fEmcHitsBarrel; }
Bool_t BesView::GetVisEmcHitsEast | ( | ) | [inline] |
Definition at line 181 of file BesView.h.
References BesStatus::fEmcHitsEast, and fStatusCurrent.
Referenced by EmcROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Emc2DCrystal::Paint(), EmcROOTGeo::SetVisEmcHits(), and BesClient::UpdateStatus().
00181 { return fStatusCurrent->fEmcHitsEast; }
Bool_t BesView::GetVisEmcHitsGlobal | ( | ) | [inline] |
Definition at line 180 of file BesView.h.
References BesStatus::fEmcHitsGlobal, and fStatusCurrent.
Referenced by EmcROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Emc2DCrystal::Paint(), EmcROOTGeo::SetVisEmcHits(), and BesClient::UpdateStatus().
00180 { return fStatusCurrent->fEmcHitsGlobal; }
Bool_t BesView::GetVisEmcHitsSide | ( | ) | [inline] |
Definition at line 184 of file BesView.h.
References BesStatus::fEmcHitsSide, and fStatusCurrent.
Referenced by Emc2DCrystal::DistancetoPrimitive(), Emc2DCrystal::Paint(), and BesClient::UpdateStatus().
00184 { return fStatusCurrent->fEmcHitsSide; }
Bool_t BesView::GetVisEmcHitsWest | ( | ) | [inline] |
Definition at line 183 of file BesView.h.
References BesStatus::fEmcHitsWest, and fStatusCurrent.
Referenced by EmcROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Emc2DCrystal::Paint(), EmcROOTGeo::SetVisEmcHits(), and BesClient::UpdateStatus().
00183 { return fStatusCurrent->fEmcHitsWest; }
Bool_t BesView::GetVisEmcSide | ( | ) | [inline] |
Definition at line 120 of file BesView.h.
References BesStatus::fEmcSide, and fStatusCurrent.
Referenced by Emc2DCrystal::DistancetoPrimitive(), Emc2DCrystal::Paint(), and BesClient::UpdateStatus().
00120 { return fStatusCurrent->fEmcSide; }
Bool_t BesView::GetVisEmcWest | ( | ) | [inline] |
Definition at line 119 of file BesView.h.
References BesStatus::fEmcWest, and fStatusCurrent.
Referenced by EmcROOTGeo::Draw(), EmcROOTGeo::SetVisEmcDetector(), and BesClient::UpdateStatus().
00119 { return fStatusCurrent->fEmcWest; }
Bool_t BesView::GetVisFull3DEmc | ( | ) | [inline] |
Definition at line 144 of file BesView.h.
References BesStatus::fFull3DEmc, and fStatusCurrent.
Referenced by EmcROOTGeo::SetDetector(), and BesClient::UpdateStatus().
00144 { return fStatusCurrent->fFull3DEmc; }
Bool_t BesView::GetVisFull3DMdc | ( | ) | [inline] |
Definition at line 142 of file BesView.h.
References BesStatus::fFull3DMdc, and fStatusCurrent.
Referenced by MdcROOTGeo::SetDetector(), and BesClient::UpdateStatus().
00142 { return fStatusCurrent->fFull3DMdc; }
Bool_t BesView::GetVisFull3DMuc | ( | ) | [inline] |
Definition at line 145 of file BesView.h.
References BesStatus::fFull3DMuc, and fStatusCurrent.
Referenced by MucROOTGeo::SetDetector(), and BesClient::UpdateStatus().
00145 { return fStatusCurrent->fFull3DMuc; }
Bool_t BesView::GetVisFull3DTof | ( | ) | [inline] |
Definition at line 143 of file BesView.h.
References BesStatus::fFull3DTof, and fStatusCurrent.
Referenced by TofROOTGeo::SetDetector(), and BesClient::UpdateStatus().
00143 { return fStatusCurrent->fFull3DTof; }
Bool_t BesView::GetVisMdcGlobal | ( | ) | [inline] |
Definition at line 94 of file BesView.h.
References BesStatus::fMdcGlobal, and fStatusCurrent.
Referenced by MdcROOTGeo::Draw(), MdcROOTGeo::SetVisMdcDetector(), and BesClient::UpdateStatus().
00094 { return fStatusCurrent->fMdcGlobal; }
Bool_t BesView::GetVisMdcHits | ( | ) | [inline] |
Definition at line 163 of file BesView.h.
References BesStatus::fMdcHits, and fStatusCurrent.
Referenced by MdcROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), and BesClient::UpdateStatus().
00163 { return fStatusCurrent->fMdcHits; }
Bool_t BesView::GetVisMdcHitsGlobal | ( | ) | [inline] |
Definition at line 162 of file BesView.h.
References BesStatus::fMdcHitsGlobal, and fStatusCurrent.
Referenced by MdcROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), MdcROOTGeo::SetVisMdcHits(), and BesClient::UpdateStatus().
00162 { return fStatusCurrent->fMdcHitsGlobal; }
Bool_t BesView::GetVisMdcTubes | ( | ) | [inline] |
Definition at line 95 of file BesView.h.
References BesStatus::fMdcTubes, and fStatusCurrent.
Referenced by MdcROOTGeo::Draw(), MdcROOTGeo::DrawHits(), and BesClient::UpdateStatus().
00095 { return fStatusCurrent->fMdcTubes; }
Bool_t BesView::GetVisMdcWires | ( | ) | [inline] |
Definition at line 96 of file BesView.h.
References BesStatus::fMdcWires, and fStatusCurrent.
Referenced by MdcROOTGeo::Draw(), Mdc2DWire::ExecuteEvent(), and BesClient::UpdateStatus().
00096 { return fStatusCurrent->fMdcWires; }
Bool_t BesView::GetVisMucBarrel | ( | ) | [inline] |
Definition at line 131 of file BesView.h.
References BesStatus::fMucBarrel, and fStatusCurrent.
Referenced by MucROOTGeo::Draw(), MucROOTGeo::SetVisMucDetector(), and BesClient::UpdateStatus().
00131 { return fStatusCurrent->fMucBarrel; }
Bool_t BesView::GetVisMucEast | ( | ) | [inline] |
Definition at line 130 of file BesView.h.
References BesStatus::fMucEast, and fStatusCurrent.
Referenced by MucROOTGeo::Draw(), MucROOTGeo::SetVisMucDetector(), and BesClient::UpdateStatus().
00130 { return fStatusCurrent->fMucEast; }
Bool_t BesView::GetVisMucGlobal | ( | ) | [inline] |
Definition at line 129 of file BesView.h.
References BesStatus::fMucGlobal, and fStatusCurrent.
Referenced by MucROOTGeo::Draw(), MucROOTGeo::SetVisMucDetector(), and BesClient::UpdateStatus().
00129 { return fStatusCurrent->fMucGlobal; }
Bool_t BesView::GetVisMucHitsBarrel | ( | ) | [inline] |
Definition at line 195 of file BesView.h.
References BesStatus::fMucHitsBarrel, and fStatusCurrent.
Referenced by MucROOTGeo::DrawHits(), Muc2DStrip::Paint(), MucROOTGeo::SetVisMucHits(), and BesClient::UpdateStatus().
00195 { return fStatusCurrent->fMucHitsBarrel; }
Bool_t BesView::GetVisMucHitsEast | ( | ) | [inline] |
Definition at line 194 of file BesView.h.
References BesStatus::fMucHitsEast, and fStatusCurrent.
Referenced by MucROOTGeo::DrawHits(), Muc2DStrip::Paint(), MucROOTGeo::SetVisMucHits(), and BesClient::UpdateStatus().
00194 { return fStatusCurrent->fMucHitsEast; }
Bool_t BesView::GetVisMucHitsGlobal | ( | ) | [inline] |
Definition at line 193 of file BesView.h.
References BesStatus::fMucHitsGlobal, and fStatusCurrent.
Referenced by Muc2DStrip::DistancetoPrimitive(), MucROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Muc2DStrip::Paint(), MucROOTGeo::SetVisMucHits(), and BesClient::UpdateStatus().
00193 { return fStatusCurrent->fMucHitsGlobal; }
Bool_t BesView::GetVisMucHitsWest | ( | ) | [inline] |
Definition at line 196 of file BesView.h.
References BesStatus::fMucHitsWest, and fStatusCurrent.
Referenced by MucROOTGeo::DrawHits(), Muc2DStrip::Paint(), MucROOTGeo::SetVisMucHits(), and BesClient::UpdateStatus().
00196 { return fStatusCurrent->fMucHitsWest; }
Bool_t BesView::GetVisMucStrips | ( | ) | [inline] |
Definition at line 133 of file BesView.h.
References BesStatus::fMucStrips, and fStatusCurrent.
Referenced by Muc2DStrip::DistancetoPrimitive(), Muc2DStrip::Paint(), and BesClient::UpdateStatus().
00133 { return fStatusCurrent->fMucStrips; }
Bool_t BesView::GetVisMucWest | ( | ) | [inline] |
Definition at line 132 of file BesView.h.
References BesStatus::fMucWest, and fStatusCurrent.
Referenced by MucROOTGeo::Draw(), MucROOTGeo::SetVisMucDetector(), and BesClient::UpdateStatus().
00132 { return fStatusCurrent->fMucWest; }
Bool_t BesView::GetVisTofBarrel | ( | ) | [inline] |
Definition at line 105 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofBarrel.
Referenced by TofROOTGeo::Draw(), TofROOTGeo::SetVisTofDetector(), and BesClient::UpdateStatus().
00105 { return fStatusCurrent->fTofBarrel; }
Bool_t BesView::GetVisTofEast | ( | ) | [inline] |
Definition at line 104 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofEast.
Referenced by TofROOTGeo::Draw(), TofROOTGeo::SetVisTofDetector(), and BesClient::UpdateStatus().
00104 { return fStatusCurrent->fTofEast; }
Bool_t BesView::GetVisTofGlobal | ( | ) | [inline] |
Definition at line 103 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofGlobal.
Referenced by TofROOTGeo::Draw(), TofROOTGeo::SetVisTofDetector(), and BesClient::UpdateStatus().
00103 { return fStatusCurrent->fTofGlobal; }
Bool_t BesView::GetVisTofHitsBarrel | ( | ) | [inline] |
Definition at line 171 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsBarrel.
Referenced by TofROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Tof2DScin::Paint(), TofROOTGeo::SetVisTofHits(), and BesClient::UpdateStatus().
00171 { return fStatusCurrent->fTofHitsBarrel; }
Bool_t BesView::GetVisTofHitsEast | ( | ) | [inline] |
Definition at line 170 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsEast.
Referenced by TofROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Tof2DScin::Paint(), TofROOTGeo::SetVisTofHits(), and BesClient::UpdateStatus().
00170 { return fStatusCurrent->fTofHitsEast; }
Bool_t BesView::GetVisTofHitsGlobal | ( | ) | [inline] |
Definition at line 169 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsGlobal.
Referenced by TofROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Tof2DScin::Paint(), TofROOTGeo::SetVisTofHits(), and BesClient::UpdateStatus().
00169 { return fStatusCurrent->fTofHitsGlobal; }
Bool_t BesView::GetVisTofHitsWest | ( | ) | [inline] |
Definition at line 172 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsWest.
Referenced by TofROOTGeo::DrawHits(), BesGeoTrack::ExecuteEvent(), Tof2DScin::Paint(), TofROOTGeo::SetVisTofHits(), and BesClient::UpdateStatus().
00172 { return fStatusCurrent->fTofHitsWest; }
Bool_t BesView::GetVisTofWest | ( | ) | [inline] |
Definition at line 106 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofWest.
Referenced by TofROOTGeo::Draw(), TofROOTGeo::SetVisTofDetector(), and BesClient::UpdateStatus().
00106 { return fStatusCurrent->fTofWest; }
Bool_t BesView::GetVisTracksEmc | ( | ) | [inline] |
Definition at line 207 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksEmc.
Referenced by BesEvent::DrawTracks(), and BesClient::UpdateStatus().
00207 { return fStatusCurrent->fTracksEmc; }
Bool_t BesView::GetVisTracksExt | ( | ) | [inline] |
Definition at line 209 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksExt.
Referenced by BesEvent::DrawTracks(), and BesClient::UpdateStatus().
00209 { return fStatusCurrent->fTracksExt; }
Bool_t BesView::GetVisTracksGlobal | ( | ) | [inline] |
Definition at line 204 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksGlobal.
Referenced by BesEvent::DrawTracks(), and BesClient::UpdateStatus().
00204 { return fStatusCurrent->fTracksGlobal; }
Bool_t BesView::GetVisTracksMdc | ( | ) | [inline] |
Definition at line 205 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksMdc.
Referenced by BesEvent::DrawTracks(), and BesClient::UpdateStatus().
00205 { return fStatusCurrent->fTracksMdc; }
Bool_t BesView::GetVisTracksMuc | ( | ) | [inline] |
Definition at line 208 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksMuc.
Referenced by BesEvent::DrawTracks(), and BesClient::UpdateStatus().
00208 { return fStatusCurrent->fTracksMuc; }
Bool_t BesView::GetVisTracksTof | ( | ) | [inline] |
Definition at line 206 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksTof.
Referenced by BesEvent::DrawTracks(), and BesClient::UpdateStatus().
00206 { return fStatusCurrent->fTracksTof; }
Float_t BesView::GetVisZoom | ( | ) | [inline] |
Definition at line 107 of file BesView.h.
References fStatusCurrent, and BesStatus::fZoom.
00107 { return fStatusCurrent->fZoom; }
Bool_t BesView::GetVisZRPlaneOnXY | ( | ) | [inline] |
Definition at line 154 of file BesView.h.
References fStatusCurrent, and BesStatus::fZRPlaneOnXY.
Referenced by BesGeometry::Draw2DXY(), and BesClient::UpdateStatus().
00154 { return fStatusCurrent->fZRPlaneOnXY; }
void BesTView::GetWindow | ( | Double_t & | u0, | |
Double_t & | v0, | |||
Double_t & | du, | |||
Double_t & | dv | |||
) | const [inherited] |
Definition at line 1155 of file BesTView.cxx.
References BesTView::fUVcoord.
01156 { 01157 // Get current window extent. 01158 u0 = fUVcoord[0]; 01159 v0 = fUVcoord[1]; 01160 du = fUVcoord[2]; 01161 dv = fUVcoord[3]; 01162 }
Double_t BesTView::GetWindowHeight | ( | ) | const [inline, inherited] |
Double_t BesTView::GetWindowWidth | ( | ) | const [inline, inherited] |
virtual Double_t BesView::GetZoomFactor | ( | ) | [inline, virtual] |
Double_t BesView::GetZoomRatio | ( | ) | [inline] |
Definition at line 64 of file BesView.h.
References fExtentDefault, and BesTView::GetExtent().
Referenced by BesClient::UpdateBesInputFields(), ZoomIn(), and ZoomOut().
00064 { return fExtentDefault/GetExtent(); }
virtual void BesView::Inspect | ( | ) | [inline, virtual] |
Bool_t BesTView::IsClippedNDC | ( | Double_t * | p | ) | const [inherited] |
Definition at line 1165 of file BesTView.cxx.
01166 { 01167 //*-*-*-*-*-*-*Check if point is clipped in perspective view-*-*-*-*-*-*-*-* 01168 //*-* ============================================= 01169 //*-* 01170 if (TMath::Abs(p[0])>p[2]) return kTRUE; 01171 if (TMath::Abs(p[1])>p[2]) return kTRUE; 01172 return kFALSE; 01173 }
Bool_t BesTView::IsPerspective | ( | ) | const [inline, inherited] |
Definition at line 113 of file BesTView.h.
References BesTView::kPerspective.
Referenced by BesTView::DefineViewDirection(), BesTView::ExecuteRotateView(), BesClient::HandleButtons(), BesTView::MoveFocus(), BesTView::MoveWindow(), BesTView::ResetView(), BesTView::ResizePad(), BesTView::SetParallel(), BesTView::SetPerspective(), BesTView::SetRange(), SetViewType(), BesClient::UpdateStatus(), BesTView::WCtoNDC(), BesTView::ZoomIn(), and BesTView::ZoomOut().
00113 {return TestBit(kPerspective);}
Bool_t BesTView::IsViewChanged | ( | ) | const [inline, inherited] |
void BesView::Move | ( | Int_t | px, | |
Int_t | py | |||
) |
Definition at line 424 of file BesView.cxx.
References x.
Referenced by BesClient::ExecuteEvent(), and BesClient::HandleButtons().
00424 { 00425 00426 /* 00427 Double_t p[3], pw[3]; 00428 for (Int_t i = 0; i < 3; i++) { 00429 pw[i] = 0.5*(fRmin[i]+fRmax[i]); 00430 } 00431 cout << "pw " << pw[0] << " " << pw[1] << " " << pw[2] << endl; 00432 WCtoNDC(pw, p); 00433 cout << "p " << p[0] << " " << p[1] << " " << p[2] << endl; 00434 00435 p[0] += (gPad->PixeltoX(0) - gPad->PixeltoX(px)); 00436 p[1] += (gPad->PixeltoY(0) - gPad->PixeltoY(py)); 00437 cout << "p " << p[0] << " " << p[1] << " " << p[2] << endl; 00438 NDCtoWC(p, pw); 00439 cout << "pw " << pw[0] << " " << pw[1] << " " << pw[2] << endl; 00440 00441 MoveFocus(&pw[0], fRmax[0]-fRmin[0], fRmax[1]-fRmin[1], fRmax[2]-fRmin[2]); 00442 gPad->Modified(); 00443 gPad->Update(); 00444 */ 00445 00446 // 00447 // Move (px, py in pixel coordinates) 00448 Double_t x1, y1, x2, y2, dx, dy, x, y, x0, y0; 00449 x1 = gPad->GetX1(); 00450 y1 = gPad->GetY1(); 00451 x2 = gPad->GetX2(); 00452 y2 = gPad->GetY2(); 00453 x0 = gPad->PixeltoX(0); 00454 y0 = gPad->PixeltoY(0); 00455 x = gPad->PixeltoX(px); 00456 y = gPad->PixeltoY(py); 00457 dx = -(x - x0); 00458 dy = -(y - y0); 00459 00460 gPad->Range(x1+dx, y1+dy, x2+dx, y2+dy); 00461 gPad->Modified(); 00462 }
void BesTView::MoveFocus | ( | Double_t * | center, | |
Double_t | dx, | |||
Double_t | dy, | |||
Double_t | dz, | |||
Int_t | nsteps = 10 , |
|||
Double_t | dlong = 0 , |
|||
Double_t | dlat = 0 , |
|||
Double_t | dpsi = 0 | |||
) | [inherited] |
Definition at line 1798 of file BesTView.cxx.
References BesTView::DefinePerspectiveView(), BesTView::fLatitude, BesTView::fLongitude, BesTView::fPsi, BesTView::fRmax, genRecEmupikp::i, BesTView::IsPerspective(), ganga-rec::j, and BesTView::SetDefaultWindow().
01800 { 01801 // Move focus to a different box position and extent in nsteps. Perform rotation 01802 // with dlat,dlong,dpsi at each step. 01803 if (!IsPerspective()) return; 01804 if (nsteps<1) return; 01805 Double_t fc = 1./Double_t(nsteps); 01806 Double_t oc[3], od[3], dir[3]; 01807 dir[0] = 0; 01808 dir[1] = 0; 01809 dir[2] = 1.; 01810 Int_t i, j; 01811 for (i=0; i<3; i++) { 01812 oc[i] = 0.5*(fRmin[i]+fRmax[i]); 01813 od[i] = 0.5*(fRmax[i]-fRmin[i]); 01814 } 01815 Double_t dox = cov[0]-oc[0]; 01816 Double_t doy = cov[1]-oc[1]; 01817 Double_t doz = cov[2]-oc[2]; 01818 01819 Double_t dd = TMath::Sqrt(dox*dox+doy*doy+doz*doz); 01820 if (dd!=0) {; 01821 dir[0] = dox/dd; 01822 dir[1] = doy/dd; 01823 dir[2] = doz/dd; 01824 } 01825 dd *= fc; 01826 dox = fc*(dx-od[0]); 01827 doy = fc*(dy-od[1]); 01828 doz = fc*(dz-od[2]); 01829 for (i=0; i<nsteps; i++) { 01830 oc[0] += dd*dir[0]; 01831 oc[1] += dd*dir[1]; 01832 oc[2] += dd*dir[2]; 01833 od[0] += dox; 01834 od[1] += doy; 01835 od[2] += doz; 01836 for (j=0; j<3; j++) { 01837 fRmin[j] = oc[j]-od[j]; 01838 fRmax[j] = oc[j]+od[j]; 01839 } 01840 SetDefaultWindow(); 01841 fLatitude += dlat; 01842 fLongitude += dlong; 01843 fPsi += dpsi; 01844 DefinePerspectiveView(); 01845 if (gPad) { 01846 gPad->Modified(); 01847 gPad->Update(); 01848 } 01849 } 01850 }
void BesTView::MoveViewCommand | ( | Char_t | chCode, | |
Int_t | count = 1 | |||
) | [virtual, inherited] |
Definition at line 1853 of file BesTView.cxx.
References BesTView::MoveWindow(), BesTView::UnzoomView(), BesTView::ZoomIn(), BesTView::ZoomOut(), and BesTView::ZoomView().
Referenced by BesTView::ExecuteRotateView().
01854 { 01855 // 01856 //*-* 'a' //*-* increase scale factor (clip cube borders) 01857 //*-* 's' //*-* decrease scale factor (clip cube borders) 01858 // 01859 if (count <= 0) count = 1; 01860 switch (option) { 01861 case '+': 01862 ZoomView(); 01863 break; 01864 case '-': 01865 UnzoomView(); 01866 break; 01867 case 's': 01868 case 'S': 01869 UnzoomView(); 01870 break; 01871 case 'a': 01872 case 'A': 01873 ZoomView(); 01874 break; 01875 case 'l': 01876 case 'L': 01877 case 'h': 01878 case 'H': 01879 case 'u': 01880 case 'U': 01881 case 'i': 01882 case 'I': 01883 MoveWindow(option); 01884 break; 01885 case 'j': 01886 case 'J': 01887 ZoomIn(); 01888 break; 01889 case 'k': 01890 case 'K': 01891 ZoomOut(); 01892 break; 01893 default: 01894 break; 01895 } 01896 }
void BesTView::MoveWindow | ( | Char_t | option | ) | [inherited] |
Definition at line 1899 of file BesTView.cxx.
References BesTView::DefinePerspectiveView(), BesTView::fUVcoord, and BesTView::IsPerspective().
Referenced by BesTView::MoveViewCommand().
01900 { 01901 // Move view window : 01902 // l,L - left 01903 // h,H - right 01904 // u,U - down 01905 // i,I - up 01906 if (!IsPerspective()) return; 01907 Double_t shiftu = 0.1*fUVcoord[2]; 01908 Double_t shiftv = 0.1*fUVcoord[3]; 01909 switch (option) { 01910 case 'l': 01911 case 'L': 01912 fUVcoord[0] += shiftu; 01913 break; 01914 case 'h': 01915 case 'H': 01916 fUVcoord[0] -= shiftu; 01917 break; 01918 case 'u': 01919 case 'U': 01920 fUVcoord[1] += shiftv; 01921 break; 01922 case 'i': 01923 case 'I': 01924 fUVcoord[1] -= shiftv; 01925 break; 01926 default: 01927 return; 01928 } 01929 DefinePerspectiveView(); 01930 if (gPad) { 01931 gPad->Modified(); 01932 gPad->Update(); 01933 } 01934 }
void BesView::NDCtoWC | ( | const Double_t * | pn, | |
Double_t * | pw | |||
) | [virtual] |
Reimplemented from BesTView.
Definition at line 757 of file BesView.cxx.
References BesStatus::fFishEye, fStatusCurrent, fViewType, kZRView, BesTView::NDCtoWC(), and BesTView::WCtoNDC().
00757 { 00758 // 00759 // Transform back from NDCs 00760 Double_t p[3]; 00761 p[0] = pn[0]; 00762 p[1] = pn[1]; 00763 p[2] = pn[2]; 00764 00765 if ( fStatusCurrent->fFishEye == kTRUE ) { 00766 Double_t r; 00767 if ( fViewType & kZRView ) { 00768 Double_t pvWC[3], pvNDC[3]; 00769 pvWC[0] = +4; 00770 pvWC[1] = 0; 00771 pvWC[2] = 0; 00772 BesTView::WCtoNDC(pvWC, pvNDC); 00773 p[0] = TMath::Sign((pn[0] - pvNDC[0])*(pn[0] - pvNDC[0]), 00774 pn[0] - pvNDC[0]) + pvNDC[0]; 00775 p[1] = TMath::Sign((pn[1] - pvNDC[1])*(pn[1] - pvNDC[1]), 00776 pn[1] - pvNDC[1]) + pvNDC[1]; 00777 } else { 00778 r = TMath::Sqrt(TMath::Power(p[0],2) 00779 +TMath::Power(p[1],2)); 00780 p[0] *= r; 00781 p[1] *= r; 00782 } 00783 } 00784 BesTView::NDCtoWC(p, pw); 00785 }
void BesView::NDCtoWC | ( | const Float_t * | pn, | |
Float_t * | pw | |||
) | [virtual] |
Reimplemented from BesTView.
Definition at line 725 of file BesView.cxx.
References BesStatus::fFishEye, fStatusCurrent, fViewType, kZRView, BesTView::NDCtoWC(), and BesTView::WCtoNDC().
Referenced by BesCircle2D::DistancetoPrimitive(), and GetObjectInfo().
00725 { 00726 // 00727 // Transform back from NDCs 00728 Float_t p[3]; 00729 p[0] = pn[0]; 00730 p[1] = pn[1]; 00731 p[2] = pn[2]; 00732 00733 if ( fStatusCurrent->fFishEye == kTRUE ) { 00734 Float_t r; 00735 if ( fViewType & kZRView ) { 00736 Float_t pvWC[3], pvNDC[3]; 00737 pvWC[0] = +4; 00738 pvWC[1] = 0; 00739 pvWC[2] = 0; 00740 BesTView::WCtoNDC(pvWC, pvNDC); 00741 p[0] = TMath::Sign((pn[0] - pvNDC[0])*(pn[0] - pvNDC[0]), 00742 pn[0] - pvNDC[0]) + pvNDC[0]; 00743 p[1] = TMath::Sign((pn[1] - pvNDC[1])*(pn[1] - pvNDC[1]), 00744 pn[1] - pvNDC[1]) + pvNDC[1]; 00745 } else { 00746 r = TMath::Sqrt(TMath::Power(p[0],2) 00747 +TMath::Power(p[1],2)); 00748 p[0] *= r; 00749 p[1] *= r; 00750 } 00751 } 00752 BesTView::NDCtoWC(p, pw); 00753 }
void BesTView::NormalWCtoNDC | ( | const Double_t * | pw, | |
Double_t * | pn | |||
) | [virtual, inherited] |
Definition at line 1238 of file BesTView.cxx.
References BesTView::fTnorm, and x.
01239 { 01240 //*-*-*Transfer vector of NORMAL from word to normalized coodinates-*-*-*-* 01241 //*-* ============================================================ 01242 //*-* 01243 //*-* Input: PW(3) - vector of NORMAL in word coordinate system 01244 //*-* PN(3) - vector of NORMAL in normalized coordinate system 01245 //*-* 01246 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01247 01248 Double_t x, y, z, a1, a2, a3, b1, b2, b3, c1, c2, c3; 01249 01250 x = pw[0]; 01251 y = pw[1]; 01252 z = pw[2]; 01253 a1 = fTnorm[0]; 01254 a2 = fTnorm[1]; 01255 a3 = fTnorm[2]; 01256 b1 = fTnorm[4]; 01257 b2 = fTnorm[5]; 01258 b3 = fTnorm[6]; 01259 c1 = fTnorm[8]; 01260 c2 = fTnorm[9]; 01261 c3 = fTnorm[10]; 01262 pn[0] = x*(b2*c3 - b3*c2) + y*(b3*c1 - b1*c3) + z*(b1*c2 - b2*c1); 01263 pn[1] = x*(c2*a3 - c3*a2) + y*(c3*a1 - c1*a3) + z*(c1*a2 - c2*a1); 01264 pn[2] = x*(a2*b3 - a3*b2) + y*(a3*b1 - a1*b3) + z*(a1*b2 - a2*b1); 01265 }
void BesTView::NormalWCtoNDC | ( | const Float_t * | pw, | |
Float_t * | pn | |||
) | [virtual, inherited] |
Definition at line 1208 of file BesTView.cxx.
References BesTView::fTnorm, and x.
01209 { 01210 //*-*-*Transfer vector of NORMAL from word to normalized coodinates-*-*-*-* 01211 //*-* ============================================================ 01212 //*-* 01213 //*-* Input: PW(3) - vector of NORMAL in word coordinate system 01214 //*-* PN(3) - vector of NORMAL in normalized coordinate system 01215 //*-* 01216 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01217 01218 Double_t x, y, z, a1, a2, a3, b1, b2, b3, c1, c2, c3; 01219 01220 x = pw[0]; 01221 y = pw[1]; 01222 z = pw[2]; 01223 a1 = fTnorm[0]; 01224 a2 = fTnorm[1]; 01225 a3 = fTnorm[2]; 01226 b1 = fTnorm[4]; 01227 b2 = fTnorm[5]; 01228 b3 = fTnorm[6]; 01229 c1 = fTnorm[8]; 01230 c2 = fTnorm[9]; 01231 c3 = fTnorm[10]; 01232 pn[0] = x*(b2*c3 - b3*c2) + y*(b3*c1 - b1*c3) + z*(b1*c2 - b2*c1); 01233 pn[1] = x*(c2*a3 - c3*a2) + y*(c3*a1 - c1*a3) + z*(c1*a2 - c2*a1); 01234 pn[2] = x*(a2*b3 - a3*b2) + y*(a3*b1 - a1*b3) + z*(a1*b2 - a2*b1); 01235 }
void BesTView::PadRange | ( | Int_t | rback | ) | [virtual, inherited] |
Definition at line 1268 of file BesTView.cxx.
References BesTView::fRmax, BesTView::fRmin, BesTView::fTnorm, genRecEmupikp::i, and x.
01269 { 01270 //*-*-*-*-*Set the correct window size for lego and surface plots*-*-*-*-* 01271 //*-* ====================================================== 01272 //*-* 01273 //*-* Set the correct window size for lego and surface plots. 01274 //*-* And draw the background if necessary. 01275 //*-* 01276 //*-* Input parameters: 01277 //*-* 01278 //*-* RBACK : Background colour 01279 //*-* 01280 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01281 01282 Int_t i, k; 01283 Double_t x, y, z, r1, r2, r3, xx, yy, smax[2]; 01284 Double_t xgraf[6], ygraf[6]; 01285 01286 for (i = 1; i <= 2; ++i) { 01287 smax[i - 1] = fTnorm[(i << 2) - 1]; 01288 for (k = 1; k <= 3; ++k) { 01289 if (fTnorm[k + (i << 2) - 5] < 0) { 01290 smax[i - 1] += fTnorm[k + (i << 2) - 5]*fRmin[k-1]; 01291 } else { 01292 smax[i - 1] += fTnorm[k + (i << 2) - 5]*fRmax[k-1]; 01293 } 01294 } 01295 } 01296 01297 //*-*- Compute x,y range 01298 Double_t xmin = -smax[0]; 01299 Double_t xmax = smax[0]; 01300 Double_t ymin = -smax[1]; 01301 Double_t ymax = smax[1]; 01302 Double_t dx = xmax-xmin; 01303 Double_t dy = ymax-ymin; 01304 Double_t dxr = dx/(1 - gPad->GetLeftMargin() - gPad->GetRightMargin()); 01305 Double_t dyr = dy/(1 - gPad->GetBottomMargin() - gPad->GetTopMargin()); 01306 01307 // Range() could change the size of the pad pixmap and therefore should 01308 // be called before the other paint routines 01309 gPad->Range(xmin - dxr*gPad->GetLeftMargin(), 01310 ymin - dyr*gPad->GetBottomMargin(), 01311 xmax + dxr*gPad->GetRightMargin(), 01312 ymax + dyr*gPad->GetTopMargin()); 01313 gPad->RangeAxis(xmin, ymin, xmax, ymax); 01314 01315 //*-*- Draw the background if necessary 01316 01317 if (rback > 0) { 01318 r1 = -1; 01319 r2 = -1; 01320 r3 = -1; 01321 xgraf[0] = -smax[0]; 01322 xgraf[1] = -smax[0]; 01323 xgraf[2] = -smax[0]; 01324 xgraf[3] = -smax[0]; 01325 xgraf[4] = smax[0]; 01326 xgraf[5] = smax[0]; 01327 ygraf[0] = -smax[1]; 01328 ygraf[1] = smax[1]; 01329 ygraf[2] = -smax[1]; 01330 ygraf[3] = smax[1]; 01331 ygraf[5] = smax[1]; 01332 ygraf[4] = -smax[1]; 01333 for (i = 1; i <= 8; ++i) { 01334 x = 0.5*((1 - r1)*fRmin[0] + (r1 + 1)*fRmax[0]); 01335 y = 0.5*((1 - r2)*fRmin[1] + (r2 + 1)*fRmax[1]); 01336 z = 0.5*((1 - r3)*fRmin[2] + (r3 + 1)*fRmax[2]); 01337 xx = fTnorm[0]*x + fTnorm[1]*y + fTnorm[2]*z + fTnorm[3]; 01338 yy = fTnorm[4]*x + fTnorm[5]*y + fTnorm[6]*z + fTnorm[7]; 01339 if (TMath::Abs(xx - xgraf[1]) <= 1e-4) { 01340 if (ygraf[1] >= yy) ygraf[1] = yy; 01341 if (ygraf[2] <= yy) ygraf[2] = yy; 01342 } 01343 if (TMath::Abs(xx - xgraf[5]) <= 1e-4) { 01344 if (ygraf[5] >= yy) ygraf[5] = yy; 01345 if (ygraf[4] <= yy) ygraf[4] = yy; 01346 } 01347 if (TMath::Abs(yy - ygraf[0]) <= 1e-4) xgraf[0] = xx; 01348 if (TMath::Abs(yy - ygraf[3]) <= 1e-4) xgraf[3] = xx; 01349 r1 = -r1; 01350 if (i % 2 == 0) r2 = -r2; 01351 if (i >= 4) r3 = 1; 01352 } 01353 gPad->PaintFillArea(6, xgraf, ygraf); 01354 } 01355 }
void BesView::PrintCurrent | ( | ) | [inline] |
Definition at line 231 of file BesView.h.
References fStatusCurrent.
00231 { fStatusCurrent->Print(); }
void BesView::Reset | ( | ) |
Definition at line 824 of file BesView.cxx.
References BesStatus::Default(), fStatus3D, fStatusCurrent, fStatusXY, fStatusZR, fViewType, fZoomFactor, k3DView, kXYView, kZRView, and UpdateView().
Referenced by BesClient::HandleButtons().
00824 { 00825 // 00826 // reset view to default values 00827 00828 // reset status instances of views 00829 fStatus3D->Default(k3DView); 00830 fStatusXY->Default(kXYView); 00831 fStatusZR->Default(kZRView); 00832 fZoomFactor = 1.2; 00833 00834 // reset current status instance tp fViewType 00835 fStatusCurrent->Default(fViewType); 00836 00837 // reset phirange 00838 // this->SetPhiRange(0,180); 00839 this->UpdateView(1); 00840 gPad->Update(); 00841 }
void BesTView::ResetView | ( | Double_t | longitude, | |
Double_t | latitude, | |||
Double_t | psi, | |||
Int_t & | irep | |||
) | [protected, inherited] |
Definition at line 1553 of file BesTView.cxx.
References BesTView::DefinePerspectiveView(), BesTView::DefineViewDirection(), BesTView::FindScope(), BesTView::fLatitude, BesTView::fLongitude, BesTView::fPsi, BesTView::fTB, BesTView::fTback, BesTView::fTN, BesTView::fTnorm, BesTView::IsPerspective(), and kRad.
Referenced by BesTView::BesTView(), BesTView::ExecuteRotateView(), BesTView::SetParallel(), BesTView::SetPerspective(), BesTView::SetRange(), and BesTView::SetView().
01554 { 01555 //*-*-*-*-*-*-*-*-*Set view direction (in spherical coordinates)*-*-*-*-*-* 01556 //*-* ============================================= * 01557 //*-* * 01558 //*-* Input PHI - longitude * 01559 //*-* THETA - latitude (angle between +Z and view direction) * 01560 //*-* PSI - rotation in screen plane * 01561 //*-* * 01562 //*-* Output: IREP - reply (-1 if error in min-max) * 01563 //*-* * 01564 //*-* Errors: error in min-max scope * 01565 //*-* * 01566 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01567 01568 Double_t scale[3], centre[3]; 01569 Double_t c1, c2, c3, s1, s2, s3; 01570 01571 //*-*- F I N D C E N T E R O F S C O P E A N D 01572 //*-*- S C A L E F A C T O R S 01573 01574 FindScope(scale, centre, irep); 01575 if (irep < 0) { 01576 Error("ResetView", "Error in min-max scope"); 01577 return; 01578 } 01579 01580 //*-*- S E T T R A N S F O R M A T I O N M A T R I C E S 01581 01582 01583 fLongitude = longitude; 01584 fPsi = psi; 01585 fLatitude = latitude; 01586 01587 if (IsPerspective()) { 01588 DefinePerspectiveView(); 01589 return; 01590 } 01591 01592 c1 = TMath::Cos(longitude*kRad); 01593 s1 = TMath::Sin(longitude*kRad); 01594 c2 = TMath::Cos(latitude*kRad); 01595 s2 = TMath::Sin(latitude*kRad); 01596 c3 = TMath::Cos(psi*kRad); 01597 s3 = TMath::Sin(psi*kRad); 01598 DefineViewDirection(scale, centre, c1, s1, c2, s2, c3, s3, fTnorm, fTback); 01599 c3 = 1; 01600 s3 = 0; 01601 DefineViewDirection(scale, centre, c1, s1, c2, s2, c3, s3, fTN, fTB); 01602 }
void BesTView::ResizePad | ( | ) | [inherited] |
Definition at line 1533 of file BesTView.cxx.
References BesTView::DefinePerspectiveView(), BesTView::fUpix, BesTView::fUVcoord, BesTView::fVpix, BesTView::IsPerspective(), and BesTView::SetWindow().
01534 { 01535 // Recompute window for perspective view 01536 01537 if (!IsPerspective()) return; 01538 Double_t upix = fUpix; 01539 Double_t vpix = fVpix; 01540 // widh in pixels 01541 fUpix = gPad->GetWw()*gPad->GetAbsWNDC(); 01542 // height in pixels 01543 fVpix = gPad->GetWh()*gPad->GetAbsHNDC(); 01544 Double_t u0 = fUVcoord[0]*fUpix/upix; 01545 Double_t v0 = fUVcoord[1]*fVpix/vpix; 01546 Double_t du = fUVcoord[2]*fUpix/upix; 01547 Double_t dv = fUVcoord[3]*fVpix/vpix; 01548 SetWindow(u0, v0, du, dv); 01549 DefinePerspectiveView(); 01550 }
void BesTView::RotateView | ( | Double_t | phi, | |
Double_t | theta, | |||
TVirtualPad * | pad = 0 | |||
) | [virtual, inherited] |
Definition at line 1678 of file BesTView.cxx.
References BesTView::SetView(), and t().
Referenced by BesTView::FrontView(), BesTView::SideView(), and BesTView::TopView().
01679 { 01680 // API to rotate view and adjust the pad provided it the current one. 01681 01682 Int_t iret; 01683 Double_t p = phi; 01684 Double_t t = theta; 01685 SetView(p, t, 0, iret); 01686 01687 // Adjust current pad too 01688 TVirtualPad *thisPad = pad; 01689 if (!thisPad) thisPad = gPad; 01690 if (thisPad) { 01691 thisPad->SetPhi(-90-p); 01692 thisPad->SetTheta(90-t); 01693 thisPad->Modified(); 01694 thisPad->Update(); 01695 } 01696 }
virtual void BesTView::SetAutoRange | ( | Bool_t | autorange = kTRUE |
) | [inline, virtual, inherited] |
Definition at line 121 of file BesTView.h.
References BesTView::fAutoRange.
00121 {fAutoRange=autorange;}
void BesTView::SetAxisNDC | ( | const Double_t * | x1, | |
const Double_t * | x2, | |||
const Double_t * | y1, | |||
const Double_t * | y2, | |||
const Double_t * | z1, | |||
const Double_t * | z2 | |||
) | [virtual, inherited] |
Definition at line 1358 of file BesTView.cxx.
References BesTView::fX1, BesTView::fX2, BesTView::fY1, BesTView::fY2, BesTView::fZ1, BesTView::fZ2, and genRecEmupikp::i.
01359 { 01360 //*-*-*-*-*-*-*-*-*-*-*-*-*Store axis coordinates in the NDC system*-*-*-* 01361 //*-* ======================================== 01362 //*-* 01363 01364 for (Int_t i=0;i<3;i++) { 01365 fX1[i] = x1[i]; 01366 fX2[i] = x2[i]; 01367 fY1[i] = y1[i]; 01368 fY2[i] = y2[i]; 01369 fZ1[i] = z1[i]; 01370 fZ2[i] = z2[i]; 01371 } 01372 }
void BesTView::SetDefaultWindow | ( | ) | [inherited] |
Definition at line 1375 of file BesTView.cxx.
References BesTView::fDproj, BesTView::fDview, BesTView::fUpix, BesTView::fVpix, BesTView::GetExtent(), and BesTView::SetWindow().
Referenced by BesTView::MoveFocus(), BesTView::SetPerspective(), and BesTView::SetRange().
01376 { 01377 // Set default viewing window 01378 if (!gPad) return; 01379 Double_t screen_factor = 1.; 01380 Double_t du, dv; 01381 Double_t extent = GetExtent(); 01382 fDview = 3*extent; 01383 fDproj = 0.5*extent; 01384 01385 // widh in pixels 01386 fUpix = gPad->GetWw()*gPad->GetAbsWNDC(); 01387 01388 // height in pixels 01389 fVpix = gPad->GetWh()*gPad->GetAbsHNDC(); 01390 du = 0.5*screen_factor*fDproj; 01391 dv = du*fVpix/fUpix; // keep aspect ratio 01392 SetWindow(0, 0, du, dv); 01393 }
void BesTView::SetDproj | ( | Double_t | dproj | ) | [inline, inherited] |
virtual void BesView::SetDrawOption | ( | Option_t * | option | ) | [inline, virtual] |
void BesTView::SetDview | ( | Double_t | dview | ) | [inline, inherited] |
void BesView::SetFishEye | ( | Bool_t | input = 0 |
) | [inline] |
Definition at line 221 of file BesView.h.
References BesStatus::fFishEye, fFishEye, fStatusCurrent, fViewType, showlog::input, and k3DView.
Referenced by BesClient::HandleButtons(), and BesClient::UpdateStatus().
00221 { 00222 if ( fViewType & k3DView ) { 00223 fFishEye = 0; 00224 fStatusCurrent->fFishEye = 0; 00225 } else { 00226 fFishEye = input; 00227 fStatusCurrent->fFishEye = input; 00228 } 00229 } // *TOGGLE*
void BesTView::SetLatitude | ( | Double_t | latitude | ) | [inline, inherited] |
Definition at line 126 of file BesTView.h.
References BesTView::fLatitude.
00126 {fLatitude = latitude;}
virtual void BesView::SetLineAttributes | ( | ) | [inline, virtual] |
void BesTView::SetLongitude | ( | Double_t | longitude | ) | [inline, inherited] |
Definition at line 127 of file BesTView.h.
References BesTView::fLongitude.
00127 {fLongitude = longitude;}
void BesView::SetMarkerSize | ( | Float_t | size | ) | [inline] |
void BesTView::SetOutlineToCube | ( | ) | [virtual, inherited] |
Definition at line 1396 of file BesTView.cxx.
References BesTView::DrawOutlineCube(), BesTView::fDefaultOutline, BesTView::fOutline, BesTView::fRmax, and BesTView::fRmin.
Referenced by BesTView::ExecuteRotateView(), and BesTView::SetRange().
01397 { 01398 //*-*-*-*-*-*-*This is a function which creates default outline*-*-*-*-*-* 01399 //*-* ================================================ * 01400 //*-* * 01401 //*-* x = fRmin[0] X = fRmax[0] * 01402 //*-* y = fRmin[1] Y = fRmax[1] * 01403 //*-* z = fRmin[2] Z = fRmax[2] * 01404 //*-* * 01405 //*-* * 01406 //*-* (x,Y,Z) +---------+ (X,Y,Z) * 01407 //*-* / /| * 01408 //*-* / / | * 01409 //*-* / / | * 01410 //*-* (x,y,Z) +---------+ | * 01411 //*-* | | + (X,Y,z) * 01412 //*-* | | / * 01413 //*-* | | / * 01414 //*-* | |/ * 01415 //*-* +---------+ * 01416 //*-* (x,y,z) (X,y,z) * 01417 //*-* * 01418 //*-* * 01419 //*-* * 01420 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-** 01421 01422 if (!fOutline) { 01423 fDefaultOutline = kTRUE; 01424 fOutline = new TList(); 01425 } 01426 DrawOutlineCube((TList*)fOutline,fRmin,fRmax); 01427 //TVirtualUtil3D *util = (TVirtualUtil3D*)gROOT->GetListOfSpecials()->FindObject("R__TVirtualUtil3D"); 01428 //if (util) util->DrawOutlineCube((TList*)fOutline,fRmin,fRmax); 01429 }
void BesTView::SetParallel | ( | ) | [virtual, inherited] |
Definition at line 1432 of file BesTView.cxx.
References BesTView::fLatitude, BesTView::fLongitude, BesTView::fPsi, BesTView::IsPerspective(), BesTView::kPerspective, and BesTView::ResetView().
Referenced by BesVisDisplay::DrawView(), BesClient::HandleButtons(), and SetViewType().
01433 { 01434 //set the parallel option (default) 01435 if (!IsPerspective()) return; 01436 SetBit(kPerspective, kFALSE); 01437 Int_t irep; 01438 ResetView(fLongitude, fLatitude, fPsi, irep); 01439 }
void BesTView::SetPerspective | ( | ) | [virtual, inherited] |
Definition at line 1442 of file BesTView.cxx.
References BesTView::fLatitude, BesTView::fLongitude, BesTView::fPsi, BesTView::IsPerspective(), BesTView::kPerspective, BesTView::ResetView(), and BesTView::SetDefaultWindow().
Referenced by BesTView::BesTView(), BesClient::HandleButtons(), and SetViewType().
01443 { 01444 //set perspective option 01445 if (IsPerspective()) return; 01446 SetBit(kPerspective, kTRUE); 01447 Int_t irep; 01448 SetDefaultWindow(); 01449 ResetView(fLongitude, fLatitude, fPsi, irep); 01450 }
void BesView::SetPhiRange | ( | Float_t | PhiMin = 0 , |
|
Float_t | PhiMax = 180 | |||
) |
Definition at line 582 of file BesView.cxx.
References BesStatus::fPhiRangeMax, BesStatus::fPhiRangeMin, fStatusCurrent, gBesGeometry, and UpdateView().
00582 { 00583 // 00584 // Set phi range for ZR view 00585 if ( gDebug ) cout << "BesView::SetPhiRange called" << endl; 00586 00587 fStatusCurrent->fPhiRangeMin = PhiMin; 00588 fStatusCurrent->fPhiRangeMax = PhiMax; 00589 00590 // Update view 00591 if ( !gBesGeometry ) return; 00592 //gEvent->AddBACPadTowerZR(); 00593 UpdateView(0); 00594 }
void BesTView::SetPsi | ( | Double_t | psi | ) | [inline, inherited] |
void BesTView::SetRange | ( | Double_t | x0, | |
Double_t | y0, | |||
Double_t | z0, | |||
Double_t | x1, | |||
Double_t | y1, | |||
Double_t | z1, | |||
Int_t | flag = 0 | |||
) | [virtual, inherited] |
Definition at line 1469 of file BesTView.cxx.
References BesTView::GetRange(), and BesTView::SetRange().
01470 { 01471 //*-*-*-*-*-*-*-*-*-*-*-*Set 3-D View range*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 01472 //*-* ================== 01473 //*-* 01474 //*-* Input: x0, y0, z0 are minimum coordinates 01475 //*-* x1, y1, z1 are maximum coordinates 01476 //*-* 01477 //*-* flag values are: 0 (set always) <- default 01478 //*-* 1 (shrink view) 01479 //*-* 2 (expand view) 01480 //*-* 01481 01482 01483 Double_t rmax[3], rmin[3]; 01484 01485 switch (flag) { 01486 case 2: // expand view 01487 GetRange(rmin, rmax); 01488 rmin[0] = x0 < rmin[0] ? x0 : rmin[0]; 01489 rmin[1] = y0 < rmin[1] ? y0 : rmin[1]; 01490 rmin[2] = z0 < rmin[2] ? z0 : rmin[2]; 01491 rmax[0] = x1 > rmax[0] ? x1 : rmax[0]; 01492 rmax[1] = y1 > rmax[1] ? y1 : rmax[1]; 01493 rmax[2] = z1 > rmax[2] ? z1 : rmax[2]; 01494 break; 01495 01496 case 1: // shrink view 01497 GetRange(rmin, rmax); 01498 rmin[0] = x0 > rmin[0] ? x0 : rmin[0]; 01499 rmin[1] = y0 > rmin[1] ? y0 : rmin[1]; 01500 rmin[2] = z0 > rmin[2] ? z0 : rmin[2]; 01501 rmax[0] = x1 < rmax[0] ? x1 : rmax[0]; 01502 rmax[1] = y1 < rmax[1] ? y1 : rmax[1]; 01503 rmax[2] = z1 < rmax[2] ? z1 : rmax[2]; 01504 break; 01505 01506 default: 01507 rmin[0] = x0; rmax[0] = x1; 01508 rmin[1] = y0; rmax[1] = y1; 01509 rmin[2] = z0; rmax[2] = z1; 01510 } 01511 SetRange(rmin, rmax); 01512 }
void BesTView::SetRange | ( | const Double_t * | min, | |
const Double_t * | max | |||
) | [virtual, inherited] |
Definition at line 1453 of file BesTView.cxx.
References BesTView::fDefaultOutline, BesTView::fLatitude, BesTView::fLongitude, BesTView::fPsi, BesTView::fRmax, BesTView::fRmin, genRecEmupikp::i, BesTView::IsPerspective(), BesTView::ResetView(), BesTView::SetDefaultWindow(), and BesTView::SetOutlineToCube().
Referenced by BesTView::AdjustScales(), BesTView::Centered3DImages(), DefaultRange(), BesVisDisplay::DrawView(), Bes2DView::Reset(), BesTView::SetRange(), and BesTView::ZoomView().
01454 { 01455 //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Set Range function-*-*-*-*-*-*-*-*-*-*-*-*-* 01456 //*-* ================== 01457 //*-* 01458 Int_t irep; 01459 for (Int_t i = 0; i < 3; fRmax[i] = max[i], fRmin[i] = min[i], i++) { } 01460 if (IsPerspective()) SetDefaultWindow(); 01461 ResetView(fLongitude, fLatitude, fPsi, irep); 01462 if(irep < 0) 01463 Error("SetRange", "problem setting view"); 01464 if(fDefaultOutline) SetOutlineToCube(); 01465 }
virtual void BesTView::SetSystem | ( | Int_t | system | ) | [inline, virtual, inherited] |
void BesTView::SetView | ( | Double_t | longitude, | |
Double_t | latitude, | |||
Double_t | psi, | |||
Int_t & | irep | |||
) | [virtual, inherited] |
Definition at line 1525 of file BesTView.cxx.
References BesTView::ResetView().
Referenced by BesVisDisplay::DrawView(), BesClient::ExecuteReturn(), BesTView::ExecuteRotateView(), BesClient::HandleButtons(), BesClient::HandleSliders(), BesClient::RotatePhi(), BesClient::RotatePsi(), BesClient::RotateTheta(), BesTView::RotateView(), SetViewType(), Side3D(), and Top3D().
01526 { 01527 //set view parameters 01528 01529 ResetView(longitude, latitude, psi, irep); 01530 }
void BesTView::SetViewChanged | ( | Bool_t | flag = kTRUE |
) | [inline, inherited] |
void BesView::SetViewType | ( | EBESViewType | ViewType, | |
Bool_t | resetview = kFALSE | |||
) | [virtual] |
Definition at line 94 of file BesView.cxx.
References Center(), ClearPad(), DefaultRange(), BesGeometry::Draw(), BesEvent::DrawHits(), DrawLabel(), BesEvent::DrawTracks(), fMarkerSize, Front(), fStatus3D, fStatusCurrent, fStatusXY, fStatusZR, fViewType, fZoomFactor, gBesGeometry, gEvent, genRecEmupikp::i, BesTView::IsPerspective(), k3DView, kXYView, kZRView, BesTView::SetParallel(), BesTView::SetPerspective(), BesTView::SetView(), and BesStatus::Transfer().
Referenced by Side3D(), UpdateView(), View3D(), ViewXY(), and ViewZR().
00094 { 00095 // 00096 // Set type of view 00097 00098 // check the state of the component before change and copy current status to respective status 00099 if ( fViewType & k3DView ){ 00100 00101 fStatus3D->Transfer(fStatusCurrent,0); 00102 00103 } else if ( fViewType & kXYView ) { 00104 00105 fStatusXY->Transfer(fStatusCurrent,0); 00106 00107 } else if ( fViewType & kZRView ) { 00108 00109 fStatusZR->Transfer(fStatusCurrent,0); 00110 00111 } 00112 00113 fViewType = ViewType; 00114 ClearPad(); 00115 00116 // Set view direction properly 00117 Int_t iret; 00118 if ( fViewType & k3DView ) { 00119 //cout << "SetViewType 3D" << endl; 00120 // 00121 // 3D view 00122 00123 // remember my previous state, set parallel first anyway, then choose perspective or not 00124 Int_t iPerspective = 0; 00125 00126 if (IsPerspective()) iPerspective = 1; 00127 00128 // copy 3D status to current status 00129 fStatusCurrent->Transfer(fStatus3D,1); 00130 00131 // Geometry exist ? 00132 if ( !gBesGeometry ) return; 00133 00134 // set view 00135 if ( resetview ) { 00136 //SetView(0, 90, 270, iret); 00137 this->Front(); 00138 this->Center(); 00139 00140 DefaultRange(); 00141 for (int i = 0; i < 2; i++) this->ZoomView(gPad, fZoomFactor); 00142 00143 // reset marker size 00144 fMarkerSize = 0.1; 00145 } 00146 00147 // Draw geometry 00148 00149 cout << "is there any problem after update from root's version 4.03 to 4.04" << endl; 00150 gBesGeometry->Draw("3D,SAME"); 00151 //this->SetParralel(); //comment out 2007.5.1 try to use ROOT-5.10.00 00152 this->SetParallel(); 00153 //old version 4.0.3 have a spell mistake BesTView::SetParralel()=>SetParallel() 00154 //changed by tianhl at Mon Aug 20 2007 00155 if (iPerspective == 1) this->SetPerspective(); 00156 00157 // Draw tracks 00158 if ( gEvent ) gEvent->DrawTracks(""); 00159 //else cout << "3D gEvent does not exist " << endl; 00160 00161 } else if ( fViewType & kXYView ) { 00162 //cout << "SetViewType XY" << endl; 00163 // 00164 // XY view 00165 // ======= 00166 00167 // copy XY status to current status 00168 fStatusCurrent->Transfer(fStatusXY,1); 00169 00170 // Geometry exist ? 00171 if ( !gBesGeometry ) return; 00172 00173 // set view 00174 if ( resetview ) { 00175 SetView(0, 0, 270, iret); 00176 this->Center(); 00177 00178 DefaultRange(); 00179 DefaultRange(); 00180 for (int i = 0; i < 2; i++) this->ZoomView(gPad, fZoomFactor); 00181 00182 // reset marker size 00183 fMarkerSize = 0.1; 00184 00185 } 00186 00187 /* 00188 // Draw event 00189 if ( gEvent ) gEvent->SetHits("XY"); 00190 else cout << "XY : gEvent does not exist " << endl; 00191 */ 00192 00193 // Draw geometry 00194 gBesGeometry->Draw("XY,SAME"); 00195 00196 // Draw 2D hits and tracks 00197 if ( gEvent ) { 00198 gEvent->DrawHits(""); 00199 gEvent->DrawTracks(""); 00200 } 00201 //else cout << "XY : gEvent does not exist " << endl; 00202 00203 } else if ( fViewType & kZRView ) { 00204 //cout << "SetViewType ZR" << endl; 00205 // 00206 // ZR view 00207 // ======= 00208 00209 // copy ZR status to current status 00210 fStatusCurrent->Transfer(fStatusZR,1); 00211 00212 // Geometry exist ? 00213 if ( !gBesGeometry ) return; 00214 00215 // set view 00216 if ( resetview ) { 00217 SetView(180,90,90,iret); 00218 this->Center(); 00219 00220 DefaultRange(); 00221 DefaultRange(); 00222 for (int i = 0; i < 2; i++) this->ZoomView(gPad, fZoomFactor); 00223 00224 // reset marker size 00225 fMarkerSize = 0.1; 00226 00227 } 00228 00229 /* 00230 // Draw event 00231 if ( gEvent ) gEvent->SetHits("ZR"); 00232 else cout << "ZR : gEvent does not exist " << endl; 00233 */ 00234 00235 // Draw geometry 00236 gBesGeometry->Draw("ZR,SAME"); 00237 00238 // Draw hits and tracks 00239 if ( gEvent ) { 00240 gEvent->DrawHits(""); 00241 gEvent->DrawTracks(""); 00242 } 00243 //else cout << "ZR : gEvent does not exist " << endl; 00244 00245 } 00246 00247 // Draw label 00248 DrawLabel(); 00249 }
void BesView::SetViewTypeBare | ( | EBESViewType | ViewType, | |
Bool_t | resetview = kFALSE | |||
) | [virtual] |
Definition at line 251 of file BesView.cxx.
00251 { 00252 /* 00253 // 00254 // Set type of view 00255 00256 cout << "setviewtypeBare: start..." << endl; 00257 // check the state of the component before change and copy current status to respective status 00258 if ( fViewType & k3DView ){ 00259 00260 fStatus3D->Transfer(fStatusCurrent,0); 00261 00262 } else if ( fViewType & kXYView ) { 00263 00264 fStatusXY->Transfer(fStatusCurrent,0); 00265 00266 } else if ( fViewType & kZRView ) { 00267 00268 00269 fStatusZR->Transfer(fStatusCurrent,0); 00270 00271 } 00272 00273 fViewType = ViewType; 00274 ClearPad(); 00275 00276 // Set view direction properly 00277 Int_t iret; 00278 cout << "fViewType=" << fViewType << endl; 00279 if ( fViewType & k3DView ) { 00280 // 00281 // 3D view 00282 00283 // copy 3D status to current status 00284 fStatusCurrent->Transfer(fStatus3D,1); 00285 // Geometry exist ? 00286 if ( !gGeometry ) return; 00287 00288 // set view 00289 if ( resetview ) { 00290 SetView(0, 90, 270, iret); 00291 SetRange(-600,-600,-400,600,600,800); 00292 00293 // reset marker size 00294 fMarkerSize = 0.1; 00295 00296 } 00297 00298 } else if ( fViewType & kXYView ) { 00299 // 00300 // XY view 00301 // ======= 00302 00303 // copy XY status to current status 00304 fStatusCurrent->Transfer(fStatusXY,1); 00305 00306 // Geometry exist ? 00307 if ( !gGeometry ) return; 00308 00309 // set view 00310 if ( resetview ) { 00311 SetView(270, 0, 0, iret); 00312 // SetRange(-200,-200,-200,200,200,200); 00313 SetRange(-310,-310,-310,310,310,310); 00314 // reset marker size 00315 fMarkerSize = 0.1; 00316 00317 } 00318 00319 } else if ( fViewType & kZRView ) { 00320 00321 // 00322 // ZR view 00323 // ======= 00324 00325 // copy ZR status to current status 00326 cout << "fViewType & kZRView: before transfer..." << endl; 00327 fStatusCurrent->Transfer(fStatusZR,1); 00328 cout << "fViewType & kZRView: after transfer..." << endl; 00329 00330 // Geometry exist ? 00331 if ( !gGeometry ) return; 00332 00333 // set view 00334 if ( resetview ) { 00335 SetView(90, 180, 0, iret); 00336 // SetRange(-130,-200,-200,270,200,200); 00337 SetRange(-160,-400,-400,740,400,400); 00338 // reset marker size 00339 fMarkerSize = 0.1; 00340 00341 } 00342 00343 } 00344 00345 // Draw label 00346 cout << "SetViewTypeBare: no drawlabel" << endl; 00347 //DrawLabel(); 00348 */ 00349 }
void BesView::SetVisAxis | ( | Bool_t | input | ) | [inline] |
Definition at line 159 of file BesView.h.
References BesStatus::fAxis, and fStatusCurrent.
Referenced by BesClient::HandleButtons(), BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00159 { fStatusCurrent->fAxis = input; }
void BesView::SetVisBeamPipe | ( | Bool_t | input | ) | [inline] |
Definition at line 157 of file BesView.h.
References BesStatus::fBeamPipe, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00157 { fStatusCurrent->fBeamPipe = input; }
void BesView::SetVisEmcBarrel | ( | Bool_t | input | ) | [inline] |
Definition at line 124 of file BesView.h.
References BesStatus::fEmcBarrel, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00124 { fStatusCurrent->fEmcBarrel = input; }
void BesView::SetVisEmcEast | ( | Bool_t | input | ) | [inline] |
Definition at line 123 of file BesView.h.
References BesStatus::fEmcEast, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00123 { fStatusCurrent->fEmcEast = input; }
void BesView::SetVisEmcGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 122 of file BesView.h.
References BesStatus::fEmcGlobal, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00122 { fStatusCurrent->fEmcGlobal = input; }
void BesView::SetVisEmcHitsBarrel | ( | Bool_t | input | ) | [inline] |
Definition at line 188 of file BesView.h.
References BesStatus::fEmcHitsBarrel, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00188 { fStatusCurrent->fEmcHitsBarrel = input; }
void BesView::SetVisEmcHitsEast | ( | Bool_t | input | ) | [inline] |
Definition at line 187 of file BesView.h.
References BesStatus::fEmcHitsEast, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00187 { fStatusCurrent->fEmcHitsEast = input; }
void BesView::SetVisEmcHitsGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 186 of file BesView.h.
References BesStatus::fEmcHitsGlobal, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00186 { fStatusCurrent->fEmcHitsGlobal = input; }
void BesView::SetVisEmcHitsSide | ( | Bool_t | input | ) | [inline] |
Definition at line 190 of file BesView.h.
References BesStatus::fEmcHitsSide, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00190 { fStatusCurrent->fEmcHitsSide = input; }
void BesView::SetVisEmcHitsWest | ( | Bool_t | input | ) | [inline] |
Definition at line 189 of file BesView.h.
References BesStatus::fEmcHitsWest, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00189 { fStatusCurrent->fEmcHitsWest = input; }
void BesView::SetVisEmcSide | ( | Bool_t | input | ) | [inline] |
Definition at line 126 of file BesView.h.
References BesStatus::fEmcSide, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00126 { fStatusCurrent->fEmcSide = input; }
void BesView::SetVisEmcWest | ( | Bool_t | input | ) | [inline] |
Definition at line 125 of file BesView.h.
References BesStatus::fEmcWest, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00125 { fStatusCurrent->fEmcWest = input; }
void BesView::SetVisFull3DEmc | ( | Bool_t | input | ) | [inline] |
Definition at line 149 of file BesView.h.
References BesStatus::fFull3DEmc, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu().
00149 { fStatusCurrent->fFull3DEmc = input; }
void BesView::SetVisFull3DMdc | ( | Bool_t | input | ) | [inline] |
Definition at line 147 of file BesView.h.
References BesStatus::fFull3DMdc, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu().
00147 { fStatusCurrent->fFull3DMdc = input; }
void BesView::SetVisFull3DMuc | ( | Bool_t | input | ) | [inline] |
Definition at line 150 of file BesView.h.
References BesStatus::fFull3DMuc, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu().
00150 { fStatusCurrent->fFull3DMuc = input; }
void BesView::SetVisFull3DTof | ( | Bool_t | input | ) | [inline] |
Definition at line 148 of file BesView.h.
References BesStatus::fFull3DTof, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu().
00148 { fStatusCurrent->fFull3DTof = input; }
void BesView::SetVisMdcGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 98 of file BesView.h.
References BesStatus::fMdcGlobal, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00098 { fStatusCurrent->fMdcGlobal = input; }
void BesView::SetVisMdcHits | ( | Bool_t | input | ) | [inline] |
Definition at line 166 of file BesView.h.
References BesStatus::fMdcHits, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu().
00166 { fStatusCurrent->fMdcHits = input; }
void BesView::SetVisMdcHitsGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 165 of file BesView.h.
References BesStatus::fMdcHitsGlobal, and fStatusCurrent.
Referenced by BesClient::SetState().
00165 { fStatusCurrent->fMdcHitsGlobal = input; }
void BesView::SetVisMdcTubes | ( | Bool_t | input | ) | [inline] |
Definition at line 99 of file BesView.h.
References BesStatus::fMdcTubes, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00099 { fStatusCurrent->fMdcTubes = input; }
void BesView::SetVisMdcWires | ( | Bool_t | input | ) | [inline] |
Definition at line 100 of file BesView.h.
References BesStatus::fMdcWires, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00100 { fStatusCurrent->fMdcWires = input; }
void BesView::SetVisMucBarrel | ( | Bool_t | input | ) | [inline] |
Definition at line 137 of file BesView.h.
References BesStatus::fMucBarrel, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00137 { fStatusCurrent->fMucBarrel = input; }
void BesView::SetVisMucEast | ( | Bool_t | input | ) | [inline] |
Definition at line 136 of file BesView.h.
References BesStatus::fMucEast, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00136 { fStatusCurrent->fMucEast = input; }
void BesView::SetVisMucGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 135 of file BesView.h.
References BesStatus::fMucGlobal, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00135 { fStatusCurrent->fMucGlobal = input; }
void BesView::SetVisMucHitsBarrel | ( | Bool_t | input | ) | [inline] |
Definition at line 200 of file BesView.h.
References BesStatus::fMucHitsBarrel, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00200 { fStatusCurrent->fMucHitsBarrel = input; }
void BesView::SetVisMucHitsEast | ( | Bool_t | input | ) | [inline] |
Definition at line 199 of file BesView.h.
References BesStatus::fMucHitsEast, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00199 { fStatusCurrent->fMucHitsEast = input; }
void BesView::SetVisMucHitsGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 198 of file BesView.h.
References BesStatus::fMucHitsGlobal, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00198 { fStatusCurrent->fMucHitsGlobal = input; }
void BesView::SetVisMucHitsWest | ( | Bool_t | input | ) | [inline] |
Definition at line 201 of file BesView.h.
References BesStatus::fMucHitsWest, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00201 { fStatusCurrent->fMucHitsWest = input; }
void BesView::SetVisMucStrips | ( | Bool_t | input | ) | [inline] |
Definition at line 139 of file BesView.h.
References BesStatus::fMucStrips, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00139 { fStatusCurrent->fMucStrips = input; }
void BesView::SetVisMucWest | ( | Bool_t | input | ) | [inline] |
Definition at line 138 of file BesView.h.
References BesStatus::fMucWest, and fStatusCurrent.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00138 { fStatusCurrent->fMucWest = input; }
void BesView::SetVisTofBarrel | ( | Bool_t | input | ) | [inline] |
Definition at line 111 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofBarrel.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00111 { fStatusCurrent->fTofBarrel = input; }
void BesView::SetVisTofEast | ( | Bool_t | input | ) | [inline] |
Definition at line 110 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofEast.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00110 { fStatusCurrent->fTofEast = input; }
void BesView::SetVisTofGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 109 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofGlobal.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00109 { fStatusCurrent->fTofGlobal = input; }
void BesView::SetVisTofHitsBarrel | ( | Bool_t | input | ) | [inline] |
Definition at line 176 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsBarrel.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00176 { fStatusCurrent->fTofHitsBarrel = input; }
void BesView::SetVisTofHitsEast | ( | Bool_t | input | ) | [inline] |
Definition at line 175 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsEast.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00175 { fStatusCurrent->fTofHitsEast = input; }
void BesView::SetVisTofHitsGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 174 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsGlobal.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00174 { fStatusCurrent->fTofHitsGlobal = input; }
void BesView::SetVisTofHitsWest | ( | Bool_t | input | ) | [inline] |
Definition at line 177 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofHitsWest.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00177 { fStatusCurrent->fTofHitsWest = input; }
void BesView::SetVisTofWest | ( | Bool_t | input | ) | [inline] |
Definition at line 112 of file BesView.h.
References fStatusCurrent, and BesStatus::fTofWest.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00112 { fStatusCurrent->fTofWest = input; }
void BesView::SetVisTracksEmc | ( | Bool_t | input | ) | [inline] |
Definition at line 214 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksEmc.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00214 { fStatusCurrent->fTracksEmc = input; }
void BesView::SetVisTracksExt | ( | Bool_t | input | ) | [inline] |
Definition at line 216 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksExt.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00216 { fStatusCurrent->fTracksExt = input; }
void BesView::SetVisTracksGlobal | ( | Bool_t | input | ) | [inline] |
Definition at line 211 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksGlobal.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00211 { fStatusCurrent->fTracksGlobal = input; }
void BesView::SetVisTracksMdc | ( | Bool_t | input | ) | [inline] |
Definition at line 212 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksMdc.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00212 { fStatusCurrent->fTracksMdc = input; }
void BesView::SetVisTracksMuc | ( | Bool_t | input | ) | [inline] |
Definition at line 215 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksMuc.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00215 { fStatusCurrent->fTracksMuc = input; }
void BesView::SetVisTracksTof | ( | Bool_t | input | ) | [inline] |
Definition at line 213 of file BesView.h.
References fStatusCurrent, and BesStatus::fTracksTof.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00213 { fStatusCurrent->fTracksTof = input; }
void BesView::SetVisZoom | ( | Float_t | input | ) | [inline] |
Definition at line 113 of file BesView.h.
References fStatusCurrent, and BesStatus::fZoom.
00113 { fStatusCurrent->fZoom = input; }
void BesView::SetVisZRPlaneOnXY | ( | Bool_t | input | ) | [inline] |
Definition at line 158 of file BesView.h.
References fStatusCurrent, and BesStatus::fZRPlaneOnXY.
Referenced by BesClient::HandleViewOptionMenu(), and BesClient::SetState().
00158 { fStatusCurrent->fZRPlaneOnXY = input; }
void BesTView::SetWindow | ( | Double_t | u0, | |
Double_t | v0, | |||
Double_t | du, | |||
Double_t | dv | |||
) | [inherited] |
Definition at line 1515 of file BesTView.cxx.
References BesTView::fUVcoord.
Referenced by BesTView::ResizePad(), and BesTView::SetDefaultWindow().
01516 { 01517 // Set viewing window. 01518 fUVcoord[0] = u0; 01519 fUVcoord[1] = v0; 01520 fUVcoord[2] = du; 01521 fUVcoord[3] = dv; 01522 }
virtual void BesView::SetZoomFactor | ( | Double_t | factor | ) | [inline, virtual] |
void BesView::SetZoomRatio | ( | Double_t | ratio | ) |
Definition at line 482 of file BesView.cxx.
References DefaultRange(), fStatusCurrent, fStatusXY, fStatusZR, BesStatus::fZoom, and BesTView::ZoomView().
Referenced by BesClient::UpdateStatus().
00483 { 00484 DefaultRange(); 00485 ZoomView(gPad, ratio); 00486 00487 //yzhang TEMP FIXME 00488 fStatusCurrent->fZoom = ratio; 00489 fStatusXY->fZoom = ratio; 00490 fStatusZR->fZoom = ratio; 00491 }
void BesTView::ShowAxis | ( | ) | [inline, virtual, inherited] |
Definition at line 178 of file BesTView.h.
References BesTView::ToggleRulers().
Referenced by BesGeometry::Draw2DXY(), and BesGeometry::Draw2DZR().
00178 {ToggleRulers(); }
virtual void BesView::Side | ( | ) | [inline, virtual] |
Reimplemented from BesTView.
Definition at line 236 of file BesView.h.
References BesTView::Side().
00236 { BesTView::Side(); }
void BesView::Side3D | ( | ) |
Definition at line 789 of file BesView.cxx.
References k3DView, BesTView::SetView(), and SetViewType().
00789 { 00790 // 00791 // set side view for 3D 00792 00793 this->SetViewType(k3DView,1); 00794 Int_t iret; 00795 this->SetView(0,90,270,iret); 00796 }
void BesTView::SideView | ( | TVirtualPad * | pad = 0 |
) | [virtual, inherited] |
Definition at line 1699 of file BesTView.cxx.
References BesTView::RotateView().
Referenced by BesTView::Side().
01700 { 01701 // Set to side view. 01702 RotateView(0,90.0,pad); 01703 }
void BesTView::ToggleRulers | ( | TVirtualPad * | pad = 0 |
) | [virtual, inherited] |
Definition at line 1717 of file BesTView.cxx.
Referenced by BesTView::ShowAxis().
01718 { 01719 // Turn on /off 3D axis 01720 //TVirtualUtil3D *util = (TVirtualUtil3D*)gROOT->GetListOfSpecials()->FindObject("R__TVirtualUtil3D"); 01721 //if (util) util->ToggleRulers(pad); 01722 TAxis3D::ToggleRulers(pad); 01723 }
void BesTView::ToggleZoom | ( | TVirtualPad * | pad = 0 |
) | [virtual, inherited] |
Definition at line 1726 of file BesTView.cxx.
Referenced by BesTView::ZoomMove().
01727 { 01728 // Turn on /off the interactive option to 01729 // Zoom / Move / Change attributes of 3D axis correspond this view 01730 //TVirtualUtil3D *util = (TVirtualUtil3D*)gROOT->GetListOfSpecials()->FindObject("R__TVirtualUtil3D"); 01731 //if (util) util->ToggleZoom(pad); 01732 TAxis3D::ToggleZoom(pad); 01733 }
virtual void BesView::Top | ( | ) | [inline, virtual] |
Reimplemented from BesTView.
Definition at line 237 of file BesView.h.
References BesTView::Front().
00237 { BesTView::Front(); }
void BesView::Top3D | ( | ) | [inline] |
void BesTView::TopView | ( | TVirtualPad * | pad = 0 |
) | [virtual, inherited] |
Definition at line 1711 of file BesTView.cxx.
References BesTView::RotateView().
Referenced by BesTView::Top().
01712 { 01713 // Set to top view. 01714 RotateView(270.0,0.0,pad); 01715 }
void BesTView::UnZoom | ( | ) | [inline, virtual, inherited] |
Reimplemented in Bes2DView.
Definition at line 183 of file BesTView.h.
References BesTView::UnzoomView().
00183 {UnzoomView();}
void BesTView::UnzoomView | ( | TVirtualPad * | pad = 0 , |
|
Double_t | unZoomFactor = 1.25 | |||
) | [virtual, inherited] |
Definition at line 1769 of file BesTView.cxx.
References BesTView::ZoomView().
Referenced by BesTView::MoveViewCommand(), Bes2DView::UnZoom(), BesTView::UnZoom(), and ZoomOut().
01770 { 01771 // unZOOM this view 01772 if (TMath::Abs(unZoomFactor) < 0.001) return; 01773 ZoomView(pad,1./unZoomFactor); 01774 }
void BesView::UpdateView | ( | Bool_t | resetview = kFALSE |
) | [virtual] |
Definition at line 598 of file BesView.cxx.
References fViewType, gBesGeometry, and SetViewType().
Referenced by Tof2DScin::ExecuteEvent(), Muc2DStrip::ExecuteEvent(), Mdc2DWire::ExecuteEvent(), Emc2DCrystal::ExecuteEvent(), BesGeoTrack::ExecuteEvent(), BesClient::HandleButtons(), BesClient::HandleViewOptionMenu(), Reset(), SetPhiRange(), BesClient::SetState(), and BesClient::UpdateAllView().
00598 { 00599 // 00600 // Update current view 00601 if ( !gBesGeometry ) return; 00602 00603 // Redraw 00604 SetViewType(fViewType,resetview); 00605 }
void BesView::View3D | ( | ) | [inline] |
Definition at line 69 of file BesView.h.
References k3DView, and SetViewType().
Referenced by BesVisDisplay::Draw3D(), Front3D(), and Top3D().
00069 { SetViewType(k3DView,1); } // *MENU*
void BesView::ViewXY | ( | ) | [inline] |
Definition at line 70 of file BesView.h.
References kXYView, and SetViewType().
Referenced by BesVisDisplay::Draw2DXY().
00070 { SetViewType(kXYView,1); } // *MENU*
void BesView::ViewZR | ( | ) | [inline] |
Definition at line 71 of file BesView.h.
References kZRView, and SetViewType().
Referenced by BesVisDisplay::Draw2DZR().
00071 { SetViewType(kZRView,1); } // *MENU*
void BesView::WCtoNDC | ( | const Double_t * | pw, | |
Double_t * | pn | |||
) | [virtual] |
Reimplemented from BesTView.
Definition at line 692 of file BesView.cxx.
References BesStatus::fFishEye, fStatusCurrent, fViewType, kZRView, s, and BesTView::WCtoNDC().
00692 { 00693 // 00694 // Transform world coordinates to 00695 // normalised device coordinates. 00696 // This method was taken from BesTView 00697 // and extended by FishEye view 00698 BesTView::WCtoNDC(pw, pn); 00699 00700 if ( fStatusCurrent->fFishEye == kTRUE ) { 00701 Double_t r, s; 00702 if ( fViewType & kZRView ) { 00703 Double_t pvWC[3], pvNDC[3]; 00704 pvWC[0] = +4; 00705 pvWC[1] = 0; 00706 pvWC[2] = 0; 00707 BesTView::WCtoNDC(pvWC, pvNDC); 00708 pn[0] = TMath::Sign(TMath::Sqrt(TMath::Abs(pn[0] - pvNDC[0])), 00709 pn[0] - pvNDC[0]) + pvNDC[0]; 00710 pn[1] = TMath::Sign(TMath::Sqrt(TMath::Abs(pn[1] - pvNDC[1])), 00711 pn[1] - pvNDC[1]) + pvNDC[1]; 00712 } else { 00713 00714 r = TMath::Sqrt(TMath::Power(pn[0],2) 00715 +TMath::Power(pn[1],2)); 00716 s = TMath::Sqrt(r)/r; 00717 pn[0] *= s; 00718 pn[1] *= s; 00719 } 00720 } 00721 }
void BesView::WCtoNDC | ( | const Float_t * | pw, | |
Float_t * | pn | |||
) | [virtual] |
Reimplemented from BesTView.
Definition at line 659 of file BesView.cxx.
References BesStatus::fFishEye, fStatusCurrent, fViewType, kZRView, s, and BesTView::WCtoNDC().
Referenced by BesPolygon2D::DistancetoPrimitive(), Mdc2DWire::Paint(), BesPolygon2D::Paint(), BesMarker2D::Paint(), and BesCircle2D::Paint().
00659 { 00660 // 00661 // Transform world coordinates to 00662 // normalised device coordinates. 00663 // This method was taken from BesTView 00664 // and extended by FishEye view 00665 BesTView::WCtoNDC(pw, pn); 00666 //cout << "fFishEye " << fFishEye << endl; 00667 00668 if ( fStatusCurrent->fFishEye == kTRUE ) { 00669 Float_t r, s; 00670 if ( fViewType & kZRView ) { 00671 Float_t pvWC[3], pvNDC[3]; 00672 pvWC[0] = +4; 00673 pvWC[1] = 0; 00674 pvWC[2] = 0; 00675 BesTView::WCtoNDC(pvWC, pvNDC); 00676 pn[0] = TMath::Sign(Double_t(TMath::Sqrt(TMath::Abs(pn[0] - pvNDC[0]))), 00677 Double_t(pn[0] - pvNDC[0])) + pvNDC[0]; 00678 pn[1] = TMath::Sign(Double_t(TMath::Sqrt(TMath::Abs(pn[1] - pvNDC[1]))), 00679 Double_t(pn[1] - pvNDC[1])) + pvNDC[1]; 00680 } else { 00681 r = TMath::Sqrt(TMath::Power(pn[0],2) 00682 +TMath::Power(pn[1],2)); 00683 s = TMath::Sqrt(r)/r; 00684 pn[0] *= s; 00685 pn[1] *= s; 00686 } 00687 } 00688 }
void BesTView::Zoom | ( | ) | [inline, virtual, inherited] |
Reimplemented in Bes2DView.
Definition at line 182 of file BesTView.h.
References BesTView::ZoomView().
00182 {ZoomView();}
void BesView::ZoomIn | ( | ) | [virtual] |
Reimplemented from BesTView.
Definition at line 495 of file BesView.cxx.
References fMarkerSize, fStatusCurrent, fStatusXY, fStatusZR, BesStatus::fZoom, fZoomFactor, GetZoomRatio(), and BesTView::ZoomView().
Referenced by BesClient::ExecuteEvent(), and BesClient::HandleButtons().
00495 { 00496 // 00497 // Magnify 00498 fMarkerSize = fMarkerSize * fZoomFactor; 00499 ZoomView(gPad, fZoomFactor); // dont use ZoomView as it is not base on center 00500 00501 00502 fStatusCurrent->fZoom = this->GetZoomRatio(); 00503 fStatusXY->fZoom = this->GetZoomRatio(); 00504 fStatusZR->fZoom = this->GetZoomRatio(); 00505 //Double_t scale[3], center[3]; 00506 //Int_t irep; 00507 //FindScope(&scale[0], ¢er[0], irep); 00508 //cout << "scale " << scale[0] << " " << scale[1] << " " << scale[2] << endl; 00509 //cout << "center " << center[0] << " " << center[1] << " " << center[2] << endl; 00510 00511 //Double_t extent = GetExtent(); 00512 //cout << extent << endl; 00513 //cout << GetZoomRatio() << endl; 00514 00515 /* 00516 Double_t x1, y1, x2, y2; 00517 x1 = gPad->GetX1(); 00518 y1 = gPad->GetY1(); 00519 x2 = gPad->GetX2(); 00520 y2 = gPad->GetY2(); 00521 00522 Double_t dx = (gPad->GetX2() - gPad->GetX1())*(1-1/fZoomFactor); 00523 Double_t dy = (gPad->GetY2() - gPad->GetY1())*(1-1/fZoomFactor); 00524 00525 gPad->Range(x1+dx/2, y1+dy/2, x2-dx/2, y2-dy/2); 00526 gPad->Modified(); 00527 */ 00528 }
virtual void BesView::ZoomMove | ( | ) | [inline, virtual] |
Reimplemented from BesTView.
Definition at line 239 of file BesView.h.
References BesTView::ZoomMove().
00239 { BesTView::ZoomMove(); }
void BesView::ZoomOut | ( | ) | [virtual] |
Reimplemented from BesTView.
Definition at line 532 of file BesView.cxx.
References fMarkerSize, fStatusCurrent, fStatusXY, fStatusZR, BesStatus::fZoom, fZoomFactor, GetZoomRatio(), and BesTView::UnzoomView().
Referenced by BesClient::ExecuteEvent(), and BesClient::HandleButtons().
00532 { 00533 // 00534 // Demagnify 00535 fMarkerSize = fMarkerSize / fZoomFactor; 00536 UnzoomView(gPad, fZoomFactor); // dont use ZoomView as it is not base on center 00537 00538 fStatusCurrent->fZoom = this->GetZoomRatio(); 00539 fStatusXY->fZoom = this->GetZoomRatio(); 00540 fStatusZR->fZoom = this->GetZoomRatio(); 00541 //Double_t extent = GetExtent(); 00542 //cout << extent << endl; 00543 //cout << GetZoomRatio() << endl; 00544 00545 /* 00546 Double_t x1, y1, x2, y2; 00547 x1 = gPad->GetX1(); 00548 y1 = gPad->GetY1(); 00549 x2 = gPad->GetX2(); 00550 y2 = gPad->GetY2(); 00551 00552 Double_t dx = (gPad->GetX2() - gPad->GetX1())*(fZoomFactor-1); 00553 Double_t dy = (gPad->GetY2() - gPad->GetY1())*(fZoomFactor-1); 00554 00555 gPad->Range(x1-dx/2, y1-dy/2, x2+dx/2, y2+dy/2); 00556 gPad->Modified(); 00557 */ 00558 }
void BesTView::ZoomView | ( | TVirtualPad * | pad = 0 , |
|
Double_t | zoomFactor = 1.25 | |||
) | [virtual, inherited] |
Definition at line 1777 of file BesTView.cxx.
References BesTView::AdjustPad(), BesTView::GetRange(), genRecEmupikp::i, s, and BesTView::SetRange().
Referenced by BesVisDisplay::DrawView(), BesTView::MoveViewCommand(), Bes2DView::Reset(), SetZoomRatio(), BesTView::UnzoomView(), Bes2DView::Zoom(), BesTView::Zoom(), and ZoomIn().
01778 { 01779 // ZOOM this view 01780 01781 if (TMath::Abs(zoomFactor) < 0.001) return; 01782 Double_t min[3],max[3]; 01783 GetRange(min,max); 01784 int i; 01785 for (i=0;i<3; i++) { 01786 // Find center 01787 Double_t c = (max[i]+min[i])/2; 01788 // Find a new size 01789 Double_t s = (max[i]-min[i])/(2*zoomFactor); 01790 // Set a new size 01791 max[i] = c + s; 01792 min[i] = c - s; 01793 } 01794 SetRange(min,max); 01795 AdjustPad(pad); 01796 }
Bool_t BesTView::fAutoRange [protected, inherited] |
Definition at line 57 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetAutoRange(), BesTView::operator=(), and BesTView::SetAutoRange().
Bool_t BesTView::fChanged [protected, inherited] |
Definition at line 58 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::ExecuteRotateView(), BesTView::IsViewChanged(), BesTView::operator=(), and BesTView::SetViewChanged().
Bool_t BesTView::fDefaultOutline [protected, inherited] |
Definition at line 56 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::operator=(), BesTView::SetOutlineToCube(), and BesTView::SetRange().
Double_t BesTView::fDproj [protected, inherited] |
Definition at line 38 of file BesTView.h.
Referenced by BesTView::DefinePerspectiveView(), BesTView::GetDproj(), BesTView::operator=(), BesTView::SetDefaultWindow(), and BesTView::SetDproj().
Double_t BesTView::fDview [protected, inherited] |
Definition at line 37 of file BesTView.h.
Referenced by BesTView::DefinePerspectiveView(), BesTView::GetDview(), BesTView::operator=(), BesTView::SetDefaultWindow(), BesTView::SetDview(), BesTView::ZoomIn(), and BesTView::ZoomOut().
Double_t BesView::fExtentDefault [private] |
Bool_t BesView::fFishEye [private] |
TPaveLabel* BesView::fLabel [private] |
Double_t BesTView::fLatitude [protected, inherited] |
Definition at line 34 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::GetLatitude(), BesTView::MoveFocus(), BesTView::operator=(), BesTView::ResetView(), BesTView::SetLatitude(), BesTView::SetParallel(), BesTView::SetPerspective(), and BesTView::SetRange().
Double_t BesTView::fLongitude [protected, inherited] |
Definition at line 35 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::GetLongitude(), BesTView::MoveFocus(), BesTView::operator=(), BesTView::ResetView(), BesTView::SetLongitude(), BesTView::SetParallel(), BesTView::SetPerspective(), and BesTView::SetRange().
Float_t BesView::fMarkerSize [private] |
Definition at line 34 of file BesView.h.
Referenced by GetMarkerSize(), SetMarkerSize(), SetViewType(), ZoomIn(), and ZoomOut().
TSeqCollection* BesTView::fOutline [protected, inherited] |
Definition at line 55 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::ExecuteRotateView(), BesTView::GetOutline(), BesTView::operator=(), BesTView::SetOutlineToCube(), and BesTView::~BesTView().
Float_t BesView::fPhiRangeMax [private] |
Float_t BesView::fPhiRangeMin [private] |
Double_t BesTView::fPsi [protected, inherited] |
Definition at line 36 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::GetPsi(), BesTView::MoveFocus(), BesTView::operator=(), BesTView::ResetView(), BesTView::SetParallel(), BesTView::SetPerspective(), BesTView::SetPsi(), and BesTView::SetRange().
Double_t BesTView::fRmax[3] [protected, inherited] |
Definition at line 43 of file BesTView.h.
Referenced by BesTView::AxisVertex(), BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::FindScope(), BesTView::GetExtent(), BesTView::GetRange(), BesTView::GetRmax(), BesTView::MoveFocus(), BesTView::operator=(), BesTView::PadRange(), BesTView::SetOutlineToCube(), and BesTView::SetRange().
Double_t BesTView::fRmin[3] [protected, inherited] |
Definition at line 44 of file BesTView.h.
Referenced by BesTView::AxisVertex(), BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::FindScope(), BesTView::GetExtent(), BesTView::GetRange(), BesTView::GetRmin(), BesTView::operator=(), BesTView::PadRange(), BesTView::SetOutlineToCube(), and BesTView::SetRange().
BesStatus* BesView::fStatus3D [private] |
Definition at line 35 of file BesView.h.
Referenced by GetStatus3D(), Reset(), SetViewType(), and ~BesView().
BesStatus* BesView::fStatusCurrent [private] |
Definition at line 38 of file BesView.h.
Referenced by GetFishEyeStatus(), GetRSign(), GetStatusCurrent(), GetVisAxis(), GetVisBeamPipe(), GetVisEmcBarrel(), GetVisEmcEast(), GetVisEmcGlobal(), GetVisEmcHitsBarrel(), GetVisEmcHitsEast(), GetVisEmcHitsGlobal(), GetVisEmcHitsSide(), GetVisEmcHitsWest(), GetVisEmcSide(), GetVisEmcWest(), GetVisFull3DEmc(), GetVisFull3DMdc(), GetVisFull3DMuc(), GetVisFull3DTof(), GetVisMdcGlobal(), GetVisMdcHits(), GetVisMdcHitsGlobal(), GetVisMdcTubes(), GetVisMdcWires(), GetVisMucBarrel(), GetVisMucEast(), GetVisMucGlobal(), GetVisMucHitsBarrel(), GetVisMucHitsEast(), GetVisMucHitsGlobal(), GetVisMucHitsWest(), GetVisMucStrips(), GetVisMucWest(), GetVisTofBarrel(), GetVisTofEast(), GetVisTofGlobal(), GetVisTofHitsBarrel(), GetVisTofHitsEast(), GetVisTofHitsGlobal(), GetVisTofHitsWest(), GetVisTofWest(), GetVisTracksEmc(), GetVisTracksExt(), GetVisTracksGlobal(), GetVisTracksMdc(), GetVisTracksMuc(), GetVisTracksTof(), GetVisZoom(), GetVisZRPlaneOnXY(), NDCtoWC(), PrintCurrent(), Reset(), SetFishEye(), SetPhiRange(), SetViewType(), SetVisAxis(), SetVisBeamPipe(), SetVisEmcBarrel(), SetVisEmcEast(), SetVisEmcGlobal(), SetVisEmcHitsBarrel(), SetVisEmcHitsEast(), SetVisEmcHitsGlobal(), SetVisEmcHitsSide(), SetVisEmcHitsWest(), SetVisEmcSide(), SetVisEmcWest(), SetVisFull3DEmc(), SetVisFull3DMdc(), SetVisFull3DMuc(), SetVisFull3DTof(), SetVisMdcGlobal(), SetVisMdcHits(), SetVisMdcHitsGlobal(), SetVisMdcTubes(), SetVisMdcWires(), SetVisMucBarrel(), SetVisMucEast(), SetVisMucGlobal(), SetVisMucHitsBarrel(), SetVisMucHitsEast(), SetVisMucHitsGlobal(), SetVisMucHitsWest(), SetVisMucStrips(), SetVisMucWest(), SetVisTofBarrel(), SetVisTofEast(), SetVisTofGlobal(), SetVisTofHitsBarrel(), SetVisTofHitsEast(), SetVisTofHitsGlobal(), SetVisTofHitsWest(), SetVisTofWest(), SetVisTracksEmc(), SetVisTracksExt(), SetVisTracksGlobal(), SetVisTracksMdc(), SetVisTracksMuc(), SetVisTracksTof(), SetVisZoom(), SetVisZRPlaneOnXY(), SetZoomRatio(), WCtoNDC(), ZoomIn(), ZoomOut(), and ~BesView().
BesStatus* BesView::fStatusXY [private] |
Definition at line 36 of file BesView.h.
Referenced by GetStatusXY(), Reset(), SetViewType(), SetZoomRatio(), ZoomIn(), ZoomOut(), and ~BesView().
BesStatus* BesView::fStatusZR [private] |
Definition at line 37 of file BesView.h.
Referenced by GetStatusZR(), Reset(), SetViewType(), SetZoomRatio(), ZoomIn(), ZoomOut(), and ~BesView().
Int_t BesTView::fSystem [protected, inherited] |
Definition at line 54 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::GetSystem(), BesTView::operator=(), and BesTView::SetSystem().
Double_t BesTView::fTB[16] [protected, inherited] |
Definition at line 42 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::operator=(), and BesTView::ResetView().
Double_t BesTView::fTback[16] [protected, inherited] |
Definition at line 47 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetTback(), BesTView::NDCtoWC(), BesTView::operator=(), and BesTView::ResetView().
Double_t BesTView::fTN[16] [protected, inherited] |
Definition at line 41 of file BesTView.h.
Referenced by BesTView::AxisVertex(), BesTView::BesTView(), BesTView::FindNormal(), BesTView::FindPhiSectors(), BesTView::FindThetaSectors(), BesTView::GetTN(), BesTView::operator=(), and BesTView::ResetView().
Double_t BesTView::fTnorm[16] [protected, inherited] |
Definition at line 46 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::GetTnorm(), BesTView::NormalWCtoNDC(), BesTView::operator=(), BesTView::PadRange(), BesTView::ResetView(), and BesTView::WCtoNDC().
Double_t BesTView::fUpix [protected, inherited] |
Definition at line 39 of file BesTView.h.
Referenced by BesTView::operator=(), BesTView::ResizePad(), and BesTView::SetDefaultWindow().
Double_t BesTView::fUVcoord[4] [protected, inherited] |
Definition at line 45 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::DefinePerspectiveView(), BesTView::GetWindow(), BesTView::GetWindowHeight(), BesTView::GetWindowWidth(), BesTView::MoveWindow(), BesTView::operator=(), BesTView::ResizePad(), and BesTView::SetWindow().
EBESViewType BesView::fViewType [private] |
Definition at line 30 of file BesView.h.
Referenced by DrawLabel(), ExecuteEvent(), GetObjectInfo(), GetViewType(), NDCtoWC(), Reset(), SetFishEye(), SetViewType(), UpdateView(), and WCtoNDC().
Double_t BesTView::fVpix [protected, inherited] |
Definition at line 40 of file BesTView.h.
Referenced by BesTView::operator=(), BesTView::ResizePad(), and BesTView::SetDefaultWindow().
Double_t BesTView::fX1[3] [protected, inherited] |
Definition at line 48 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::operator=(), and BesTView::SetAxisNDC().
Double_t BesTView::fX2[3] [protected, inherited] |
Definition at line 49 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::operator=(), and BesTView::SetAxisNDC().
Double_t BesTView::fY1[3] [protected, inherited] |
Definition at line 50 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::operator=(), and BesTView::SetAxisNDC().
Double_t BesTView::fY2[3] [protected, inherited] |
Definition at line 51 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::operator=(), and BesTView::SetAxisNDC().
Double_t BesTView::fZ1[3] [protected, inherited] |
Definition at line 52 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::operator=(), and BesTView::SetAxisNDC().
Double_t BesTView::fZ2[3] [protected, inherited] |
Definition at line 53 of file BesTView.h.
Referenced by BesTView::BesTView(), BesTView::GetDistancetoAxis(), BesTView::operator=(), and BesTView::SetAxisNDC().
Double_t BesView::fZoomFactor [private] |
Definition at line 39 of file BesView.h.
Referenced by GetZoomFactor(), Reset(), SetViewType(), SetZoomFactor(), ZoomIn(), and ZoomOut().
Float_t BesView::m_BesR [private] |
Float_t BesView::m_BesZ [private] |