#include <BesVisDisplay.h>
Public Member Functions | |
virtual Bool_t | AllViews () |
virtual Bool_t | AllViews () |
BesVisDisplay (const char *title) | |
BesVisDisplay () | |
BesVisDisplay (const char *title) | |
BesVisDisplay () | |
virtual void | Clear (Option_t *option="") |
virtual void | Clear (Option_t *option="") |
virtual void | DisplayTrigger (Int_t trig) |
virtual void | DisplayTrigger (Int_t trig) |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
virtual void | Draw (Option_t *option="") |
virtual void | Draw (Option_t *option="") |
void | Draw2D (Option_t *option="") |
void | Draw2D (Option_t *option="") |
void | Draw2DXY (Option_t *option="") |
void | Draw2DXY (Option_t *option="") |
void | Draw2DZR (Option_t *option="") |
void | Draw2DZR (Option_t *option="") |
void | Draw3D (Option_t *option="") |
void | Draw3D (Option_t *option="") |
virtual void | DrawAllViews () |
virtual void | DrawAllViews () |
Bool_t | DrawClusters () |
Bool_t | DrawClusters () |
virtual void | DrawHeader () |
virtual void | DrawHeader () |
void | DrawImageSequence (Int_t thetaStart, Int_t thetaStep) |
void | DrawImageSequence (Int_t thetaStart, Int_t thetaStep) |
Bool_t | DrawParticles () |
Bool_t | DrawParticles () |
Bool_t | DrawParticles2 () |
Bool_t | DrawParticles2 () |
virtual void | DrawTitle (Option_t *option="") |
virtual void | DrawTitle (Option_t *option="") |
virtual void | DrawView (Float_t theta, Float_t phi) |
virtual void | DrawView (Float_t theta, Float_t phi) |
virtual void | DrawViewGL () |
virtual void | DrawViewGL () |
void | DrawViewRange (Double_t x0, Double_t y0, Double_t z0, Double_t zoomSize) |
void | DrawViewRange (Double_t x0, Double_t y0, Double_t z0, Double_t zoomSize) |
virtual void | DrawViewRaytracer (Float_t theta, Float_t phi, Float_t psi) |
virtual void | DrawViewRaytracer (Float_t theta, Float_t phi, Float_t psi) |
virtual void | DrawViewX3D (char option) |
virtual void | DrawViewX3D () |
virtual void | DrawViewX3D (char option) |
virtual void | DrawViewX3D () |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
BesGeometry * | GetBesGeometry () |
BesGeometry * | GetBesGeometry () |
Int_t | GetDisplayMode () |
Int_t | GetDisplayMode () |
Bool_t | GetEmcOn () |
Bool_t | GetEmcOn () |
EmcROOTGeo * | GetEmcROOTGeo () |
EmcROOTGeo * | GetEmcROOTGeo () |
virtual void | GetEvent (Long64_t event) |
virtual void | GetEvent (Long64_t event) |
Bool_t | GetMdcOn () |
Bool_t | GetMdcOn () |
MdcROOTGeo * | GetMdcROOTGeo () |
MdcROOTGeo * | GetMdcROOTGeo () |
MucROOTGeo * | GetMucROOTGeo () |
MucROOTGeo * | GetMucROOTGeo () |
TPad * | GetPad3D () |
TPad * | GetPad3D () |
TPad * | GetPadXY () |
TPad * | GetPadXY () |
TPad * | GetPadZR () |
TPad * | GetPadZR () |
Bool_t | GetTofOn () |
Bool_t | GetTofOn () |
TofROOTGeo * | GetTofROOTGeo () |
TofROOTGeo * | GetTofROOTGeo () |
TGeoVolume * | GetVolBes () |
TGeoVolume * | GetVolBes () |
void | Init () |
void | Init () |
virtual void | InitGeometryFromGDML (const TString fPath) |
virtual void | InitGeometryFromGDML (const TString fPath) |
virtual void | InitGeometryFromROOT (TGeoVolume *bes) |
virtual void | InitGeometryFromROOT (TGeoVolume *bes) |
Bool_t | IsVHeader () |
Bool_t | IsVHeader () |
TPad * | Pad () |
TPad * | Pad () |
virtual void | Paint (Option_t *option="") |
virtual void | Paint (Option_t *option="") |
virtual void | PaintFruit (TObject *obj, Float_t eta, Float_t phi, Float_t pt, Int_t type, Option_t *option="") |
virtual void | PaintFruit (TObject *obj, Float_t eta, Float_t phi, Float_t pt, Int_t type, Option_t *option="") |
virtual void | PaintParticles (Option_t *option="") |
virtual void | PaintParticles (Option_t *option="") |
Float_t | PTcut () |
Float_t | PTcut () |
Float_t | PTcutEGMUNU () |
Float_t | PTcutEGMUNU () |
virtual void | Reset () |
virtual void | Reset () |
virtual void | ResizePad () |
virtual void | ResizePad () |
Float_t | Rin () |
Float_t | Rin () |
Float_t | Rout () |
Float_t | Rout () |
void | SetAllVisible (Int_t vis) |
void | SetAllVisible (Int_t vis) |
virtual void | SetCanvas (TCanvas *c=0) |
virtual void | SetCanvas (TCanvas *c=0) |
void | SetDisplayMode (Int_t mode) |
void | SetDisplayMode (Int_t mode) |
virtual void | SetDrawClusters (Bool_t draw=kTRUE) |
virtual void | SetDrawClusters (Bool_t draw=kTRUE) |
virtual void | SetDrawParticles (Bool_t draw=kTRUE) |
virtual void | SetDrawParticles (Bool_t draw=kTRUE) |
void | SetEmcCon (Int_t emcCon) |
void | SetEmcCon (Int_t emcCon) |
void | SetEmcFiredCell () |
void | SetEmcFiredCell () |
virtual void | SetEmcOn (Bool_t EmcOn) |
virtual void | SetEmcOn (Bool_t EmcOn) |
void | SetHalfVisible (Int_t vis) |
void | SetHalfVisible (Int_t vis) |
void | SetMdcCon (Int_t mdcCon) |
void | SetMdcCon (Int_t mdcCon) |
void | SetMdcFiredCell () |
void | SetMdcFiredCell () |
virtual void | SetMdcOn (Bool_t MdcOn) |
virtual void | SetMdcOn (Bool_t MdcOn) |
void | SetMucCon (Int_t mucCon) |
void | SetMucCon (Int_t mucCon) |
void | SetMucFiredCell () |
void | SetMucFiredCell () |
void | SetNoEndVisible (Int_t vis) |
void | SetNoEndVisible (Int_t vis) |
virtual void | SetPTcut (Float_t ptcut=0.4) |
virtual void | SetPTcut (Float_t ptcut=0.4) |
virtual void | SetPTcutEGMUNU (Float_t ptcut=5) |
virtual void | SetPTcutEGMUNU (Float_t ptcut=5) |
void | SetQuarterVisible (Int_t vis) |
void | SetQuarterVisible (Int_t vis) |
void | SetTofCon (Int_t tofCon) |
void | SetTofCon (Int_t tofCon) |
void | SetTofFiredCell () |
void | SetTofFiredCell () |
virtual void | SetTofOn (Bool_t TofOn) |
virtual void | SetTofOn (Bool_t TofOn) |
virtual void | SetView (Float_t theta, Float_t phi) |
virtual void | SetView (Float_t theta, Float_t phi) |
virtual void | ShowNextEvent (Int_t delta=1) |
virtual void | ShowNextEvent (Int_t delta=1) |
virtual void | SizeFruit () const |
virtual void | SizeFruit () const |
virtual void | SizeParticles () const |
virtual void | SizeParticles () const |
virtual void | SwitchDisplayMode (Int_t mode) |
virtual void | SwitchDisplayMode (Int_t mode) |
virtual void | SwitchPad () |
virtual void | SwitchPad () |
Float_t | Zin () |
Float_t | Zin () |
Float_t | Zout () |
Float_t | Zout () |
virtual | ~BesVisDisplay () |
virtual | ~BesVisDisplay () |
Private Attributes | |
BesView * | f3DView |
BesView * | f3DView |
TArc * | fALL |
TArc * | fALL |
Int_t | fAllVis |
TGeoVolume * | fBes |
TGeoVolume * | fBes |
BesGeometry * | fBesGeometry |
BesGeometry * | fBesGeometry |
BesHeader * | fBesHeader |
BesHeader * | fBesHeader |
Float_t | fBesR |
Float_t | fBesZ |
TPad * | fButtons |
TPad * | fButtons |
TCanvas * | fCanvas |
TCanvas * | fCanvas |
Double_t | fCoordx |
Double_t | fCoordy |
Int_t | fDisplayMode |
Double_t | fDistanceOfRows |
Bool_t | fDrawAllViews |
Bool_t | fDrawClusters |
Bool_t | fDrawParticles |
Bool_t | fDrawParticles2 |
TArc * | fEM1 |
TArc * | fEM1 |
TArc * | fEM2 |
TArc * | fEM2 |
Int_t | fEmcCon |
Bool_t | fEmcOn |
EmcROOTGeo * | fEmcROOTGeo |
EmcROOTGeo * | fEmcROOTGeo |
TArc * | fEMU |
TArc * | fEMU |
Int_t | fHalfVis |
TImage * | fHeaderHImage |
TImage * | fHeaderHImage |
TImage * | fHeaderImage |
TImage * | fHeaderImage |
TImage * | fHeaderVImage |
TImage * | fHeaderVImage |
TArc * | fJT1 |
TArc * | fJT1 |
TArc * | fJT3 |
TArc * | fJT3 |
TArc * | fJT4 |
TArc * | fJT4 |
Double_t | fLatticeWidth |
Int_t | fMdcCon |
Bool_t | fMdcOn |
MdcROOTGeo * | fMdcROOTGeo |
MdcROOTGeo * | fMdcROOTGeo |
TArc * | fMU1 |
TArc * | fMU1 |
TArc * | fMU2 |
TArc * | fMU2 |
Int_t | fMucCon |
MucROOTGeo * | fMucROOTGeo |
MucROOTGeo * | fMucROOTGeo |
Int_t | fNoEndVis |
TPad * | fPad |
TPad * | fPad |
TPad * | fPad3D |
TPad * | fPad3D |
TPad * | fPadHeader |
TPad * | fPadHeader |
TPad * | fPadXY |
TPad * | fPadXY |
TPad * | fPadZR |
TPad * | fPadZR |
TArc * | fPH1 |
TArc * | fPH1 |
Float_t | fPhi |
Float_t | fPTcut |
Float_t | fPTcutEGMUNU |
Int_t | fQuarterVis |
Int_t | fRayPicCount |
Float_t | fRin |
Float_t | fRout |
Double_t | fTextSizeData |
Double_t | fTextSizeFlt |
Double_t | fTextSizeTime |
Double_t | fTextSizeTitle |
Float_t | fTheta |
Int_t | fTofCon |
Bool_t | fTofOn |
TofROOTGeo * | fTofROOTGeo |
TofROOTGeo * | fTofROOTGeo |
TPad * | fTrigPad |
TPad * | fTrigPad |
BesView * | fxyView |
BesView * | fxyView |
Float_t | fZin |
Float_t | fZout |
BesView * | fzrView |
BesView * | fzrView |
|
|
|
00065 : TQObject(), 00066 fBesGeometry(0), 00067 fMdcROOTGeo(0), 00068 fTofROOTGeo(0), 00069 fEmcROOTGeo(0), 00070 fMucROOTGeo(0), 00071 fMdcCon(0), 00072 fTofCon(0), 00073 fEmcCon(0), 00074 fMucCon(0), 00075 fAllVis(0), 00076 fQuarterVis(0), 00077 fHalfVis(0), 00078 fNoEndVis(0) 00079 { 00080 00081 }
|
|
00085 { 00086 00087 }
|
|
|
|
|
|
|
|
00147 {return fDrawAllViews;}
|
|
00147 {return fDrawAllViews;}
|
|
|
|
01267 {
01268 // Delete graphics temporary objects
01269
01270 }
|
|
|
|
00666 { 00667 // Display trigger parameters for current event 00668 trig = 1; 00669 00670 if (trig) fEM1->SetFillColor(kGreen); 00671 else fEM1->SetFillColor(kRed); 00672 if (trig) fPH1->SetFillColor(kGreen); 00673 else fPH1->SetFillColor(kRed); 00674 if (trig) fEM2->SetFillColor(kGreen); 00675 else fEM2->SetFillColor(kRed); 00676 if (trig) fMU1->SetFillColor(kGreen); 00677 else fMU1->SetFillColor(kRed); 00678 if (trig) fMU2->SetFillColor(kGreen); 00679 else fMU2->SetFillColor(kRed); 00680 if (trig) fEMU->SetFillColor(kGreen); 00681 else fEMU->SetFillColor(kRed); 00682 if (trig) fJT1->SetFillColor(kGreen); 00683 else fJT1->SetFillColor(kRed); 00684 if (trig) fJT3->SetFillColor(kGreen); 00685 else fJT3->SetFillColor(kRed); 00686 if (trig) fJT4->SetFillColor(kGreen); 00687 else fJT4->SetFillColor(kRed); 00688 if (trig) fALL->SetFillColor(kGreen); 00689 else fALL->SetFillColor(kRed); 00690 fTrigPad->Modified(); 00691 }
|
|
|
|
00695 { 00696 // Compute distance from point px,py to objects in event 00697 00698 if (fBesHeader) return fBesHeader->DistancetoPrimitive(px, py)-10; 00699 else return 9999; 00700 00701 if (gPad == fTrigPad) { 00702 gPad->SetCursor(kCross); 00703 return 0; 00704 } 00705 00706 const Int_t big = 9999; 00707 Int_t dist = big; 00708 Float_t xmin = gPad->GetX1(); 00709 Float_t xmax = gPad->GetX2(); 00710 Float_t dx = 0.05*(xmax - xmin); 00711 Float_t x = gPad->AbsPixeltoX(px); 00712 if (x < xmin+dx || x > xmax-dx) return dist; 00713 00714 // scan list of particles 00715 //dist = fParticle->DistancetoPrimitive(px, py); 00716 //if (dist <= 0) return 0; 00717 00718 // scan list of fruits 00719 /* 00720 TIter nextf(fFruits); 00721 BesVisFruit *fruit; 00722 while((fruit=(BesVisFruit*)nextf())) { 00723 dist = fruit->DistancetoPrimitive(px, py); 00724 if (dist < 5) { 00725 gPad->SetSelected(fruit->Fruit()); 00726 gPad->SetCursor(kCross); 00727 return 0; 00728 } 00729 } 00730 */ 00731 00732 /* 00733 // scan list of detectors (currently only one tube) 00734 dist = fNodin->DistancetoPrimitive(px, py); 00735 if (gPad->GetCanvas()->GetSelected() == gPad->GetView()) { 00736 gPad->SetSelected(this); 00737 } 00738 */ 00739 00740 return 0; 00741 }
|
|
|
|
00745 { 00746 // Insert current event in graphics pad list 00747 00748 //fPad->cd(); 00749 00750 //fCanvas->Range(0,0,1,1); 00751 Draw2D(); 00752 Draw3D(); 00753 SwitchDisplayMode(0); 00754 //DrawView(fTheta, fPhi); 00755 //fPad->x3d(); 00756 /* 00757 TViewerX3D *x3dPad = new TViewerX3D(fPad); 00758 x3dPad->CreateScene("x3d"); 00759 //x3dPad->SetForegroundColor(x3dPad->GetWhitePixel()); 00760 //x3dPad->SetBackgroundColor(x3dPad->GetWhitePixel()); 00761 x3dPad->Show(); 00762 */ 00763 00764 // Display the event number and title 00765 //fPad->cd(); 00766 //DrawTitle(); 00767 }
|
|
|
|
00771 { 00772 cout << "Create 2D View " << endl; 00773 fPadXY->cd(); 00774 fPadXY->Clear(); 00775 Draw2DXY(); 00776 fPadXY->Update(); 00777 00778 fPadZR->cd(); 00779 fPadZR->Clear(); 00780 Draw2DZR(); 00781 fPadZR->Update(); 00782 00783 //DrawTitle(); 00784 00785 //fPad->SetEditable(kFALSE); 00786 }
|
|
|
|
|
|
|
|
|
|
|
|
00790 { 00791 cout << "enter BesVisDisplay::Draw3D()" << endl; // added by tianhl to debug shutdown 00792 00793 fPad3D->cd(); 00794 fPad3D->Clear(); 00795 00796 f3DView = new BesView(); 00797 f3DView->View3D(); 00798 }
|
|
|
|
00817 { 00818 // Draw front,top,side and 30 deg views 00819 00820 fDrawAllViews = kTRUE; 00821 fPad->cd(); 00822 fPad->SetFillColor(15); 00823 fPad->Clear(); 00824 fPad->Divide(2,2); 00825 00826 // draw 30 deg view 00827 fPad->cd(1); 00828 DrawView(30, 30); 00829 DrawTitle(); 00830 00831 // draw front view 00832 fPad->cd(2); 00833 DrawView(0, 180); //0,-90, 0 00834 DrawTitle("Front"); 00835 00836 // draw top view 00837 fPad->cd(3); 00838 DrawView(90, 90); 00839 DrawTitle("Top"); 00840 00841 // draw side view 00842 fPad->cd(4); 00843 DrawView(90, 0); 00844 DrawTitle("Side"); 00845 00846 fPad->cd(2); 00847 }
|
|
00158 {return fDrawClusters;}
|
|
00158 {return fDrawClusters;}
|
|
|
|
00237 { 00238 fPadHeader->cd(); 00239 //fPadHeader->Clear(); 00240 00241 //TASImage asImage("HeaderH2.gif"); 00242 //Pixmap_t pic = asImage.GetPixmap(); 00243 00244 //cout << "mode " << fDisplayMode << endl; 00245 // draw text over image with funny font 00246 if (fDisplayMode == 0 || fDisplayMode == 4) { 00247 fHeaderImage->Zoom(161, 649, 635, 174); // (x Offset, y Offset, width, height) 00248 //fHeaderImage->Scale(800, 200); 00249 } 00250 else { 00251 fHeaderImage->Zoom(600, 324, 164, 473); 00252 //fHeaderImage->Scale(200, 600); 00253 } 00254 00255 // draw text over image with foreground specified by pixmap 00256 //img->DrawText(250, 350, "goodbye cruel world ...", 24, 0, ar, TImage::kPlain, "fore.xpm"); 00257 00258 fBesHeader->Clear(); 00259 //fBesHeader->AddText("Commented"); 00260 00261 if (!gEvent) { 00262 fBesHeader->AddText("No Event Info"); 00263 } 00264 else { 00265 // old coordinates 00266 Double_t coordx=fCoordx; 00267 Double_t coordy=fCoordy; 00268 00269 // Get data 00270 Long64_t runno = gEvent->GetRun(); 00271 Long64_t eventno = gEvent->GetEvent(); 00272 Int_t year = gEvent->GetYear(); 00273 Int_t month = gEvent->GetMonth(); 00274 Int_t day = gEvent->GetDay(); 00275 Int_t hour = gEvent->GetHour(); 00276 Int_t min = gEvent->GetMin(); 00277 Int_t sec = gEvent->GetSec(); 00278 00279 // Add title 00280 if (IsVHeader()) { 00281 coordx = 0.1; 00282 coordy = 0.92; 00283 } 00284 else { 00285 coordx = 0.02; 00286 coordy = 0.9; 00287 } 00288 char title1[20]; 00289 sprintf(title1, "Run %ld ", runno); 00290 TText* ttitle1 = fBesHeader->AddText(coordx,coordy,title1); 00291 ttitle1->SetTextSize(fTextSizeTitle); 00292 ttitle1->SetTextColor(1); 00293 ttitle1->SetTextAlign(12); 00294 00295 if (IsVHeader()) { 00296 coordx = 0.1; 00297 coordy = 0.88; 00298 } 00299 else { 00300 coordx = 0.02; 00301 coordy = 0.825; 00302 } 00303 char title2[20]; 00304 sprintf(title2, "Event %ld ", eventno); 00305 TText* ttitle2 = fBesHeader->AddText(coordx,coordy,title2); 00306 ttitle2->SetTextSize(fTextSizeTitle); 00307 ttitle2->SetTextColor(1); 00308 ttitle2->SetTextAlign(12); 00309 00310 00311 // Add date 00312 if (IsVHeader()) { 00313 coordx = 0.1; 00314 coordy = 0.85; 00315 } 00316 else { 00317 coordx = 0.02; 00318 coordy = 0.75; 00319 } 00320 char date[70]; 00321 sprintf(date,"date: %4d-%02d-%02d ", year,month,day); 00322 TText* tdate = fBesHeader->AddText(coordx,coordy,date); 00323 tdate->SetTextSize(fTextSizeTime); 00324 tdate->SetTextFont(52); 00325 tdate->SetTextColor(1); 00326 tdate->SetTextAlign(12); 00327 00328 // Add time 00329 if (IsVHeader()) { 00330 coordx = 0.1; 00331 coordy = 0.82; 00332 } 00333 else { 00334 coordx = 0.25; 00335 coordy = 0.75; 00336 } 00337 char time[70]; 00338 sprintf(time,"time: %02d:%02d:%02d", hour,min,sec); 00339 TText* ttime=fBesHeader->AddText(coordx,coordy,time); 00340 ttime->SetTextSize(fTextSizeTime); 00341 ttime->SetTextFont(52); 00342 ttime->SetTextColor(1); 00343 ttime->SetTextAlign(12); 00344 00345 // string for contents 00346 TString info; 00347 vector<TString> statusCon; 00348 00349 char data[25]; 00350 if (gEvent->GetMC()) sprintf(data, "MC=Yes"); 00351 else sprintf(data, "MC=No"); 00352 statusCon.push_back(TString(data)); 00353 00354 vector<Int_t> trigChannelVector = gEvent->GetHeader().GetTrigChannelVector(); 00355 vector<Int_t> trigConditionVector = gEvent->GetHeader().GetTrigConditionVector(); 00356 Int_t timeType = gEvent->GetHeader().GetTimeType(); 00357 //************************************ 00358 sprintf(data, "Time Type: %d", timeType); 00359 statusCon.push_back(TString(data)); 00360 if (IsVHeader()) { 00361 coordx = 0.10; 00362 coordy = 0.78; 00363 } 00364 else { 00365 coordx = 0.02; 00366 coordy = 0.65; 00367 } 00368 for (Int_t i = 0; i < (Int_t)statusCon.size(); i++) { 00369 TText* ttitle=fBesHeader->AddText(coordx,coordy,statusCon[i].Data()); 00370 if (IsVHeader()) coordy -= 0.02 ; 00371 else coordx += 0.2; 00372 ttitle->SetTextSize(fTextSizeData); 00373 ttitle->SetTextFont(62); 00374 ttitle->SetTextColor(1); 00375 ttitle->SetTextAlign(12); 00376 } 00377 vector<TString> infoCon; 00378 //cout << "BesVisDisplay::time Type: " << timeType << endl; 00379 vector<Int_t>::iterator pTrigVector; 00380 for (pTrigVector = trigConditionVector.begin(); 00381 pTrigVector != trigConditionVector.end(); 00382 pTrigVector++){ 00383 //cout << "BesVisDisplay::trigCondition: " << *pTrigVector << endl; 00384 } 00385 //for (pTrigVector = trigChannelVector.begin(); 00386 // pTrigVector != trigChannelVector.end(); 00387 // pTrigVector++){ 00388 //sprintf(data, "Trig Channel_00"); 00389 //infoCon.push_back(TString(data)); 00390 //sprintf(data, "Trig Channel_01"); 00391 //infoCon.push_back(TString(data)); 00392 //sprintf(data, "Trig Channel_02"); 00393 //infoCon.push_back(TString(data)); 00394 //sprintf(data, "Trig Channel_03"); 00395 //infoCon.push_back(TString(data)); 00396 //sprintf(data, "Trig Channel_04"); 00397 //infoCon.push_back(TString(data)); 00398 //sprintf(data, "Trig Channel_05"); 00399 //infoCon.push_back(TString(data)); 00400 //sprintf(data, "Trig Channel_06"); 00401 //infoCon.push_back(TString(data)); 00402 //sprintf(data, "Trig Channel_07"); 00403 //infoCon.push_back(TString(data)); 00404 //sprintf(data, "Trig Channel_08"); 00405 //infoCon.push_back(TString(data)); 00406 //sprintf(data, "Trig Channel_09"); 00407 //infoCon.push_back(TString(data)); 00408 //sprintf(data, "Trig Channel_10"); 00409 //infoCon.push_back(TString(data)); 00410 //sprintf(data, "Trig Channel_11"); 00411 //infoCon.push_back(TString(data)); 00412 //sprintf(data, "Trig Channel_12"); 00413 //infoCon.push_back(TString(data)); 00414 //sprintf(data, "Trig Channel_13"); 00415 //infoCon.push_back(TString(data)); 00416 //sprintf(data, "Trig Channel_14"); 00417 //infoCon.push_back(TString(data)); 00418 //sprintf(data, "Trig Channel_15"); 00419 //infoCon.push_back(TString(data)); 00420 //cout << "BesVisDisplay::trigChannel: " << *pTrigVector << endl; 00421 //} 00422 //************************************ 00423 00424 //if (GetMdcOn()) { 00425 // //Float_t p = gEvent->GetHeader().GetP(); 00426 // //Float_t pt = gEvent->GetHeader().GetPt(); 00427 // //Float_t px = gEvent->GetHeader().GetPx(); 00428 // //Float_t py = gEvent->GetHeader().GetPy(); 00429 // //Float_t pz = gEvent->GetHeader().GetPz(); 00430 00431 // //sprintf(data, "P= %-.3fGeV", p); 00432 // //infoCon.push_back(TString(data)); 00433 // //sprintf(data, "Pt= %-.3fGeV", pt); 00434 // //infoCon.push_back(TString(data)); 00435 // //sprintf(data, "Px= %-.3fGeV", px); 00436 // //infoCon.push_back(TString(data)); 00437 // //sprintf(data, "Py= %-.3fGeV", py); 00438 // //infoCon.push_back(TString(data)); 00439 // //sprintf(data, "Pz= %-.3fGeV", pz); 00440 // //infoCon.push_back(TString(data)); 00441 //} 00442 00443 //if (GetTofOn()) { 00444 // Float_t t = gEvent->GetHeader().GetT(); 00445 00446 // sprintf(data, "tofMin= %-.3fns", t); 00447 // infoCon.push_back(TString(data)); 00448 //} 00449 00450 //if (GetEmcOn()) { 00451 // Float_t e = gEvent->GetHeader().GetE(); 00452 00453 // sprintf(data, "ECal= %-.3fGeV", e); 00454 // infoCon.push_back(TString(data)); 00455 //} 00456 00467 00482 Int_t npr; 00483 Float_t rowH; 00484 Float_t textSize = fTextSizeData; 00485 if (IsVHeader()) { 00486 fCoordx = 0.10; 00487 fCoordy = 0.70; 00488 npr = 1; 00489 rowH = 0.04; 00490 textSize *= 1.2; 00491 } 00492 else { 00493 fCoordx = 0.02; 00494 fCoordy = 0.50; 00495 npr = 4; 00496 rowH = 0.1; 00497 } 00498 00499 pTrigVector = trigChannelVector.begin(); 00500 for (Int_t i = 0; i < (Int_t)infoCon.size(); i++) { 00501 coordx = fCoordx + (i%npr)*(1.0/npr); 00502 coordy = fCoordy - (i/npr)*rowH; 00503 00504 if (*pTrigVector == i){ 00505 TString temp = infoCon[i] + " ON"; 00506 TText* tdata=fBesHeader->AddText(coordx,coordy,temp.Data()); 00507 tdata->SetTextSize(textSize); 00508 tdata->SetTextFont(62); 00509 tdata->SetTextColor(2); 00510 tdata->SetTextAlign(12); 00511 pTrigVector++; 00512 } 00513 else { 00514 TString temp = infoCon[i] + " OFF"; 00515 TText* tdata=fBesHeader->AddText(coordx,coordy,temp.Data()); 00516 tdata->SetTextSize(textSize); 00517 tdata->SetTextFont(62); 00518 tdata->SetTextColor(1); 00519 tdata->SetTextAlign(12); 00520 } 00521 } 00522 } 00523 00524 fBesHeader->Draw("same"); 00525 00526 fPadHeader->SetEditable(kFALSE); 00527 fPadHeader->Modified(); 00528 fPadHeader->Update(); 00529 fCanvas->cd(); 00530 }
|
|
|
|
01051 { 01052 /* 01053 fRayPicCount = 0; 01054 //for(int i = thetaStart; i < thetaStart + 360; i += thetaStep) { 01055 //DrawViewRaytracer(i, 30, 270); 01056 //} 01057 for (int i = 0; i < fTofROOTGeo->GetScinNb(0); i++) { 01058 for (int j=0; j < 20; j++) { 01059 fTofROOTGeo->GetPhysicalScin(1, i*20+j)->SetVisibility(1); 01060 } 01061 DrawViewRaytracer(30, 30, 270); 01062 } 01063 */ 01064 }
|
|
00159 {return fDrawParticles;}
|
|
00159 {return fDrawParticles;}
|
|
00161 {return fDrawParticles2;}
|
|
00161 {return fDrawParticles2;}
|
|
|
|
00851 { 00852 // Draw the event title 00853 00854 Float_t xmin = gPad->GetX1(); 00855 Float_t xmax = gPad->GetX2(); 00856 Float_t ymin = gPad->GetY1(); 00857 Float_t ymax = gPad->GetY2(); 00858 Float_t dx = xmax-xmin; 00859 Float_t dy = ymax-ymin; 00860 if (strlen(option) == 0) { 00861 TPaveText *title = new TPaveText(xmin +0.01*dx, ymax-0.09*dy, xmin +0.5*dx, ymax-0.01*dy); 00862 title->SetBit(kCanDelete); 00863 title->SetFillColor(42); 00864 title->Draw(); 00865 char ptitle[100]; 00866 //sprintf(ptitle,"Pythia event: %d, Run:%d",gBesVisast->Event(), gBesVisast->Run()); 00867 //sprintf(ptitle,"Monte Carlo event: %d",gBesVisast->Event()); 00868 sprintf(ptitle,"Monte Carlo event"); 00869 title->AddText(ptitle); 00870 //sprintf(ptitle,"Pythia Mode: %s",gBesVisast->MCMaker()->GetTitle()); 00871 //title->AddText(ptitle); 00872 } else { 00873 TPaveLabel *label = new TPaveLabel(xmin +0.01*dx, ymax-0.07*dy, xmin +0.2*dx, ymax-0.01*dy,option); 00874 label->SetBit(kCanDelete); 00875 label->SetFillColor(42); 00876 label->Draw(); 00877 } 00878 }
|
|
|
|
00882 { 00883 // Draw a view of ATLAS 00884 00885 //fPad3D->SetFillColor(10); 00886 // Display ATLAS outline 00887 gPad->Clear(); 00888 00889 //TImage *i1 = TImage::Open("rose512.jpg"); 00890 //i1->SetConstRatio(kFALSE); 00891 //gPad->cd(); 00892 //i1->Draw(); 00893 00894 Int_t iret; 00895 TView *view = new TView(1); 00896 view->SetRange(-0.5*fBesR, -0.5*fBesR, -0.5*fBesZ, 0.5*fBesR, 0.5*fBesR, 0.5*fBesZ); 00897 view->ZoomView(gPad, 1.2); 00898 00899 //fNodin->Draw("same"); 00900 //fBes->Draw("same"); 00901 fBesGeometry->Draw("3D"); 00902 00903 // add itself to the list 00904 //AppendPad(); 00905 00906 //Loop on all makers to add their products to the pad 00907 /* 00908 TIter next(gBesVisast->Makers()); 00909 BesVisMaker *maker; 00910 while ((maker = (BesVisMaker*)next())) { 00911 maker->Draw(); 00912 } 00913 */ 00914 00915 //view->SetView(phi, theta, 90, iret); //previous side view necessary 00916 view->SetView(phi, theta, 270, iret); 00917 //view->SetParralel(); //-----------liangyt 00918 view->SetParallel(); 00919 //use SetParallel() instead of depreciated function TView::SetParralel() 00920 //changed by tianhl at Mon Aug 20 2007 00921 //view->SetPerspective(); 00922 //view->ShowAxis(); 00923 00924 //DrawViewRange(0, 0, 0, 2500); 00925 }
|
|
|
|
00939 { 00940 // Draw current view using OPENGL 00941 00942 TPad *pad = (TPad*)gPad->GetPadSave(); 00943 pad->cd(); 00944 TView *view = pad->GetView(); 00945 if (!view) return; 00946 pad->x3d("OPENGL");//-----------liangyt 00947 }
|
|
|
|
00930 {
00931 // Draw a view of some place
00932
00933 gPad->GetView()->SetRange(x0 - 0.5*zoomSize, y0 - 0.5*zoomSize, z0 - 0.5*zoomSize,
00934 x0 + 0.5*zoomSize, y0 + 0.5*zoomSize, z0 + 0.5*zoomSize);
00935 }
|
|
|
|
00963 { 00964 //TCanvas *rayCanvas = new TCanvas("rayCanvas", "Raytracer Canvas", 10, 10, 800, 800); 00965 TCanvas *rayCanvas = new TCanvas("rayCanvas", "Raytracer Canvas", 10, 10, 800, 800); 00966 rayCanvas->cd(); 00967 00968 00969 //TPad *rayPad = new TPad("rayPad", "Raytracer display",0.,0.,1,1); 00970 //rayPad->Draw(); 00971 //rayPad->Modified(); 00972 gPad->SetFillColor(1); 00973 00974 //rayPad->SetBorderSize(2); 00975 //rayPad->cd(); 00976 //fMucGeo->GetVolMuc()->Draw(); 00977 //fBes->Draw(); 00978 00979 TView *view = gPad->GetView(); 00980 //view->SetPerspective(); 00981 int iret; 00982 view->ZoomView(gPad, 1.5); 00983 view->SetView(phi, theta, psi, iret); 00984 // | 00985 // \|/ 00986 00987 //gGeoManager->GetGeomPainter()->SetBombFactors(2, 2, 2, 2); 00988 //gGeoManager->GetGeomPainter()->SetExplodedView(3); 00989 00990 gGeoManager->GetGeomPainter()->SetRaytracing(kTRUE); 00991 00992 rayCanvas->Modified(); 00993 rayCanvas->Update(); 00994 //rayPad->Modified(); 00995 //rayPad->Update(); 00996 00997 stringstream sPicCount; 00998 sPicCount << fRayPicCount << ".gif"; 00999 string str = sPicCount.str(); 01000 01001 gPad->SaveAs(str.c_str()); 01002 fRayPicCount++; 01003 }
|
|
|
|
|
|
01006 { 01007 TCanvas *x3dCanvas = new TCanvas("x3dCanvas", "X3dtracer Canvas", 10, 10, 800, 800); 01008 x3dCanvas->cd(); 01009 01010 gPad->SetFillColor(1); 01011 //x3dPad->SetBorderSize(2); 01012 //x3dPad->cd(); 01013 01014 //fBes->Draw("x3d"); 01015 01016 //TView *view = gPad->GetView(); 01017 //view->SetPerspective(); 01018 //int iret; 01019 //view->ZoomView(gPad, 1.2); 01020 //view->SetView(30, 60, 270, iret); 01021 01022 01023 //gPad->x3d();//-----------liangyt 01024 gPad->GetViewer3D(); 01025 //use TPad::GetViewer3D() instead of depreciated function TPad::x3d() 01026 //changed by tianhl at Mon Aug 20 2007 01027 //TViewerX3D *x3d = (TViewerX3D*)gPad->GetViewer3D(); 01028 01029 //TViewerX3D *x3d = new TViewerX3D(x3dCanvas, ""); 01030 //x3d->ExecCommand(0,0,option); 01031 01032 //for (Int_t i=0;i<500;i++) { 01033 //Int_t px = i%500; 01034 //Int_t py = (2*i)%200; 01035 //x3d->ExecCommand(px,py,0); //rotate 01036 //if (i%20 >10) x3d->ExecCommand(px,py,'j'); //zoom 01037 //if (i%20 <10) x3d->ExecCommand(px,py,'k'); //unzoom 01038 //} 01039 01040 01041 stringstream sPicCount; 01042 fRayPicCount = 0; 01043 sPicCount << fRayPicCount << ".gif"; 01044 string str = sPicCount.str(); 01045 01046 gPad->SaveAs(str.c_str()); 01047 fRayPicCount++; 01048 }
|
|
00951 { 00952 // Draw current view using X3D 00953 00954 TPad *pad = (TPad*)gPad->GetPadSave(); 00955 pad->cd(); 00956 TView *view = pad->GetView(); 00957 if (!view) return; 00958 pad->x3d();//-----------liangyt 00959 }
|
|
|
|
01068 { 01069 //*-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-* 01070 //*-* ========================================= 01071 01072 if (gPad->GetView()) { 01073 gPad->GetView()->ExecuteRotateView(event, px, py); 01074 } 01075 }
|
|
00138 { return fBesGeometry; }
|
|
00138 { return fBesGeometry; }
|
|
00125 { return fDisplayMode; }
|
|
00125 { return fDisplayMode; }
|
|
00145 { return fEmcOn; }
|
|
00145 { return fEmcOn; }
|
|
00176 {return fEmcROOTGeo;}
|
|
00176 {return fEmcROOTGeo;}
|
|
|
|
01079 { 01080 // Read event in memory 01081 01082 // gBesVisast->GetEvent(event); 01083 01084 //Draw(); 01085 01086 //gGeoManager->ClearAttributes(); 01087 SetMdcFiredCell(); 01088 SetTofFiredCell(); 01089 SetEmcFiredCell(); 01090 SetMucFiredCell(); 01091 }
|
|
00141 { return fMdcOn; }
|
|
00141 { return fMdcOn; }
|
|
00174 {return fMdcROOTGeo;}
|
|
00174 {return fMdcROOTGeo;}
|
|
00177 {return fMucROOTGeo;}
|
|
00177 {return fMucROOTGeo;}
|
|
00132 { return fPad3D; }
|
|
00132 { return fPad3D; }
|
|
00130 { return fPadXY; }
|
|
00130 { return fPadXY; }
|
|
00131 { return fPadZR; }
|
|
00131 { return fPadZR; }
|
|
00143 { return fTofOn; }
|
|
00143 { return fTofOn; }
|
|
00175 {return fTofROOTGeo;}
|
|
00175 {return fTofROOTGeo;}
|
|
00173 {return fBes;}
|
|
00173 {return fBes;}
|
|
|
|
00101 { 00102 fDisplayMode = 0; 00103 fCanvas->cd(); 00104 //fCanvas->SetEditable(kFALSE); 00105 fCanvas->SetFillColor(10); 00106 00107 // pad 3D 00108 fPad3D = new TPad("Pad3D", "Pad3D", 0.75, 0.75, 0.9, 0.9); 00109 fPad3D->SetFillColor(TColor::GetColor(204,204,204)); 00110 fPad3D->SetFillColor(16); 00111 fPad3D->Draw(); 00112 00113 // pad Header 00114 fPadHeader = new TPad("PadHeader", "PadHeader", 0.0, 0.68, 1.0, 1.0); 00115 fPadHeader->Draw(); 00116 fPadHeader->cd(); 00117 00118 TString fp = gEnv->GetValue("Root.TTFontPath", ""); 00119 TString bc = fp + "/BlackChancery.ttf"; 00120 TString ar = fp + "/arial.ttf"; 00121 00122 string besvisPath = getenv("BESVISLIBROOT"); 00123 TString filePath(besvisPath); 00124 filePath += "/icons/"; 00125 00126 fHeaderHImage = TImage::Open(filePath + "HeaderH.gif"); 00127 fHeaderHImage->SetEditable(kTRUE); 00128 //fHeaderHImage->Draw("same"); 00129 fHeaderVImage = TImage::Open(filePath + "HeaderV.gif"); 00130 fHeaderVImage->SetEditable(kTRUE); 00131 // fHeaderVImage->Draw("same"); 00132 fHeaderImage = TImage::Open(filePath + "Header.gif"); 00133 fHeaderImage->DrawText(620, 15, "BesVis", 30, 00134 gROOT->GetColor(2)->AsHexString(), 00135 bc, TImage::kShadeBelow); 00136 fHeaderImage->SetConstRatio(false); 00137 fHeaderImage->Draw("same"); 00138 00139 fBesHeader = new BesHeader(0,0,1,1, "br"); 00140 fBesHeader->SetTextSize(0.1); 00141 fBesHeader->SetFillColor(28); 00142 fBesHeader->SetFillStyle(0); 00143 fBesHeader->SetBorderSize(4); 00144 00145 fLatticeWidth=0.185; 00146 fTextSizeTitle=0.08; 00147 fTextSizeTime=0.07; 00148 fTextSizeData=0.05; 00149 fTextSizeFlt=0.02; 00150 fCoordx=0.01; 00151 fCoordy=0.8; 00152 fDistanceOfRows=0.01; 00153 00154 fMdcOn = true; 00155 fTofOn = true; 00156 fEmcOn = true; 00157 00158 Connect(fBesHeader,"TransferMdcOn(Bool_t)","BesVisDisplay",this,"SetMdcOn(Bool_t)"); 00159 Connect(fBesHeader,"TransferTofOn(Bool_t)","BesVisDisplay",this,"SetTofOn(Bool_t)"); 00160 Connect(fBesHeader,"TransferEmcOn(Bool_t)","BesVisDisplay",this,"SetEmcOn(Bool_t)"); 00161 00162 DrawHeader(); 00163 00164 // pad XY 00165 fPadXY = new TPad("PadXY", "PadXY", 0.0, 0.0, 0.5, 0.68); 00166 fPadXY->Draw(); 00167 00168 // pad ZR 00169 fPadZR = new TPad("PadZR", "PadZR", 0.5, 0.0, 1.0, 0.68); 00170 fPadZR->Draw(); 00171 00172 /* 00173 fPad3D->SetBorderMode(0); 00174 fPad3D->SetBorderSize(3); 00175 fPadHeader->SetBorderMode(1); 00176 fPadHeader->SetBorderSize(3); 00177 fPadXY->SetBorderMode(2); 00178 fPadXY->SetBorderSize(3); 00179 fPadZR->SetBorderMode(3); 00180 fPadZR->SetBorderSize(3); 00181 */ 00182 }
|
|
|
|
00206 { 00207 if ( gBesGeometry ) delete gBesGeometry; 00208 fBesGeometry = new BesGeometry(); 00209 gBesGeometry = fBesGeometry; 00210 fBesGeometry->InitFromGDML(fPath); 00211 fBesGeometry->SetDefaultVis(); 00212 00213 // should be deleted after BesView completed; 00214 fMdcROOTGeo = fBesGeometry->GetMdcROOTGeo(); //here liang 00215 fTofROOTGeo = fBesGeometry->GetTofROOTGeo(); //here liang 00216 fEmcROOTGeo = fBesGeometry->GetEmcROOTGeo(); //here liang 00217 fMucROOTGeo = fBesGeometry->GetMucROOTGeo(); 00218 }
|
|
|
|
00223 { 00224 if ( gBesGeometry ) delete gBesGeometry; 00225 fBesGeometry = new BesGeometry(); 00226 gBesGeometry = fBesGeometry; 00227 fBesGeometry->InitFromROOT(volBes); 00228 00229 // should be deleted after BesView completed; 00230 fMdcROOTGeo = fBesGeometry->GetMdcROOTGeo(); 00231 fTofROOTGeo = fBesGeometry->GetTofROOTGeo(); 00232 fEmcROOTGeo = fBesGeometry->GetEmcROOTGeo(); 00233 fMucROOTGeo = fBesGeometry->GetMucROOTGeo(); 00234 }
|
|
00126 { if (fDisplayMode == 0 || fDisplayMode == 4) return false; else return true; }
|
|
00126 { if (fDisplayMode == 0 || fDisplayMode == 4) return false; else return true; }
|
|
00181 {return fPad;}
|
|
00181 {return fPad;}
|
|
|
|
01095 {
01096 // Paint miscellaneous items
01097
01098 }
|
|
|
|
01102 { 01103 // Display fruit from obj 01104 /* 01105 if (fDrawClusters) { 01106 if (!fFruits) fFruits = new TList(); 01107 BesVisFruit *fruit = new BesVisFruit(obj, eta, phi, pt, type); 01108 fFruits->Add(fruit); 01109 fruit->Paint(option); 01110 } 01111 */ 01112 }
|
|
|
|
01116 {
01117 //if (fDrawParticles) fParticle->Paint(option);
01118 }
|
|
00186 {return fPTcut;}
|
|
00186 {return fPTcut;}
|
|
00187 {return fPTcutEGMUNU;}
|
|
00187 {return fPTcutEGMUNU;}
|
|
|
|
00186 { 00187 if (fPadXY) { 00188 fPadXY->cd(); 00189 ((BesView*)fPadXY->GetView())->Reset(); 00190 } 00191 if (fPadZR) { 00192 fPadZR->cd(); 00193 ((BesView*)fPadZR->GetView())->Reset(); 00194 } 00195 if (fPad3D) { 00196 fPad3D->cd(); 00197 ((BesView*)fPad3D->GetView())->Reset(); 00198 } 00199 00200 SwitchDisplayMode(fDisplayMode); 00201 }
|
|
|
|
00570 { 00571 fCanvas->cd(); 00572 Double_t xlowH = -0.11, xupH = -0.1, ylowH = -0.11, yupH = -0.1; 00573 Int_t width = fCanvas->GetWw(); 00574 Int_t height = fCanvas->GetWh(); 00575 Double_t hVSw = Double_t(height)/width; 00576 Double_t x2D = 1.0-hVSw; 00577 //cout << "Canvas width " << width << " height " << height << " x2D " << x2D << endl; 00578 Double_t y2D = 0.5/hVSw; 00579 Double_t x3D = (1.0/3)/hVSw; 00580 00581 switch ( fDisplayMode ) { 00582 case 0 : // 2D XY+ZR 00583 fPadHeader->SetPad(0.0, y2D, 1.0, 1.0); 00584 fPadXY ->SetPad(0.0, 0.0, 0.5, y2D); 00585 fPadZR ->SetPad(0.5, 0.0, 1.0, y2D); 00586 fPad3D ->SetPad(xlowH, ylowH, xupH, yupH); 00587 break; 00588 case 1 : // 2D XY 00589 fPadHeader->SetPad(0.0, 0.0, x2D, 1.0); 00590 fPadXY ->SetPad(x2D, 0.0, 1.0, 1.0); 00591 fPadZR ->SetPad(xlowH, ylowH, xupH, yupH); 00592 fPad3D ->SetPad(xlowH, ylowH, xupH, yupH); 00593 break; 00594 case 2 : // 2D ZR 00595 fPadHeader->SetPad(0.0, 0.0, x2D, 1.0); 00596 fPadXY ->SetPad(xlowH, ylowH, xupH, yupH); 00597 fPadZR ->SetPad(x2D, 0.0, 1.0, 1.0); 00598 fPad3D ->SetPad(xlowH, ylowH, xupH, yupH); 00599 break; 00600 case 3 : // 3D 00601 fPadHeader->SetPad(0.0, 0.0, x2D, 1.0); 00602 fPadXY ->SetPad(xlowH, ylowH, xupH, yupH); 00603 fPadZR ->SetPad(xlowH, ylowH, xupH, yupH); 00604 fPad3D ->SetPad(x2D, 0.0, 1.0, 1.0); 00605 break; 00606 case 4 : // 2D+3D 00607 //fPadHeader->SetPad(xlowH, ylowH, xupH, yupH); 00608 fPadHeader->SetPad(0.0, 2*x3D, 1.0, 1.0); 00609 fPadXY ->SetPad(0.0, x3D, 1.0/3, 2*x3D); 00610 fPadZR ->SetPad(0.0, 0.0, 1.0/3, x3D); 00611 fPad3D ->SetPad(1.0/3, 0.0, 1.0, 2*x3D); 00612 break; 00613 default : 00614 return; 00615 } 00616 00617 //fPadHeader->Update(); 00618 DrawHeader(); 00619 00620 switch ( fDisplayMode ) { 00621 case 0 : // 2D XY+ZR 00622 fPadXY->cd(); 00623 fPadXY->Update(); 00624 fPadZR->Update(); 00625 break; 00626 case 1 : // 2D XY 00627 fPadXY->cd(); 00628 fPadXY->Update(); 00629 break; 00630 case 2 : // 2D ZR 00631 fPadZR->cd(); 00632 fPadZR->Update(); 00633 break; 00634 case 3 : // 3D 00635 fPad3D->cd(); 00636 fPad3D->Update(); 00637 break; 00638 case 4 : // 2D+3D 00639 fPad3D->cd(); 00640 fPad3D->Update(); 00641 break; 00642 default : 00643 return; 00644 } 00645 }
|
|
00188 {return fRin;}
|
|
00188 {return fRin;}
|
|
00189 {return fRout;}
|
|
00189 {return fRout;}
|
|
00201 {fAllVis = vis;}
|
|
00201 {fAllVis = vis;}
|
|
|
|
00091 { 00092 if (c != 0) { 00093 fCanvas = c; 00094 } 00095 else { 00096 fCanvas = new TCanvas("Canvas", " ",0,0,1024,768); 00097 } 00098 }
|
|
00124 { fDisplayMode = mode; }
|
|
00124 { fDisplayMode = mode; }
|
|
00190 {fDrawClusters=draw;} // *MENU*
|
|
00190 {fDrawClusters=draw;} // *MENU*
|
|
00191 {fDrawParticles=draw;} // *MENU*
|
|
00191 {fDrawParticles=draw;} // *MENU*
|
|
00199 {fEmcCon=emcCon;}
|
|
00199 {fEmcCon=emcCon;}
|
|
|
|
01222 { 01223 int theta[26] = {3,3,2,9,9,8,5,7,6,10,10,7,8,9,9,9,37,2,7,7,4,4,5,5,15,15}; 01224 int phi[26] = {45,46,46,80,81,80,83,81,81,81,80,80,81,82,83,84,17,84,77,78,79,80,80,79,31,32}; 01225 01226 for (int i = 0; i < 26; i++) { 01227 fEmcROOTGeo->GetPhysicalCrystal(1, phi[i], theta[i])->SetVisibility(1); 01228 std::cout << "1" << " " << phi[i] << " " << theta[i] << std::endl; 01229 } 01230 }
|
|
|
|
00553 { 00554 fEmcOn = EmcOn; 00555 //fBesHeader->SetEmcOn(EmcOn); 00556 DrawHeader(); 00557 }
|
|
00203 {fHalfVis = vis;}
|
|
00203 {fHalfVis = vis;}
|
|
00197 {fMdcCon=mdcCon;}
|
|
00197 {fMdcCon=mdcCon;}
|
|
|
|
01196 { 01197 int layer[135] = {0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10,11,12,13,14,15,16,17,18,19,19,20,21,22,22,23,24,25,26,27,28,29,29,30,31,32,33,34,35,36,37,38,39,40,41,41,42,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42}; 01198 int replica[135] = {12 ,13 ,14 ,17 ,19 ,23 ,25 ,25 ,25 ,26 ,29 ,30 ,33 ,34 ,38 ,38 ,44 ,44 ,48 ,48 ,49 ,51 ,52 ,51 ,52 ,52 ,62 ,63 ,63 ,63 ,68 ,68 ,69 ,68 ,69 ,79 ,80 ,79 ,80 ,91 ,91 ,91 ,92 ,103,103,104,103,4 ,7 ,9 ,4 ,9 ,4 ,9 ,9 ,8 ,8 ,55 ,56 ,63 ,64 ,71 ,71 ,82 ,82 ,89 ,90 ,99 ,100,99 ,100,120,120,120,120,130,131,130,131,151,151,151,151,166,166,167,166,167,187,188,188,7 ,9 ,9 ,12 ,13 ,15 ,16 ,17 ,17 ,17 ,20 ,20 ,22 ,23 ,25 ,26 ,29 ,30 ,32 ,33 ,34 ,35 ,34 ,35 ,42 ,42 ,42 ,42 ,45 ,46 ,46 ,46 ,46 ,53 ,54 ,53 ,54 ,61 ,62 ,61 ,62 ,69 ,70 ,70}; 01199 01200 for (int i = 0; i < 135; i++) { 01201 fMdcROOTGeo->GetPhysicalReplica(layer[i], replica[i])->SetVisibility(1); 01202 if (layer[i] > 35) fMdcROOTGeo->GetPhysicalReplica(layer[i]+7, replica[i])->SetVisibility(1); 01203 std::cout << layer[i] << " " << replica[i] << std::endl; 01204 } 01205 }
|
|
|
|
00535 { 00536 fMdcOn = MdcOn; 00537 //fBesHeader->SetMdcOn(MdcOn); 00538 DrawHeader(); 00539 }
|
|
00200 {fMucCon=mucCon;}
|
|
00200 {fMucCon=mucCon;}
|
|
|
|
01234 { 01235 vector<int> cellCon; 01236 01237 int part[11] = {1,1,1,1,1,1,1,1,1,1,1}; 01238 int seg[11] = {6,6,2,2,2,2,2,2,2,2,2}; 01239 int gap[11] = {0, 1, 0, 1, 2, 2, 3, 4, 5, 6, 7}; 01240 int strip[11]= {2,20,20,29,21,22,27,25,25,30,22}; 01241 01242 for (int i = 0; i < 11; i++) { 01243 fMucROOTGeo->GetPhysicalStrip(part[i], seg[i], gap[i], strip[i])->SetVisibility(1); 01244 std::cout << " " << part[i] << " " << seg[i] << " " << gap[i] << " " << strip[i] << std::endl; 01245 } 01246 }
|
|
00204 {fNoEndVis = vis;}
|
|
00204 {fNoEndVis = vis;}
|
|
|
|
01122 { 01123 fPTcut = ptcut; 01124 01125 if (fDrawAllViews) { 01126 fPad->cd(1); 01127 gPad->Modified(); 01128 fPad->cd(2); 01129 gPad->Modified(); 01130 fPad->cd(3); 01131 gPad->Modified(); 01132 fPad->cd(4); 01133 gPad->Modified(); 01134 fPad->cd(); 01135 } 01136 }
|
|
|
|
01140 { 01141 fPTcutEGMUNU = ptcut; 01142 01143 if (fDrawAllViews) { 01144 fPad->cd(1); 01145 gPad->Modified(); 01146 fPad->cd(2); 01147 gPad->Modified(); 01148 fPad->cd(3); 01149 gPad->Modified(); 01150 fPad->cd(4); 01151 gPad->Modified(); 01152 fPad->cd(); 01153 } 01154 }
|
|
00202 {fQuarterVis = vis;}
|
|
00202 {fQuarterVis = vis;}
|
|
00198 {fTofCon=tofCon;}
|
|
00198 {fTofCon=tofCon;}
|
|
|
|
01209 { 01210 int part[7] = {1,1,1,2,2,1,1,}; 01211 int scin[7] = {31,32,57,31,32,59,21}; 01212 01213 std::cout << "set tof fired cell" << std::endl; 01214 for (int i = 0; i < 7; i++) { 01215 fTofROOTGeo->GetPhysicalScin(part[i], 0, scin[i])->SetVisibility(1); 01216 std::cout << part[i] << " " << scin[i] << std::endl; 01217 } 01218 }
|
|
|
|
00544 { 00545 fTofOn = TofOn; 00546 //fBesHeader->SetTofOn(TofOn); 00547 DrawHeader(); 00548 }
|
|
|
|
01158 { 01159 // change viewing angles for current event 01160 01161 fPad->cd(); 01162 fDrawAllViews = kFALSE; 01163 fPhi = phi; 01164 fTheta = theta; 01165 Int_t iret; 01166 01167 TView *view = gPad->GetView(); 01168 if (view) view->SetView(fPhi, fTheta, 0, iret); 01169 else Draw(); 01170 01171 gPad->Modified(); 01172 }
|
|
|
|
01176 { 01177 // Display (current event_number+delta) 01178 // delta = 1 shown next event 01179 // delta = -1 show previous event 01180 01181 //fTheta += 10; 01182 //fPhi += 10; 01183 if (delta) { 01184 //gBesVisast->Clear(); 01185 //Int_t current_event = gBesVisast->Event(); 01186 //Int_t new_event = current_event + delta; 01187 //gBesVisast->GetEvent(new_event); 01188 //GetEvent(new_event); 01189 } 01190 fPad->cd(); 01191 Draw(); 01192 }
|
|
|
|
01250 {
01251 const Int_t npoints = 2;
01252 gSize3D.numPoints += npoints;
01253 gSize3D.numSegs += (npoints-1);
01254 gSize3D.numPolys += 0;
01255 }
|
|
|
|
01259 { 01260 //if (fDrawParticles) fParticle->SizeParticles(); 01261 //printf("numPoints=%d, numSegs=%d, numPolys=%d\n",gSize3D.numPoints,gSize3D.numSegs,gSize3D.numPolys); 01262 }
|
|
|
|
00562 { 00563 SetDisplayMode(mode); 00564 ResizePad(); 00565 fCanvas->Update(); 00566 }
|
|
|
|
00648 { 00649 if (fDisplayMode == 0) { 00650 if ((TPad*)gPad == fPadXY) fPadZR->cd(); 00651 else fPadXY->cd(); 00652 } 00653 00654 if (fDisplayMode == 4) { 00655 if ((TPad*)gPad == fPadXY) fPadZR->cd(); 00656 else if ((TPad*)gPad == fPadZR) fPad3D->cd(); 00657 else fPadXY->cd(); 00658 } 00659 00660 fCanvas->Update(); 00661 }
|
|
00212 {return fZin;}
|
|
00212 {return fZin;}
|
|
00213 {return fZout;}
|
|
00213 {return fZout;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|