Changeset 3082


Ignore:
Timestamp:
02/10/04 16:35:42 (21 years ago)
Author:
reyes
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/Changelog

    r3081 r3082  
    44
    55                                                 -*-*- END OF LINE -*-*-
     6 2004/02/10: Raquel de los Reyes
     7
     8   * mhist/MHPixVsTime.[h,cc]
     9     - Added a default draw function and replaced the TGraph object
     10       by a pointer to a TGraph object.
     11   * mreport/MReportTrigger.h
     12     - Now it dereives from a MCamEvent class and implemented the
     13       GetPixContent() and DrawPixelContent() functions.
     14   * maccros/CCDataCheck.C
     15     - An update of the previous macro. New plots: subsystems status and
     16       macrocells trigger.
     17
    618 2004/02/10: Markus Gaug
    719
  • trunk/MagicSoft/Mars/macros/CCDataCheck.C

    r2895 r3082  
    3434////////////////////////////////////////////////////////////////////////////
    3535
    36 void CCDataCheck(const TString filename="CC_2003_11_30_20_29_20.root", const TString directory="../rootfiles/2003_12_01/")
     36void CCDataCheck_new(const TString filename="CC_2003_11_30_20_29_20.root", const TString directory="../rootfiles/2003_12_01/")
    3737{
    3838  //
     
    109109  MHVsTime hTrigAL2("MReportTrigger.fL2AfterPrescaler");
    110110  hTrigAL2.SetName("TrigAL2");
     111  MHVsTime hTrigStatus("MReportTrigger.fState");
     112  hTrigStatus.SetName("TrigStatus");
     113  // Camera status
     114  MHVsTime hCamStatus("MReportCamera.fState");
     115  hCamStatus.SetName("CamStatus");
     116  MHVsTime hCamSentStatus("MReportCamera.fStatus");
     117  hCamSentStatus.SetName("CamSentStatus");
     118  MHVsTime hCamStatusDC("MReportCamera.fStatusDC");
     119  hCamStatusDC.SetName("CamDCStatus");
     120  MHVsTime hHVStatus("MCameraHV.fStatus");
     121  hHVStatus.SetName("HVStatus");
     122  MHVsTime hLidsStatus("MCameraLids.fStatus");
     123  hLidsStatus.SetName("LidsStatus");
     124  MHVsTime hCoolStatus("MCameraCooling.fStatus");
     125  hCoolStatus.SetName("CoolingStatus");
    111126
    112127  // Reads the trees of the root file and the analysed branches
     
    123138  read.AddToBranchList("MReportCC.*");
    124139  read.AddToBranchList("MReportTrigger.*");
     140  read.AddToBranchList("MReportCamera.*");
     141  read.AddToBranchList("MCameraLids.*");
     142
     143  MGeomApply geomapl;
     144  tlist.AddToList(&geomapl);
     145
     146  // Set of MHCamEvents classes
     147//    MHCamEvent HVdisplay("CamHV","Camera HV supplies");
     148//    HVdisplay.SetBit(MHCamera::kVariance);
     149//    plist.AddToList(&HVdisplay);
     150
     151  // Set of MHPixVsTime classes (Trigger macroscells)
     152  MHPixVsTime htrigmc1(0,"TrigMacrocell1");
     153  htrigmc1.SetNameTime("MTimeTrigger");
     154  plist.AddToList(&htrigmc1);
     155  MHPixVsTime htrigmc2(1,"TrigMacrocell2");
     156  htrigmc2.SetNameTime("MTimeTrigger");
     157  plist.AddToList(&htrigmc2);
     158  MHPixVsTime htrigmc3(2,"TrigMacrocell3");
     159  htrigmc3.SetNameTime("MTimeTrigger");
     160  plist.AddToList(&htrigmc3);
     161  MHPixVsTime htrigmc4(3,"TrigMacrocell4");
     162  htrigmc4.SetNameTime("MTimeTrigger");
     163  plist.AddToList(&htrigmc4);
     164  MHPixVsTime htrigmc5(4,"TrigMacrocell5");
     165  htrigmc5.SetNameTime("MTimeTrigger");
     166  plist.AddToList(&htrigmc5);
     167  MHPixVsTime htrigmc6(5,"TrigMacrocell6");
     168  htrigmc6.SetNameTime("MTimeTrigger");
     169  plist.AddToList(&htrigmc6);
     170  MHPixVsTime htrigmc7(6,"TrigMacrocell7");
     171  htrigmc7.SetNameTime("MTimeTrigger");
     172  plist.AddToList(&htrigmc7);
     173  MHPixVsTime htrigmc8(7,"TrigMacrocell8");
     174  htrigmc8.SetNameTime("MTimeTrigger");
     175  plist.AddToList(&htrigmc8);
     176  MHPixVsTime htrigmc9(8,"TrigMacrocell9");
     177  htrigmc9.SetNameTime("MTimeTrigger");
     178  plist.AddToList(&htrigmc9);
     179  MHPixVsTime htrigmc10(9,"TrigMacrocell10");
     180  htrigmc10.SetNameTime("MTimeTrigger");
     181  plist.AddToList(&htrigmc10);
     182  MHPixVsTime htrigmc11(10,"TrigMacrocell11");
     183  htrigmc11.SetNameTime("MTimeTrigger");
     184  plist.AddToList(&htrigmc11);
     185  MHPixVsTime htrigmc12(11,"TrigMacrocell12");
     186  htrigmc12.SetNameTime("MTimeTrigger");
     187  plist.AddToList(&htrigmc12);
     188  MHPixVsTime htrigmc13(12,"TrigMacrocell13");
     189  htrigmc13.SetNameTime("MTimeTrigger");
     190  plist.AddToList(&htrigmc13);
     191  MHPixVsTime htrigmc14(13,"TrigMacrocell14");
     192  htrigmc14.SetNameTime("MTimeTrigger");
     193  plist.AddToList(&htrigmc14);
     194  MHPixVsTime htrigmc15(14,"TrigMacrocell15");
     195  htrigmc15.SetNameTime("MTimeTrigger");
     196  plist.AddToList(&htrigmc15);
     197  MHPixVsTime htrigmc16(15,"TrigMacrocell16");
     198  htrigmc16.SetNameTime("MTimeTrigger");
     199  plist.AddToList(&htrigmc16);
     200  MHPixVsTime htrigmc17(16,"TrigMacrocell17");
     201  htrigmc17.SetNameTime("MTimeTrigger");
     202  plist.AddToList(&htrigmc17);
     203  MHPixVsTime htrigmc18(17,"TrigMacrocell18");
     204  htrigmc18.SetNameTime("MTimeTrigger");
     205  plist.AddToList(&htrigmc18);
     206  MHPixVsTime htrigmc19(18,"TrigMacrocell19");
     207  htrigmc19.SetNameTime("MTimeTrigger");
     208  plist.AddToList(&htrigmc19);
    125209
    126210  // Set of MH3 classes
     
    143227  bins4.SetEdges(50, 0, 50);
    144228  plist.AddToList(&bins4);
     229  MH3 hTrigZd("MReportDrive.fNominalZd","MReportTrigger.fL2AfterPrescaler");
     230  hTrigZd.SetName("TrigZd");
     231  MBinning bins5("BinningTrigZdX");
     232  bins5.SetEdges(90, 0, 90);
     233  plist.AddToList(&bins5);
     234  MBinning bins6("BinningTrigZdY");
     235  bins6.SetEdges(100, 0, 1500);
     236  plist.AddToList(&bins6);
     237
    145238
    146239  // Fill all the MH classes defined before
     
    171264  MFillH fillTrigBL2(&hTrigBL2,   "MTimeTrigger");
    172265  MFillH fillTrigAL2(&hTrigAL2,   "MTimeTrigger");
     266  MFillH fillTrigStatus(&hTrigStatus,   "MTimeTrigger");
     267  MFillH fillTrigZd(&hTrigZd);
     268  MFillH fillCamStatus(&hCamStatus,"MTimeCamera");
     269  MFillH fillCamSentStatus(&hCamSentStatus,"MTimeCamera");
     270  MFillH fillCamStatusDC(&hCamStatusDC, "MTimeCamera");
     271  MFillH fillHVStatus(&hHVStatus, "MTimeCamera");
     272  MFillH fillLidsStatus(&hLidsStatus, "MTimeCamera");
     273  MFillH fillCoolStatus(&hCoolStatus, "MTimeCamera");
     274  MFillH filltrigmc1("TrigMacrocell1","MReportTrigger");
     275  MFillH filltrigmc2("TrigMacrocell2","MReportTrigger");
     276  MFillH filltrigmc3("TrigMacrocell3","MReportTrigger");
     277  MFillH filltrigmc4("TrigMacrocell4","MReportTrigger");
     278  MFillH filltrigmc5("TrigMacrocell5","MReportTrigger");
     279  MFillH filltrigmc6("TrigMacrocell6","MReportTrigger");
     280  MFillH filltrigmc7("TrigMacrocell7","MReportTrigger");
     281  MFillH filltrigmc8("TrigMacrocell8","MReportTrigger");
     282  MFillH filltrigmc9("TrigMacrocell9","MReportTrigger");
     283  MFillH filltrigmc10("TrigMacrocell10","MReportTrigger");
     284  MFillH filltrigmc11("TrigMacrocell11","MReportTrigger");
     285  MFillH filltrigmc12("TrigMacrocell12","MReportTrigger");
     286  MFillH filltrigmc13("TrigMacrocell13","MReportTrigger");
     287  MFillH filltrigmc14("TrigMacrocell14","MReportTrigger");
     288  MFillH filltrigmc15("TrigMacrocell15","MReportTrigger");
     289  MFillH filltrigmc16("TrigMacrocell16","MReportTrigger");
     290  MFillH filltrigmc17("TrigMacrocell17","MReportTrigger");
     291  MFillH filltrigmc18("TrigMacrocell18","MReportTrigger");
     292  MFillH filltrigmc19("TrigMacrocell19","MReportTrigger");
     293//    MFillH fillHVD("CamHV","MCameraHV");
    173294
    174295  // Do not display the result given by the default draw function
     
    199320  fillTrigBL2.SetBit(MFillH::kDoNotDisplay);
    200321  fillTrigAL2.SetBit(MFillH::kDoNotDisplay);
     322  fillTrigStatus.SetBit(MFillH::kDoNotDisplay);
     323  fillTrigZd.SetBit(MFillH::kDoNotDisplay);
     324  fillCamStatus.SetBit(MFillH::kDoNotDisplay);
     325  fillCamSentStatus.SetBit(MFillH::kDoNotDisplay);
     326  fillCamStatusDC.SetBit(MFillH::kDoNotDisplay);
     327  fillHVStatus.SetBit(MFillH::kDoNotDisplay);
     328  fillLidsStatus.SetBit(MFillH::kDoNotDisplay);
     329  fillCoolStatus.SetBit(MFillH::kDoNotDisplay);
     330  filltrigmc1.SetBit(MFillH::kDoNotDisplay);
     331  filltrigmc2.SetBit(MFillH::kDoNotDisplay);
     332  filltrigmc3.SetBit(MFillH::kDoNotDisplay);
     333  filltrigmc4.SetBit(MFillH::kDoNotDisplay);
     334  filltrigmc5.SetBit(MFillH::kDoNotDisplay);
     335  filltrigmc6.SetBit(MFillH::kDoNotDisplay);
     336  filltrigmc7.SetBit(MFillH::kDoNotDisplay);
     337  filltrigmc8.SetBit(MFillH::kDoNotDisplay);
     338  filltrigmc9.SetBit(MFillH::kDoNotDisplay);
     339  filltrigmc10.SetBit(MFillH::kDoNotDisplay);
     340  filltrigmc11.SetBit(MFillH::kDoNotDisplay);
     341  filltrigmc12.SetBit(MFillH::kDoNotDisplay);
     342  filltrigmc13.SetBit(MFillH::kDoNotDisplay);
     343  filltrigmc14.SetBit(MFillH::kDoNotDisplay);
     344  filltrigmc15.SetBit(MFillH::kDoNotDisplay);
     345  filltrigmc16.SetBit(MFillH::kDoNotDisplay);
     346  filltrigmc17.SetBit(MFillH::kDoNotDisplay);
     347  filltrigmc18.SetBit(MFillH::kDoNotDisplay);
     348  filltrigmc19.SetBit(MFillH::kDoNotDisplay);
     349//    fillHVD.SetBit(MFillH::kDoNotDisplay);
    201350
    202351  // Add all the task to the task list
     
    228377  tlist.AddToList(&fillTrigBL2,  "Trigger");
    229378  tlist.AddToList(&fillTrigAL2,  "Trigger");
     379  tlist.AddToList(&fillTrigStatus,  "Trigger");
     380  tlist.AddToList(&fillTrigZd);
     381  tlist.AddToList(&fillCamStatus,  "Camera");
     382  tlist.AddToList(&fillCamSentStatus,  "Camera");
     383  tlist.AddToList(&fillCamStatusDC,"Camera");
     384  tlist.AddToList(&fillHVStatus,"Camera");
     385  tlist.AddToList(&fillLidsStatus,"Camera");
     386  tlist.AddToList(&fillCoolStatus,"Camera");
     387  tlist.AddToList(&filltrigmc1, "Trigger");
     388  tlist.AddToList(&filltrigmc2, "Trigger");
     389  tlist.AddToList(&filltrigmc3, "Trigger");
     390  tlist.AddToList(&filltrigmc4, "Trigger");
     391  tlist.AddToList(&filltrigmc5, "Trigger");
     392  tlist.AddToList(&filltrigmc6, "Trigger");
     393  tlist.AddToList(&filltrigmc7, "Trigger");
     394  tlist.AddToList(&filltrigmc8, "Trigger");
     395  tlist.AddToList(&filltrigmc9, "Trigger");
     396  tlist.AddToList(&filltrigmc10, "Trigger");
     397  tlist.AddToList(&filltrigmc11, "Trigger");
     398  tlist.AddToList(&filltrigmc12, "Trigger");
     399  tlist.AddToList(&filltrigmc13, "Trigger");
     400  tlist.AddToList(&filltrigmc14, "Trigger");
     401  tlist.AddToList(&filltrigmc15, "Trigger");
     402  tlist.AddToList(&filltrigmc16, "Trigger");
     403  tlist.AddToList(&filltrigmc17, "Trigger");
     404  tlist.AddToList(&filltrigmc18, "Trigger");
     405  tlist.AddToList(&filltrigmc19, "Trigger");
     406//    tlist.AddToList(&fillHVD);
    230407
    231408  //
     
    250427  // Drive report (pointing.C from T. Bretz)
    251428  //
    252   TCanvas &c1 = d->AddTab("Drive");
    253   // Plot the telescope tracking positions on the sky
     429  TCanvas &c1 = d.AddTab("DRIVE SYSTEM");
     430  // ************* Plot the telescope tracking positions on the sky ***********
    254431  TGraph *g1 = hZd.GetGraph();
    255432  TGraph *g2 = hAz.GetGraph();
     
    293470      old[1] = y[1];
    294471    }
    295   // Control deviation of the motors
     472  // ---------------------- Control deviation of the motors -------------------
    296473  c1.cd();
    297474  p = new TPad("", "", 0.6, 0, 1, 0.29);
     
    312489  ln.SetLineColor(kRed);
    313490  ln.DrawLine(2.0*360*60/16384., 0, 2.0*360*60/16384., hError.GetHist()->GetMaximum());
    314   // Plot the drive status vs time
     491  // ---------------------- Plot the drive status vs time ---------------------
    315492  c1.cd();
    316493  p = new TPad("", "", 0.6, 0.29, 1, 0.42);
     
    324501  hist->SetXTitle("Time");
    325502  hist->SetYTitle("");
    326   hist->SetTitle("");//Drive Status vs. Time");
     503  hist->SetTitle("");
    327504  hist->SetStats(0);
    328505  hist->SetMinimum(-0.5);
     
    337514  axex->SetTitleSize(0.09);
    338515  axex->SetTitleOffset(0.45);
    339   // Control deviation of the motors vs zenith angle
     516  // --------------- Control deviation of the motors vs zenith angle ----------
    340517  c1.cd();
    341518  p = new TPad("", "", 0.6, 0.71, 1, 1);
     
    350527  mh3->GetHist()->SetStats(1);
    351528  mh3->GetHist()->Draw("box");
    352   // Zenith angle vs time
     529  // -------------------------- Zenith angle vs time --------------------------
    353530  c1.cd();
    354531  p = new TPad("", "", 0.6, 0.42, 1, 0.71);
     
    370547  // Camera report
    371548  //
    372   // HV and currents of power supplies
    373   TCanvas &c2 = d->AddTab("HV");
    374   c2->Divide(1,2);
     549  // *********************** Camera status ************************************
     550  TCanvas &c2 = d.AddTab("CAMERA STATUS");
     551  c2->Divide(2,3);
    375552  c2->cd(1);
    376   // High voltages
     553  TGraph *g = hCamStatus.GetGraph();
     554  g->SetMarkerStyle(kFullDotSmall);
     555  g->SetTitle("Camera status");
     556  MHVsTime *clone1 = (MHVsTime*)hCamStatus.DrawClone("nonew");
     557  TH1 *hist = clone1->GetGraph()->GetHistogram();
     558  axey = hist->GetYaxis();
     559  hist->SetMinimum(-0.5);
     560  hist->SetMaximum(9.5);
     561  axey->Set(10,-0.5,9.5);
     562  axey->SetBinLabel(axey->FindFixBin(0),"EROR");
     563  axey->SetBinLabel(axey->FindFixBin(1),"ALARM");
     564  axey->SetBinLabel(axey->FindFixBin(2),"BLOCKED!");
     565  axey->SetBinLabel(axey->FindFixBin(3),"WARM!");
     566  axey->SetBinLabel(axey->FindFixBin(4),"HOT");
     567  axey->SetBinLabel(axey->FindFixBin(5),"HVRAMPING");
     568  axey->SetBinLabel(axey->FindFixBin(6),"OK");
     569  axey->SetBinLabel(axey->FindFixBin(7),"INIT");
     570  axey->SetBinLabel(axey->FindFixBin(8),"SHUTD");
     571  axey->SetBinLabel(axey->FindFixBin(9),"N/A");
     572  hist->SetXTitle("Time");
     573  hist->SetYTitle("");
     574  c2->cd(2);
     575  TGraph *g = hCamStatusDC.GetGraph();
     576  g->SetMarkerStyle(kFullDotSmall);
     577  g->SetTitle("Camera DC status");
     578  MHVsTime *clone1 = (MHVsTime*)hCamStatusDC.DrawClone("nonew");
     579  TH1 *hist = clone1->GetGraph()->GetHistogram();
     580  axey = hist->GetYaxis();
     581  hist->SetMinimum(-0.5);
     582  hist->SetMaximum(9.5);
     583  axey->Set(10,-0.5,9.5);
     584  axey->SetBinLabel(axey->FindFixBin(0),"Error");
     585  axey->SetBinLabel(axey->FindFixBin(1),"Alarm");
     586  axey->SetBinLabel(axey->FindFixBin(3),"Hot");
     587  axey->SetBinLabel(axey->FindFixBin(5),"Ok");
     588  axey->SetBinLabel(axey->FindFixBin(6),"Warm");
     589  axey->SetBinLabel(axey->FindFixBin(9),"n/a");
     590  hist->SetXTitle("Time");
     591  hist->SetYTitle("");
     592  c2->cd(3);
     593  TGraph *g = hHVStatus.GetGraph();
     594  g->SetMarkerStyle(kFullDotSmall);
     595  g->SetTitle("Camera HV status");
     596  MHVsTime *clone1 = (MHVsTime*)hHVStatus.DrawClone("nonew");
     597  TH1 *hist = clone1->GetGraph()->GetHistogram();
     598  axey = hist->GetYaxis();
     599  hist->SetMinimum(-0.5);
     600  hist->SetMaximum(9.5);
     601  axey->Set(10,-0.5,9.5);
     602  axey->SetBinLabel(axey->FindFixBin(0),"Error");
     603  axey->SetBinLabel(axey->FindFixBin(1),"Mismatch");
     604  axey->SetBinLabel(axey->FindFixBin(2),"Trip");
     605  axey->SetBinLabel(axey->FindFixBin(3),"Ramping");
     606  axey->SetBinLabel(axey->FindFixBin(4),"Off");
     607  axey->SetBinLabel(axey->FindFixBin(5),"Nominal");
     608  axey->SetBinLabel(axey->FindFixBin(6),"LimCurrentWarning");
     609  axey->SetBinLabel(axey->FindFixBin(9),"n/a");
     610  hist->SetXTitle("Time");
     611  hist->SetYTitle("");
     612  c2->cd(4);
     613  TGraph *g = hLidsStatus.GetGraph();
     614  g->SetMarkerStyle(kFullDotSmall);
     615  g->SetTitle("Camera Lids status");
     616  MHVsTime *clone1 = (MHVsTime*)hLidsStatus.DrawClone("nonew");
     617  TH1 *hist = clone1->GetGraph()->GetHistogram();
     618  axey = hist->GetYaxis();
     619  hist->SetMinimum(-0.5);
     620  hist->SetMaximum(9.5);
     621  axey->Set(10,-0.5,9.5);
     622  axey->SetBinLabel(axey->FindFixBin(0),"Error");
     623  axey->SetBinLabel(axey->FindFixBin(1),"SafetyLimit");
     624  axey->SetBinLabel(axey->FindFixBin(4),"Closed");
     625  axey->SetBinLabel(axey->FindFixBin(5),"Opened");
     626  axey->SetBinLabel(axey->FindFixBin(6),"Moving");
     627  axey->SetBinLabel(axey->FindFixBin(7),"Stopped");
     628  axey->SetBinLabel(axey->FindFixBin(9),"n/a");
     629  hist->SetXTitle("Time");
     630  hist->SetYTitle("");
     631  c2->cd(5);
     632  TGraph *g = hCoolStatus.GetGraph();
     633  g->SetMarkerStyle(kFullDotSmall);
     634  g->SetTitle("Camera cooling status");
     635  MHVsTime *clone1 = (MHVsTime*)hCoolStatus.DrawClone("nonew");
     636  TH1 *hist = clone1->GetGraph()->GetHistogram();
     637  axey = hist->GetYaxis();
     638  hist->SetMinimum(-0.5);
     639  hist->SetMaximum(9.5);
     640  axey->Set(10,-0.5,9.5);
     641  axey->SetBinLabel(axey->FindFixBin(0),"Error");
     642  axey->SetBinLabel(axey->FindFixBin(1),"Alarm");
     643  axey->SetBinLabel(axey->FindFixBin(4),"Off");
     644  axey->SetBinLabel(axey->FindFixBin(5),"Ok");
     645  axey->SetBinLabel(axey->FindFixBin(6),"Temp.Warning");
     646  axey->SetBinLabel(axey->FindFixBin(7),"Cond.Warning");
     647  axey->SetBinLabel(axey->FindFixBin(9),"n/a");
     648  hist->SetXTitle("Time");
     649  hist->SetYTitle("");
     650  c2->cd(6);
     651  TGraph *g = hCamSentStatus.GetGraph();
     652  g->SetMarkerStyle(kFullDotSmall);
     653  g->SetTitle("Camera sentinel status");
     654  MHVsTime *clone1 = (MHVsTime*)hCamSentStatus.DrawClone("nonew");
     655  TH1 *hist = clone1->GetGraph()->GetHistogram();
     656  axey = hist->GetYaxis();
     657  hist->SetMinimum(-0.5);
     658  hist->SetMaximum(9.5);
     659  axey->Set(10,-0.5,9.5);
     660  axey->SetBinLabel(axey->FindFixBin(0),"ERROR");
     661  axey->SetBinLabel(axey->FindFixBin(1),"ALL IS OK");
     662  axey->SetBinLabel(axey->FindFixBin(2),"SUN IS PRESENT");
     663  axey->SetBinLabel(axey->FindFixBin(3),"BAD ATM. COND.");
     664  axey->SetBinLabel(axey->FindFixBin(4),"BAD T/RH CAMERA");
     665  axey->SetBinLabel(axey->FindFixBin(5),"HOT CAMERA");
     666  axey->SetBinLabel(axey->FindFixBin(6),"FADC FANS PROB.");
     667  axey->SetBinLabel(axey->FindFixBin(7),"CECO TIMEOUT");
     668  axey->SetBinLabel(axey->FindFixBin(9),"N/A");
     669  hist->SetXTitle("Time");
     670  hist->SetYTitle("");
     671
     672  // ******************** HV and currents of power supplies *******************
     673  TCanvas &c3 = d.AddTab("CAMERA HV");
     674  c3->Divide(1,2);
     675  c3->cd(1);
     676  // ---------------------------- High voltages -------------------------------
    377677  TLegend *legHV = new TLegend(0.85,0.75,0.99,0.99);
    378678  TGraph *g = hHVA.GetGraph();
     
    392692  hist->SetMinimum(0);
    393693  legHV->DrawClone();
    394   c2->cd(2);
    395   // Currents
     694  c3->cd(2);
     695  // ----------------------------- Currents ----------------------------------
    396696  TLegend *legC = new TLegend(0.85,0.75,0.99,0.99);
    397697  TGraph *g = hCA.GetGraph();
     
    412712  legC->DrawClone();
    413713
    414   // LV power supplies
    415   TCanvas &c3 = d->AddTab("LV");
    416   c3->Divide(2,2);
    417   c3->cd(1);
     714  // ***************************** LV power supplies **************************
     715  TCanvas &c4 = d.AddTab("CAMERA LV");
     716  c4->Divide(2,2);
     717  c4->cd(1);
    418718  TGraph *g = hLVTemp.GetGraph();
    419719  g->SetMarkerColor(2);
     
    424724  hist->SetXTitle("Time");
    425725  hist->SetYTitle("Temperature [\\circ]");
    426   c3->cd(2);
     726  c4->cd(2);
    427727  TGraph *g = hLVHum.GetGraph();
    428728  g->SetMarkerColor(4);
     
    433733  hist->SetXTitle("Time");
    434734  hist->SetYTitle("Humidity [%]");
    435   c3->cd(3);
     735  c4->cd(3);
    436736  TGraph *g = hLVStatus.GetGraph();
    437   g->SetMarkerColor(8);
    438   g->SetLineColor(8);
     737  g->SetMarkerStyle(kFullDotSmall);
    439738  g->SetTitle("LV status");
    440739  MHVsTime *clone1 = (MHVsTime*)hLVStatus.DrawClone("nonew");
    441740  TH1 *hist = clone1->GetGraph()->GetHistogram();
    442   hist->SetXTitle("Time");
    443   hist->SetYTitle("Status");
    444   c3->cd(4);
     741  axey = hist->GetYaxis();
     742  hist->SetMinimum(-0.5);
     743  hist->SetMaximum(9.5);
     744  axey->Set(10,-0.5,9.5);
     745  axey->SetBinLabel(axey->FindFixBin(0),"Error");
     746  axey->SetBinLabel(axey->FindFixBin(1),"Alarm");
     747  axey->SetBinLabel(axey->FindFixBin(2),"Trip");
     748  axey->SetBinLabel(axey->FindFixBin(4),"Off");
     749  axey->SetBinLabel(axey->FindFixBin(5),"On");
     750  axey->SetBinLabel(axey->FindFixBin(9),"n/a");
     751  hist->SetXTitle("Time");
     752  hist->SetYTitle("");
     753  c4->cd(4);
    445754  TGraph *g = hLVRPS.GetGraph();
    446   g->SetMarkerColor(3);
    447   g->SetLineColor(3);
     755  g->SetMarkerStyle(kFullDotSmall);
    448756  g->SetTitle("LV request power supply");
    449757  MHVsTime *clone1 = (MHVsTime*)hLVRPS.DrawClone("nonew");
    450758  TH1 *hist = clone1->GetGraph()->GetHistogram();
    451759  hist->SetXTitle("Time");
    452   hist->SetYTitle("Request power supply");
    453   TAxis *axey = hist->GetYaxis();
     760  hist->SetYTitle("");
     761  axey = hist->GetYaxis();
     762  hist->SetMinimum(-0.5);
     763  hist->SetMaximum(1.5);
    454764  axey->Set(2, -0.5, 1.5);
    455765  axey->SetBinLabel(axey->FindFixBin(0), "OFF");
    456766  axey->SetBinLabel(axey->FindFixBin(1), "ON");
    457   // Cooling
    458   TCanvas &c4 = d->AddTab("Cooling");
     767  // ****************************** Cooling ***********************************
     768  TCanvas &c5 = d.AddTab("COOLING SYSTEM");
    459769  gStyle->SetPadGridX(kTRUE);
    460770  gStyle->SetPadGridY(kTRUE);
    461   c4->Divide(1,2);
    462   c4->cd(1);
    463   // Camera temperatures
     771  c5->Divide(1,2);
     772  c5->cd(1);
     773  // -------------------------- Camera temperatures ---------------------------
    464774  TLegend *legtemp = new TLegend(0.85,0.75,0.99,0.99);
    465775  TGraph *g = hTCenter.GetGraph();
     
    489799  hist->SetMinimum(0);
    490800  legtemp->DrawClone();
    491   // Camera relative humidity
    492   c4->cd(2);
     801  // ------------------------- Camera relative humidity -----------------------
     802  c5->cd(2);
    493803  gPad->SetBorderMode(0);
    494804  gPad->Divide(2, 1);
     
    513823  hist->SetMinimum(0);
    514824  leghum->DrawClone();
    515   // Temperature distribution
     825  // ---------------------- Temperature distribution --------------------------
    516826  c->cd(2);
    517827  TH1F *h3 = hTempOptLink.GetHistByName("TOptLink");
     
    519829  h3->SetYTitle("");
    520830  h3->SetLineColor(2);
    521   h3->SetTitle("Distribution of opt. links temperature (31.6+/-3.8\\circ)");
     831  h3->SetTitle("Distribution of opt. links temperature");
    522832  h3->SetStats(0);
    523833  MH3 *mh3 = (MH3*)hTempOptLink.DrawClone("nonew");
    524834
    525835  //
    526   // Trigger report
    527   //
    528   TCanvas &c5 = d->AddTab("Trigger");
     836  // **************************** Trigger report ******************************
     837  //
     838  TCanvas &c6 = d.AddTab("TRIGGER SYSTEM");
     839  c6->Divide(1,3);
     840  c6->cd(1);
    529841  gStyle->SetPadGridX(kTRUE);
    530842  gStyle->SetPadGridY(kTRUE);
     
    546858  hist->SetYTitle("L2 trigger rate [Hz]");
    547859  legtrig->DrawClone();
    548  
    549   //
    550   // CC report (Weather station)
    551   //
    552   TCanvas &c6 = d->AddTab("Central Control");
    553   c6->Divide(2,2);
    554   // Relative humidity
    555   c6->cd(1);
     860   c6->cd(2);
     861   TH1 *h4 = hTrigZd.GetHistByName("TrigZd");
     862   h4->SetXTitle("Zenith angle[\\circ]");
     863   h4->SetYTitle("Trigger rate [Hz]");
     864   h4->SetMarkerColor(4);
     865   h4->SetTitle("L2 trigger rate after prescaler");
     866   h4->SetStats(0);
     867   mh3 = (MH3*)hTrigZd.DrawClone("nonew");
     868   c6->cd(3);
     869  TGraph *g = hTrigStatus.GetGraph();
     870  g->SetMarkerStyle(kFullDotSmall);
     871  g->SetTitle("Trigger status");
     872  MHVsTime *clone1 = (MHVsTime*)hTrigStatus.DrawClone("nonew");
     873  TH1 *hist = clone1->GetGraph()->GetHistogram();
     874  axey = hist->GetYaxis();
     875  hist->SetMinimum(-0.5);
     876  hist->SetMaximum(5.5);
     877  axey->Set(6,-0.5,5.5);
     878  axey->SetBinLabel(axey->FindFixBin(0),"Error");
     879  axey->SetBinLabel(axey->FindFixBin(1),"Idle");
     880  axey->SetBinLabel(axey->FindFixBin(2),"Loading");
     881  axey->SetBinLabel(axey->FindFixBin(3),"Ready");
     882  axey->SetBinLabel(axey->FindFixBin(4),"Active");
     883  axey->SetBinLabel(axey->FindFixBin(5),"Stopped");
     884  hist->SetXTitle("Time");
     885  hist->SetYTitle("");
     886  // ***************************** Trigger of macrocells **********************
     887  TCanvas &c7 = d.AddTab("TRIG. MACROCELLs");
     888  c7->Divide(2,2);
     889  c7->cd(1);
     890  TLegend *legtrig = new TLegend(0.80,0.75,0.99,0.99);
     891  TGraph *g = htrigmc1.GetGraph();
     892  g->SetMarkerStyle(kFullDotSmall);
     893  g->SetMarkerColor(2);
     894  legtrig->AddEntry(g,Form("Macrocell 1: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     895  g->SetTitle("Trigger rate of mc 1 : (maximum)");
     896  MHPixVsTime *pixclone1 = (MHPixVsTime*)htrigmc1.DrawClone("nonew");
     897  TH1 *hist = pixclone1->GetGraph()->GetHistogram();
     898  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     899    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     900  hist->SetXTitle("Time");
     901  hist->SetYTitle("Trigger [Hz]");
     902  legtrig->DrawClone();
     903  c7->cd(2);
     904  TLegend *legtrig = new TLegend(0.80,0.75,0.99,0.99);
     905  TGraph *g = htrigmc2.GetGraph();
     906  g->SetMarkerStyle(kFullDotSmall);
     907  g->SetMarkerColor(2);
     908  legtrig->AddEntry(g,Form("Macrocell 2: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     909  g->SetTitle("Trigger rate of mc 2-7 : (maximum)");
     910  MHPixVsTime *pixclone1 = (MHPixVsTime*)htrigmc2.DrawClone("nonew");
     911  TH1 *hist = pixclone1->GetGraph()->GetHistogram();
     912  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     913    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     914  hist->SetXTitle("Time");
     915  hist->SetYTitle("Trigger [Hz]");
     916  g=htrigmc3.GetGraph();
     917  g->SetMarkerStyle(kFullDotSmall);
     918  g->SetMarkerColor(3);
     919  legtrig->AddEntry(g,Form("Macrocell 3: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     920  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     921    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     922  pixclone1 = (MHPixVsTime*)htrigmc3.DrawClone("nonewsame");
     923  g=htrigmc4.GetGraph();
     924  g->SetMarkerStyle(kFullDotSmall);
     925  g->SetMarkerColor(4);
     926  legtrig->AddEntry(g,Form("Macrocell 4: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     927  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     928    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     929  pixclone1 = (MHPixVsTime*)htrigmc4.DrawClone("nonewsame");
     930  g=htrigmc5.GetGraph();
     931  g->SetMarkerStyle(kFullDotSmall);
     932  g->SetMarkerColor(5);
     933  legtrig->AddEntry(g,Form("Macrocell 5: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     934  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     935    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     936  pixclone1 = (MHPixVsTime*)htrigmc5.DrawClone("nonewsame");
     937  g=htrigmc6.GetGraph();
     938  g->SetMarkerStyle(kFullDotSmall);
     939  g->SetMarkerColor(6);
     940  legtrig->AddEntry(g,Form("Macrocell 6: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     941  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     942    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     943  pixclone1 = (MHPixVsTime*)htrigmc6.DrawClone("nonewsame");
     944  g=htrigmc7.GetGraph();
     945  g->SetMarkerStyle(kFullDotSmall);
     946  g->SetMarkerColor(7);
     947  legtrig->AddEntry(g,Form("Macrocell 7: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     948  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     949    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     950  pixclone1 = (MHPixVsTime*)htrigmc7.DrawClone("nonewsame");
     951  legtrig->DrawClone();
     952  c7->cd(3);
     953  TLegend *legtrig = new TLegend(0.80,0.75,0.99,0.99);
     954  TGraph *g = htrigmc8.GetGraph();
     955  g->SetMarkerStyle(kFullDotSmall);
     956  g->SetMarkerColor(2);
     957  legtrig->AddEntry(g,Form("Macrocell 8: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     958  g->SetTitle("Trigger rate of mc 8-13 : (maximum)");
     959  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     960    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     961  MHPixVsTime *pixclone1 = (MHPixVsTime*)htrigmc8.DrawClone("nonew");
     962  TH1 *hist = pixclone1->GetGraph()->GetHistogram();
     963  hist->SetXTitle("Time");
     964  hist->SetYTitle("Trigger [Hz]");
     965  g=htrigmc9.GetGraph();
     966  g->SetMarkerStyle(kFullDotSmall);
     967  g->SetMarkerColor(3);
     968  legtrig->AddEntry(g,Form("Macrocell 9: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     969  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     970    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     971  pixclone1 = (MHPixVsTime*)htrigmc9.DrawClone("nonewsame");
     972  g=htrigmc10.GetGraph();
     973  g->SetMarkerStyle(kFullDotSmall);
     974  g->SetMarkerColor(4);
     975  legtrig->AddEntry(g,Form("Macrocell 10: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     976  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     977    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     978  pixclone1 = (MHPixVsTime*)htrigmc10.DrawClone("nonewsame");
     979  g=htrigmc11.GetGraph();
     980  g->SetMarkerStyle(kFullDotSmall);
     981  g->SetMarkerColor(5);
     982  legtrig->AddEntry(g,Form("Macrocell 11: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     983  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     984    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     985  pixclone1 = (MHPixVsTime*)htrigmc11.DrawClone("nonewsame");
     986  g=htrigmc12.GetGraph();
     987  g->SetMarkerStyle(kFullDotSmall);
     988  g->SetMarkerColor(6);
     989  legtrig->AddEntry(g,Form("Macrocell 12: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     990  pixclone1 = (MHPixVsTime*)htrigmc12.DrawClone("nonewsame");
     991  g=htrigmc13.GetGraph();
     992  g->SetMarkerStyle(kFullDotSmall);
     993  g->SetMarkerColor(7);
     994  legtrig->AddEntry(g,Form("Macrocell 13: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     995  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     996    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     997  pixclone1 = (MHPixVsTime*)htrigmc13.DrawClone("nonewsame");
     998  legtrig->DrawClone();
     999  c7->cd(4);
     1000  TLegend *legtrig = new TLegend(0.80,0.75,0.99,0.99);
     1001  TGraph *g = htrigmc14.GetGraph();
     1002  g->SetMarkerStyle(kFullDotSmall);
     1003  g->SetMarkerColor(2);
     1004  legtrig->AddEntry(g,Form("Macrocell 14: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     1005  g->SetTitle("Trigger rate of mc 14-19 : (maximum)");
     1006  MHPixVsTime *pixclone1 = (MHPixVsTime*)htrigmc14.DrawClone("nonew");
     1007  TH1 *hist = pixclone1->GetGraph()->GetHistogram();
     1008  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     1009    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     1010  hist->SetXTitle("Time");
     1011  hist->SetYTitle("Trigger [Hz]");
     1012  g=htrigmc15.GetGraph();
     1013  g->SetMarkerStyle(kFullDotSmall);
     1014  g->SetMarkerColor(3);
     1015  legtrig->AddEntry(g,Form("Macrocell 15: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     1016  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     1017    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     1018  pixclone1 = (MHPixVsTime*)htrigmc15.DrawClone("nonewsame");
     1019  g=htrigmc16.GetGraph();
     1020  g->SetMarkerStyle(kFullDotSmall);
     1021  g->SetMarkerColor(4);
     1022  legtrig->AddEntry(g,Form("Macrocell 16: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     1023  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     1024    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     1025  pixclone1 = (MHPixVsTime*)htrigmc16.DrawClone("nonewsame");
     1026  g=htrigmc17.GetGraph();
     1027  g->SetMarkerStyle(kFullDotSmall);
     1028  g->SetMarkerColor(5);
     1029  legtrig->AddEntry(g,Form("Macrocell 17: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     1030  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     1031    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     1032  pixclone1 = (MHPixVsTime*)htrigmc17.DrawClone("nonewsame");
     1033  g=htrigmc18.GetGraph();
     1034  g->SetMarkerStyle(kFullDotSmall);
     1035  g->SetMarkerColor(6);
     1036  legtrig->AddEntry(g,Form("Macrocell 18: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     1037  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     1038    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     1039  pixclone1 = (MHPixVsTime*)htrigmc18.DrawClone("nonewsame");
     1040  g=htrigmc19.GetGraph();
     1041  g->SetMarkerStyle(kFullDotSmall);
     1042  g->SetMarkerColor(7);
     1043  legtrig->AddEntry(g,Form("Macrocell 19: %3.0f",g->GetHistogram()->GetMaximum()),"p");
     1044  if(hist->GetMaximum()<g->GetHistogram()->GetMaximum())
     1045    hist->SetMaximum(g->GetHistogram()->GetMaximum());
     1046  pixclone1 = (MHPixVsTime*)htrigmc19.DrawClone("nonewsame");
     1047  legtrig->DrawClone();
     1048
     1049  //
     1050  // *************************** Weather station ******************************
     1051  //
     1052  TCanvas &c8 = d.AddTab("WEATHER STATION");
     1053  c8->Divide(2,2);
     1054  // ----------------------- Relative humidity --------------------------------
     1055  c8->cd(1);
    5561056  TGraph *g = hCCHum.GetGraph();
    5571057  g->SetMarkerStyle(kFullDotSmall);
     
    5631063  hist->SetXTitle("Time");
    5641064  hist->SetYTitle("Humidity [%]");
    565   // Temperature
    566   c6->cd(2);
     1065  // -------------------------- Temperature -----------------------------------
     1066  c8->cd(2);
    5671067  TGraph *g = hCCTemp.GetGraph();
    5681068  g->SetMarkerStyle(kFullDotSmall);
     
    5741074  hist->SetXTitle("Time");
    5751075  hist->SetYTitle("Temperature [\\circ C]");
    576   // Wind speed
    577   c6->cd(3);
     1076  // --------------------------- Wind speed -----------------------------------
     1077  c8->cd(3);
    5781078  TGraph *g = hCCWS.GetGraph();
    5791079  g->SetMarkerStyle(kFullDotSmall);
     
    5851085  hist->SetXTitle("Time");
    5861086  hist->SetYTitle("Wind speed [km/h]");
    587   // Solar radiation
    588   c6->cd(4);
     1087  // -------------------------- Solar radiation -------------------------------
     1088  c8->cd(4);
    5891089  TGraph *g = hCCSR.GetGraph();
    5901090  g->SetMarkerStyle(kFullDotSmall);
     
    6071107        file = filename(0, filename.Last('.'));
    6081108
    609 //      TString file = filename.Remove(filename.Index("."),5);
    6101109      // Save data in a postscriptfile (status.ps)
    6111110      d->SaveAsPS(-1,Form("%s.ps",file));
  • trunk/MagicSoft/Mars/mhist/MHPixVsTime.cc

    r3043 r3082  
    6868    t += " vs Time";
    6969
    70     fGraph.SetName("MCamEvent");
    71     fGraph.SetTitle(t);
     70    fGraph->SetName("MCamEvent");
     71    fGraph->SetTitle(t);
    7272}
    7373
     
    151151        t = fTime->GetAxisTime();
    152152    else
    153         t = fHeader ? fHeader->GetDAQEvtNumber() : fGraph.GetN();
    154 
    155     fGraph.SetPoint(fGraph.GetN(), t, val);
     153        t = fHeader ? fHeader->GetDAQEvtNumber() : fGraph->GetN();
     154
     155    fGraph->SetPoint(fGraph->GetN(), t, val);
    156156    return kTRUE;
    157157}
     
    172172TH1 *MHPixVsTime::GetHistByName(const TString name)
    173173{
    174     return fGraph.GetHistogram();
    175 }
    176 
    177 void MHPixVsTime::Draw(Option_t *)
    178 {
    179     /*
     174    return fGraph->GetHistogram();
     175}
     176
     177void MHPixVsTime::Draw(Option_t *opt)
     178{
     179
     180    if (fGraph->GetN()==0)
     181        return;
     182
    180183    TVirtualPad *pad = gPad ? gPad : MakeDefCanvas(this);
    181184    pad->SetBorderMode(0);
    182185
    183     pad->Divide(2,2);
    184 
    185     pad->cd(1);
    186     gPad->SetBorderMode(0);
    187     gPad->Divide(1,1);
    188     gPad->cd(1);
    189     gPad->SetBorderMode(0);
    190     fSum->Draw();
    191 
    192     pad->cd(3);
    193     gPad->SetBorderMode(0);
    194     fSum->Draw("EPhist");
     186    AppendPad("");
     187
     188    TString str(opt);
    195189
    196190    fGraph->GetHistogram()->SetXTitle("Time");
     
    198192    fGraph->GetHistogram()->GetXaxis()->SetTimeDisplay(1);
    199193    fGraph->GetHistogram()->GetXaxis()->SetLabelSize(0.033);
    200     */
    201 }
     194
     195    fGraph->GetHistogram()->SetYTitle("");
     196
     197    if (!str.Contains("A"))
     198        str += "A";
     199    if (!str.Contains("P"))
     200        str += "P";
     201
     202    if (str.Contains("same", TString::kIgnoreCase))
     203    {
     204        str.ReplaceAll("same", "");
     205        str.ReplaceAll("A", "");
     206    }
     207
     208    fGraph->Draw(str);
     209
     210    pad->Modified();
     211    pad->Update();
     212
     213}
  • trunk/MagicSoft/Mars/mhist/MHPixVsTime.h

    r3043 r3082  
    2020{
    2121private:
    22     TGraph     fGraph;
     22    TGraph     *fGraph;
    2323    Int_t      fIndex;
    2424
     
    4848
    4949    TH1 *GetHistByName(const TString name="");
    50     TGraph &GetGraph() { return fGraph; }
     50    TGraph *GetGraph() { return fGraph; }
    5151
    52     void Draw(Option_t *o="");
     52    void Draw(Option_t *o=NULL);
    5353
    5454    ClassDef(MHPixVsTime, 1) // Histogram to sum camera events
     
    5656
    5757#endif
     58
     59
     60
  • trunk/MagicSoft/Mars/mreport/MReportTrigger.h

    r2892 r3082  
    55#include "MReport.h"
    66#endif
     7#ifndef MARS_MCamEvent
     8#include "MCamEvent.h"
     9#endif
    710
    811#ifndef ROOT_TArrayF
     
    1013#endif
    1114
    12 class MReportTrigger : public MReport
     15class MReportTrigger : public MReport, public MCamEvent
    1316{
    1417private:
     
    2730    Float_t GetL2AfterPrescaler() const { return fL2AfterPrescaler; }
    2831
     32    Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
     33      {
     34        if(idx<19)
     35          {
     36            val = fPrescalerRates[idx];
     37            return val>0;
     38          }
     39        else
     40          val = kFALSE;
     41      }
     42    void DrawPixelContent(Int_t num) const
     43      {
     44      }
     45
    2946    ClassDef(MReportTrigger, 1) // Class for TRIGGER-REPORT information
    3047};
Note: See TracChangeset for help on using the changeset viewer.