00001 #include "CosmicMonitor.hh" 00002 #include "intarray.hh" 00003 00004 #include "BaselineFinder.hh" 00005 #include "SumChannels.hh" 00006 #include "RootWriter.hh" 00007 #include <algorithm> 00008 #include <cmath> 00009 00010 CosmicMonitor::CosmicMonitor() : 00011 ChannelModule(GetDefaultName(), 00012 "processes info on the cosmic ray channel") 00013 { 00014 AddDependency<BaselineFinder>(); 00015 RegisterParameter("threshold" , threshold = 0, "Cosmic threshold"); 00016 } 00017 00018 CosmicMonitor::~CosmicMonitor() 00019 { 00020 Finalize(); 00021 } 00022 00023 int CosmicMonitor::Initialize() 00024 { 00025 return 0; 00026 } 00027 00028 int CosmicMonitor::Finalize() { return 0; } 00029 00030 int CosmicMonitor::Process(ChannelData* chdata) 00031 { 00032 00033 const Baseline& baseline = chdata->baseline; 00034 if(!baseline.found_baseline) 00035 return 0; 00036 00037 //get the relevant variables 00038 double* wave = chdata->GetBaselineSubtractedWaveform(); 00039 00040 const int nsamps = chdata->nsamps; 00041 /* 00042 std::vector<double>& integral = chdata->integral; 00043 integral.resize(nsamps); 00044 00045 //perform the integration 00046 integral[0] = wave[0] ; 00047 */ 00048 00049 for(int samp = 1; samp < nsamps; samp++){ 00050 if (wave[samp] > threshold) { 00051 //chdata->has_cosmic = true; 00052 return 0; 00053 } 00054 } 00055 return 0; 00056 }