11#ifndef __Pulsar_EvenlySpaced_h
12#define __Pulsar_EvenlySpaced_h
14#include "Pulsar/Divided.h"
23 void initialize (Integrate*, C*);
26 unsigned get_nrange () {
return output_ndivide; }
29 void get_range (
unsigned irange,
unsigned& start,
unsigned& stop);
36 unsigned output_ndivide;
38 unsigned output_nintegrate;
45void Pulsar::Integrate<C>::EvenlySpaced::initialize (Integrate*, C* container)
47 input_size = this->get_size (container);
48 this->divide (input_size, output_ndivide, output_nintegrate);
52void Pulsar::Integrate<C>::EvenlySpaced::get_range (
unsigned irange,
56 if (irange >= output_ndivide)
57 throw Error (InvalidParam,
58 "Pulsar::Integrate::EvenlySpaced::get_range",
59 "irange=%u >= output_ndivide=%u", irange, output_ndivide);
61 start = irange * output_nintegrate;
62 stop = start + output_nintegrate;
64 if (stop > input_size)
68 std::cerr <<
"Pulsar::Integrate::EvenlySpaced::get_range\n "
69 " irange=" << irange <<
" output_nintegrate=" << output_nintegrate <<
70 " input_size=" << input_size <<
71 " start=" << start <<
" stop=" << stop << std::endl;
Profile integration algorithms.
Definition Integrate.h:36
Defines the PSRCHIVE library.
Definition CalSource.h:17