00001 00008 #ifndef SUMOFINTEGRAL_h 00009 #define SUMOFINTEGRAL_h 00010 00011 #include "Rtypes.h" //has the classdef macro 00012 #include "Message.hh" 00013 #include <vector> 00014 #include <iostream> 00015 00021 class SumOfIntegral{ 00022 public: 00023 SumOfIntegral() { Clear(); } 00024 virtual ~SumOfIntegral() { } 00025 void Clear(); 00026 void Print(int pulse); 00027 public: 00028 Int_t start_index; 00029 double start_time; 00030 Int_t end_index; 00031 double end_time; 00032 bool start_clean; 00033 bool end_clean; 00034 double dt; 00035 00036 bool saturated; 00037 double npe; 00038 std::vector <double> f_param; 00039 double f90; 00040 double f90_fixed; 00041 double fixed_npe1; 00042 double fixed_npe2; 00043 bool fixed_npe1_valid; 00044 bool fixed_npe2_valid; 00045 00046 Int_t max_chan; 00047 double max_chan_npe; 00048 00049 bool is_s1; 00050 bool is_s2; 00051 00052 double gatti; 00053 double ll_ele; 00054 double ll_nuc; 00055 double ll_r; 00056 00057 00058 ClassDef(SumOfIntegral,2); 00059 }; 00060 00061 inline void SumOfIntegral::Clear() 00062 { 00063 saturated = false; 00064 start_index = -1; 00065 start_time = 0; 00066 end_index = -1; 00067 end_time = 0; 00068 npe = 0; 00069 f_param.clear(); 00070 f90 = 0; 00071 f90_fixed = 0; 00072 gatti = 0; 00073 ll_ele = 0; 00074 ll_nuc = 0; 00075 ll_r = 0; 00076 fixed_npe1 = 0; 00077 fixed_npe2 = 0; 00078 fixed_npe1_valid = false; 00079 fixed_npe2_valid = false; 00080 dt = -1; 00081 is_s1 = false; 00082 is_s2 = false; 00083 start_clean = false; 00084 end_clean = false; 00085 max_chan = -1; 00086 max_chan_npe = 0; 00087 }; 00088 00089 inline void SumOfIntegral::Print(int pulse) 00090 { 00091 Message m(INFO); 00092 m<<std::endl; 00093 m<<"************************************************************************"<<std::endl; 00094 m<<"******************* SOI PULSE "<<pulse<<" INFORMATION ***************************"<<std::endl; 00095 m<<"************************************************************************"<<std::endl; 00096 m<<"Start Index: "<<start_index<<std::endl; 00097 m<<"Start Time: "<<start_time<<std::endl; 00098 m<<"End Index: "<<end_index<<std::endl; 00099 m<<"End Time: "<<end_time<<std::endl; 00100 m<<"Start Clean: "<<start_clean<<std::endl; 00101 m<<"End Clean: "<<end_clean<<std::endl; 00102 m<<"DT: "<<dt<<std::endl; 00103 m<<"Saturated: "<<saturated<<std::endl; 00104 m<<"Npe: "<<npe<<std::endl; 00105 m<<"Fixed Npe 1 Valid: "<<fixed_npe1_valid<<std::endl; 00106 m<<"Fixed Npe 1 : "<<fixed_npe1<<std::endl; 00107 m<<"Fixed Npe 2 Valid: "<<fixed_npe2_valid<<std::endl; 00108 m<<"Fixed Npe 2 : "<<fixed_npe2<<std::endl; 00109 m<<"Max Channel: "<<max_chan<<std::endl; 00110 m<<"Max Channel Npe: "<<max_chan_npe<<std::endl; 00111 m<<"F90: "<<f90<<std::endl; 00112 m<<"F90 Fixed: "<<f90_fixed<<std::endl; 00113 m<<"Gatti: "<<gatti<<std::endl; 00114 m<<"LL Electron: "<<ll_ele<<std::endl; 00115 m<<"LL Nuclear: "<<ll_nuc<<std::endl; 00116 m<<"LL Ratio: "<<ll_r<<std::endl; 00117 m<<"Is S1: "<<is_s1<<std::endl; 00118 m<<"Is S2: "<<is_s2<<std::endl; 00119 m<<"************************************************************************"<<std::endl; 00120 } 00121 #endif