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 /// Reset the histograms for this canvas
00009 TL2249Histograms::TL2249Histograms(){  
00010   
00011   CreateHistograms();
00012 
00013 }
00014 
00015 /// Create Histograms and set labels and range
00016 void TL2249Histograms::CreateHistograms(){
00017   
00018   // Otherwise make histograms
00019   clear();
00020   
00021   std::cout << "Create Histos" << std::endl;
00022   for(int i = 0; i < Nchannels; i++){ // loop over channels    
00023 
00024     char name[100];
00025     char title[100];
00026     sprintf(name,"L2249_%i_%i",0,i);
00027 
00028     // Delete old histograms, if we already have them
00029     TH1D *old = (TH1D*)gDirectory->Get(name);
00030     if (old){
00031       delete old;
00032     }
00033 
00034     // Create new histograms
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 /// Update the histograms for this canvas.
00047 void TL2249Histograms::UpdateHistograms(TDataContainer& dataContainer){
00048 
00049 
00050   TL2249Data *data = dataContainer.GetEventData<TL2249Data>("ADC0");
00051   if(!data) return;
00052   
00053   /// Get the Vector of ADC Measurements.
00054   std::vector<LADCMeasurement> measurements = data->GetMeasurements();
00055   for(unsigned int i = 0; i < measurements.size(); i++){ // loop over measurements
00056         
00057     int chan = i;
00058     GetHistogram(chan)->Fill(measurements[i].GetMeasurement());
00059   }
00060 }
00061 
00062 
00063 
00064 /// Take actions at begin run
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 /// Take actions at end run  
00073 void TL2249Histograms::EndRun(int transition,int run,int time){
00074   printf("in end run for TL2249\n");
00075 }

Generated on 5 May 2014 for ROOT Analyzer by  doxygen 1.6.1