2 #ifdef DEBUG_ACOUSTICDATAFILTER
5 #include <boost/date_time/posix_time/posix_time.hpp>
7 #define DEBUG_MSG(str,lev) do { if (((uint8_t)lev)>=AcousticDataFilter::DEBUG_LEVEL) { DBG_MSG << boost::posix_time::microsec_clock::local_time() << " ACOUSTICDATAFILTER(" << (void*)this << "): "<< str << '\n'; } }while( false )
9 #define DEBUG_MSG(str,lev) do { } while ( false )
21 std::istringstream iss(d);
27 size_t pos = token.find(
'=');
28 std::string key=token.substr(0, pos);
29 std::string value=token.substr(pos+1);
40 i =
mmap.equal_range(tag);
43 r.push_back(it->second);
49 std::string
Find(std::string tag,
size_t index, std::string value =
"")
64 const std::string& port,\
65 const std::string& name,\
66 const std::string& server,\
67 const std::string& wisdom,\
68 const std::string& output,\
69 const std::string& raw,\
71 const int level):
KM3NETDAQ::JDAQClient(name,server,logger,level),\
72 strand_(trigger_io_service_),\
73 server_acceptor_(server_io_service_)
102 boost::asio::ip::tcp::resolver::query l_query(
address_,
port_);
103 boost::asio::ip::tcp::endpoint l_endpoint = *l_resolver.resolve(l_query);
105 server_acceptor_.set_option(boost::asio::ip::tcp::acceptor::reuse_address(
true));
121 for (i=
links_.begin(); i!=
links_.end(); ++i){ (*i)->Disconnect(); }
152 link->Start_reading();
164 if (fftwf_import_wisdom_from_file(pfile)==1)
180 fftwf_export_wisdom_to_file(pfile);
188 Parser dummy(std::string(buffer, length),
';');
191 std::string l_debug_file_path;
192 std::string l_window;
193 std::string l_overlap;
199 l_window = dummy.
Find(
"ADF_analysis_window_size", 0);
200 l_overlap = dummy.
Find(
"ADF_analysis_window_overlap", 0);
201 l_probes = dummy.
Find(
"ADF_waveform");
202 l_dom_configuration = dummy.
Find(
"ADF_DOM_configuration");
204 l_toa_path=dummy.
Find(
"ADF_TOA_path");
206 l_dbg_path=dummy.
Find(
"ADF_DBG_path");
209 DEBUG_MSG(
"SM:Configure. win="<<l_window,2);
210 DEBUG_MSG(
"SM:Configure. ovr="<<l_overlap,2);
214 DEBUG_MSG(
"SM:Configure. n dom="<<l_dom_configuration.size(),2);
215 DEBUG_MSG(
"SM:Configure. n pro="<<l_probes.size(),2);
235 for(
int t=0;t<probes.size();++t)
237 std::istringstream l_iss(probes.at(t));
244 l_id=atoi(l_line.c_str());
247 l_samples=atoi(l_line.c_str());
249 l_buffer=(real_type*)malloc(l_samples*
sizeof(real_type));
250 for (uint32_t i=0; i<l_samples; ++i)
253 real_type l_dummy=atof(l_line.c_str());
258 pProbe l_probe = boost::make_shared<KM3::TOALIB::CTOAFinder::probeSignalT>(*(
new KM3::TOALIB::CTOAFinder::probeSignalT(window)));
260 l_probe->copyFromBuffer(l_buffer,l_samples);
271 for(
int t=0;t<dom_configuration.size();++t)
273 std::istringstream l_iss(dom_configuration.at(t));
277 uint32_t l_threshold;
278 uint32_t l_waveforms;
282 l_dom_id=atoi(l_line.c_str());
291 l_waveforms=atoi(l_line.c_str());
292 DEBUG_MSG(
"n waveforms="<<l_waveforms,1);
293 for (uint32_t i=0; i<l_waveforms; ++i)
296 l_probe_id=atoi(l_line.c_str());
298 l_threshold=atoi(l_line.c_str());
299 DEBUG_MSG(
"adding probe "<<l_probe_id<<
" with threshold "<<l_threshold<<
" to DOM "<<l_dom_id,1);
300 l_dom->Add_probe(
probes_.find(l_probe_id)->second,l_probe_id,l_threshold);
303 l_test=atoi(l_line.c_str());
305 l_dom->Set_test(l_test);
332 std::time_t seconds = std::time(0);
333 l_file+=
"TOA_"+
std::to_string((
long long unsigned int)seconds)+
".bin";
334 toa_file_.open(l_file.c_str(),std::ofstream::binary);
335 DEBUG_MSG(
"Toa file opened at "<<seconds,1);