279 fHeaderImage->Zoom(161, 649, 635, 174);
283 fHeaderImage->Zoom(600, 324, 164, 473);
294 fBesHeader->AddText(
"No Event Info");
298 Double_t coordx=fCoordx;
299 Double_t coordy=fCoordy;
302 Long64_t runno =
gEvent->GetRun();
303 Long64_t eventno =
gEvent->GetEvent();
304 Int_t year =
gEvent->GetYear();
305 Int_t month =
gEvent->GetMonth();
306 Int_t day =
gEvent->GetDay();
307 Int_t hour =
gEvent->GetHour();
309 Int_t sec =
gEvent->GetSec();
321 sprintf(title1,
"Run %ld ", runno);
322 TText* ttitle1 = fBesHeader->AddText(coordx,coordy,title1);
323 ttitle1->SetTextSize(fTextSizeTitle);
324 ttitle1->SetTextColor(1);
325 ttitle1->SetTextAlign(12);
337 sprintf(title2,
"Event %ld ", eventno);
338 TText* ttitle2 = fBesHeader->AddText(coordx,coordy,title2);
339 ttitle2->SetTextSize(fTextSizeTitle);
340 ttitle2->SetTextColor(1);
341 ttitle2->SetTextAlign(12);
352 char titleEvTime[30];
355 if (
gEvent->GetHeader().GetEventRec())
357 if (fabs(
gEvent->GetHeader().GetEvTime())>0.0001)
359 double esTimeConst = 230;
360 sprintf(titleEvTime,
"Estime:%5.1fns",
gEvent->GetHeader().GetEvTime() - esTimeConst);
362 else sprintf(titleEvTime,
"Estime:0 ns");
364 else sprintf(titleEvTime,
"Estime: -");
366 TText* ttitleEvTime = fBesHeader->AddText(coordx,coordy,titleEvTime);
367 ttitleEvTime->SetTextSize(fTextSizeTime);
368 ttitleEvTime->SetTextFont(52);
369 ttitleEvTime->SetTextColor(1);
370 ttitleEvTime->SetTextAlign(12);
381 char titleEvTimeStat[30];
384 if (
gEvent->GetHeader().GetEventRec())
386 sprintf(titleEvTimeStat,
" stat:%3d",
gEvent->GetHeader().GetEvTimeStatus());
388 else sprintf(titleEvTimeStat,
" stat: -");
390 TText* ttitleEvTimeStat = fBesHeader->AddText(coordx,coordy,titleEvTimeStat);
391 ttitleEvTimeStat->SetTextSize(fTextSizeTime);
392 ttitleEvTimeStat->SetTextFont(52);
393 ttitleEvTimeStat->SetTextColor(1);
394 ttitleEvTimeStat->SetTextAlign(12);
405 char titleEvTimeQ[30];
408 if (
gEvent->GetHeader().GetEventRec())
410 sprintf(titleEvTimeQ,
" quality:%3.1f",
gEvent->GetHeader().GetEvTimeQuality());
412 else sprintf(titleEvTimeQ,
" quality: -");
414 TText* ttitleEvTimeQ = fBesHeader->AddText(coordx,coordy,titleEvTimeQ);
415 ttitleEvTimeQ->SetTextSize(fTextSizeTime);
416 ttitleEvTimeQ->SetTextFont(52);
417 ttitleEvTimeQ->SetTextColor(1);
418 ttitleEvTimeQ->SetTextAlign(12);
430 sprintf(date,
"date: %4d-%02d-%02d ", year,month,day);
431 TText* tdate = fBesHeader->AddText(coordx,coordy,date);
432 tdate->SetTextSize(fTextSizeTime);
433 tdate->SetTextFont(52);
434 tdate->SetTextColor(1);
435 tdate->SetTextAlign(12);
448 TText* ttime=fBesHeader->AddText(coordx,coordy,
time);
449 ttime->SetTextSize(fTextSizeTime);
450 ttime->SetTextFont(52);
451 ttime->SetTextColor(1);
452 ttime->SetTextAlign(12);
456 vector<TString> statusCon;
461 statusCon.push_back(TString(
data));
463 vector<Int_t> trigChannelVector =
gEvent->GetHeader().GetTrigChannelVector();
464 vector<Int_t> trigConditionVector =
gEvent->GetHeader().GetTrigConditionVector();
465 Int_t timeType =
gEvent->GetHeader().GetTimeType();
468 statusCon.push_back(TString(
data));
477 for (Int_t i = 0; i < (Int_t)statusCon.size(); i++) {
478 TText* ttitle=fBesHeader->AddText(coordx,coordy,statusCon[i].Data());
481 ttitle->SetTextSize(fTextSizeData);
482 ttitle->SetTextFont(62);
483 ttitle->SetTextColor(1);
484 ttitle->SetTextAlign(12);
486 vector<TString> infoCon;
488 vector<Int_t>::iterator pTrigVector;
594 Float_t textSize = fTextSizeData;
609 pTrigVector = trigChannelVector.begin();
610 for (Int_t i = 0; i < (Int_t)infoCon.size(); i++) {
611 coordx = fCoordx + (i%npr)*(1.0/npr);
612 coordy = fCoordy - (i/npr)*rowH;
614 if (*pTrigVector == i){
615 TString temp = infoCon[i] +
" ON";
616 TText* tdata=fBesHeader->AddText(coordx,coordy,temp.Data());
617 tdata->SetTextSize(textSize);
618 tdata->SetTextFont(62);
619 tdata->SetTextColor(2);
620 tdata->SetTextAlign(12);
624 TString temp = infoCon[i] +
" OFF";
625 TText* tdata=fBesHeader->AddText(coordx,coordy,temp.Data());
626 tdata->SetTextSize(textSize);
627 tdata->SetTextFont(62);
628 tdata->SetTextColor(1);
629 tdata->SetTextAlign(12);
635 fBesHeader->Draw(
"same");
637 fPadHeader->SetEditable(kFALSE);
638 fPadHeader->Modified();
639 fPadHeader->Update();
683 Double_t xlowH = -0.11, xupH = -0.1, ylowH = -0.11, yupH = -0.1;
684 Int_t width = fCanvas->GetWw();
685 Int_t height = fCanvas->GetWh();
686 Double_t hVSw = Double_t(height)/width;
687 Double_t x2D = 1.0-hVSw;
689 Double_t y2D = 0.5/hVSw;
690 Double_t x3D = (1.0/3)/hVSw;
692 switch ( fDisplayMode ) {
694 fPadHeader->SetPad(0.0, y2D, 1.0, 1.0);
695 fPadXY ->SetPad(0.0, 0.0, 0.5, y2D);
696 fPadZR ->SetPad(0.5, 0.0, 1.0, y2D);
697 fPad3D ->SetPad(xlowH, ylowH, xupH, yupH);
700 fPadHeader->SetPad(0.0, 0.0, x2D, 1.0);
701 fPadXY ->SetPad(x2D, 0.0, 1.0, 1.0);
702 fPadZR ->SetPad(xlowH, ylowH, xupH, yupH);
703 fPad3D ->SetPad(xlowH, ylowH, xupH, yupH);
706 fPadHeader->SetPad(0.0, 0.0, x2D, 1.0);
707 fPadXY ->SetPad(xlowH, ylowH, xupH, yupH);
708 fPadZR ->SetPad(x2D, 0.0, 1.0, 1.0);
709 fPad3D ->SetPad(xlowH, ylowH, xupH, yupH);
712 fPadHeader->SetPad(0.0, 0.0, x2D, 1.0);
713 fPadXY ->SetPad(xlowH, ylowH, xupH, yupH);
714 fPadZR ->SetPad(xlowH, ylowH, xupH, yupH);
715 fPad3D ->SetPad(x2D, 0.0, 1.0, 1.0);
719 fPadHeader->SetPad(0.0, 2*x3D, 1.0, 1.0);
720 fPadXY ->SetPad(0.0, x3D, 1.0/3, 2*x3D);
721 fPadZR ->SetPad(0.0, 0.0, 1.0/3, x3D);
722 fPad3D ->SetPad(1.0/3, 0.0, 1.0, 2*x3D);
729 if (!fVisHeader) fPadHeader->SetPad(xlowH * 10, ylowH * 10, xupH * 10, yupH * 10);
734 switch ( fDisplayMode ) {
1311 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};
1312 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};
1314 for (
int i = 0; i < 135; i++) {
1315 fMdcROOTGeo->GetPhysicalReplica(layer[i], replica[i])->SetVisibility(1);
1316 if (layer[i] > 35) fMdcROOTGeo->GetPhysicalReplica(layer[i]+7, replica[i])->SetVisibility(1);
1317 std::cout << layer[i] <<
" " << replica[i] << std::endl;
1337 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};
1338 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};
1340 for (
int i = 0; i < 26; i++) {
1341 fEmcROOTGeo->GetPhysicalCrystal(1, phi[i], theta[i])->SetVisibility(1);
1342 std::cout <<
"1" <<
" " << phi[i] <<
" " << theta[i] << std::endl;
1349 vector<int> cellCon;
1351 int part[11] = {1,1,1,1,1,1,1,1,1,1,1};
1352 int seg[11] = {6,6,2,2,2,2,2,2,2,2,2};
1353 int gap[11] = {0, 1, 0, 1, 2, 2, 3, 4, 5, 6, 7};
1354 int strip[11]= {2,20,20,29,21,22,27,25,25,30,22};
1356 for (
int i = 0; i < 11; i++) {
1357 fMucROOTGeo->GetPhysicalStrip(part[i], seg[i], gap[i], strip[i])->SetVisibility(1);
1358 std::cout <<
" " << part[i] <<
" " << seg[i] <<
" " << gap[i] <<
" " << strip[i] << std::endl;