Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

channel.cxx

Go to the documentation of this file.
00001 /***************************************************************************
00002                           channel.cpp  -  description
00003                              -------------------
00004     begin                : Fri Feb 8 2002
00005     copyright            : (C) 2002 by Robert Morse
00006     email                : r.morse@sussex.ac.uk
00007  ***************************************************************************/
00008 
00009 
00010 #include "channel.h"
00011 void Channel::Clean(){
00012   no_entries=0;
00013   mean=0;
00014   rms=0;
00015   sigma1=0;
00016   sigma2=0;
00017   channel_no =-1;
00018 };
00019 
00020 void Channel::SetMean(Double_t value){
00021   mean = value;
00022 };
00023 
00024 void Channel::SetEntries(Int_t values){
00025   no_entries = values;
00026 };
00027 
00028 void Channel::SetRMS(Double_t value){
00029   rms = value;
00030 };
00031 
00032 Double_t Channel::GetMean(){
00033   return mean;
00034 };
00035 
00036 Int_t Channel::GetEntries(){
00037   return no_entries;
00038 };
00039 
00040 Double_t Channel::GetRMS(){
00041         if(sigma1 ==0)
00042                 return rms;
00043          return   rms = pow(( sigma1/Double_t(no_entries) - pow( sigma2/Double_t(no_entries),2)),0.5);
00044 };
00045 
00046 void Channel::SetEntry(Int_t entries, Double_t new_mean, Double_t new_rms){
00047   no_entries = entries;
00048   mean = new_mean;
00049   rms = new_rms;
00050 };
00051 
00052 void Channel::AddEntry(Int_t new_entries, Double_t new_mean, Double_t new_rms){
00053   if(new_entries > 0){
00054 
00055          sigma1 += Double_t(new_entries)*(pow(new_rms,2) + pow(new_mean,2));
00056          sigma2 += new_mean * Double_t(new_entries);
00057 
00058     mean = mean * ( Double_t(no_entries) / (Double_t(no_entries + new_entries)) )
00059     + new_mean*( Double_t(new_entries) / (Double_t(new_entries+no_entries)) );
00060         no_entries += new_entries;
00061         }
00062 };

Generated on Mon Feb 15 11:06:31 2010 for loon by  doxygen 1.3.9.1