TL2249Histogram.cxx
Go to the documentation of this file.00001 #include "TL2249Histogram.h"
00002 #include "TL2249Data.hxx"
00003 #include "TDirectory.h"
00004 #include "TTree.h"
00005
00006 const int Nchannels = 4;
00007
00008
00009 TL2249Histograms::TL2249Histograms(){
00010
00011 CreateHistograms();
00012
00013 }
00014
00015
00016 void TL2249Histograms::CreateHistograms(){
00017
00018
00019 clear();
00020
00021 std::cout << "Create Histos" << std::endl;
00022 for(int i = 0; i < Nchannels; i++){
00023
00024 char name[100];
00025 char title[100];
00026 sprintf(name,"L2249_%i_%i",0,i);
00027
00028
00029 TH1D *old = (TH1D*)gDirectory->Get(name);
00030 if (old){
00031 delete old;
00032 }
00033
00034
00035 sprintf(title,"L2249 histogram for channel=%i",i);
00036
00037 TH1D *tmp = new TH1D(name,title,2048,0,2047);
00038 tmp->SetXTitle("ADC");
00039 tmp->SetYTitle("Number of Entries");
00040 push_back(tmp);
00041 }
00042
00043 }
00044
00045
00046
00047 void TL2249Histograms::UpdateHistograms(TDataContainer& dataContainer){
00048
00049
00050 TL2249Data *data = dataContainer.GetEventData<TL2249Data>("ADC0");
00051 if(!data) return;
00052
00053
00054 std::vector<LADCMeasurement> measurements = data->GetMeasurements();
00055 for(unsigned int i = 0; i < measurements.size(); i++){
00056
00057 int chan = i;
00058 GetHistogram(chan)->Fill(measurements[i].GetMeasurement());
00059 }
00060 }
00061
00062
00063
00064
00065 void TL2249Histograms::BeginRun(int transition,int run,int time){
00066
00067 printf("in begin run for TL2249\n");
00068 CreateHistograms();
00069
00070 }
00071
00072
00073 void TL2249Histograms::EndRun(int transition,int run,int time){
00074 printf("in end run for TL2249\n");
00075 }