24#ifndef _FREQUENCYDATA_HPP_
25#define _FREQUENCYDATA_HPP_
71 void read(
const std::string& filename, IOMode mode=Automatic);
73 void write(
const std::string& filename, IOMode mode=
Binary)
const;
107 void transform(
double shift, std::complex<double> scale);
Class for binary storage of complex frequency data.
std::auto_ptr< Impl > impl_
double observationDuration() const
void read(const std::string &filename, IOMode mode=Automatic)
const_iterator max() const
returns an iterator to FrequencyDatum with highest magnitude
double meanSquare() const
void observationDuration(double value)
void read(std::istream &is, IOMode mode=Binary)
container::const_iterator const_iterator
void transform(double shift, std::complex< double > scale)
transform all underlying data: (x,y) -> (x+shift,y*scale)
void operator+=(const FrequencyData &that)
addition
void retentionTime(double value)
double sumSquares() const
std::complex< double > scale() const
return current scale of data (compared to original)
void write(const std::string &filename, IOMode mode=Binary) const
void scanNumber(int value)
const_iterator findNearest(double frequency) const
Finds the FrequencyDatum nearest the desired frequency.
FrequencyData & operator=(FrequencyData &that)
Hidden to prevent unintended copying of large amounts of data.
void noiseFloor(double value)
double shift() const
return current shift of data (compared to original)
double observationDurationEstimatedFromData() const
calculation of the observation duration from the data
FrequencyData(const std::string &filename, IOMode mode=Automatic)
static std::pair< double, double > magnitudeSample(const FrequencyDatum &datum)
Returns a <frequency,magnitude> pair.
double cutoffNoiseFloor() const
special calculation of noise floor for data with zero holes, e.g.
container::iterator iterator
double retentionTime() const
container & data()
non-const access to underlying data – must call analyze() to recache after any changes
void calibrationParameters(const CalibrationParameters &cp)
const CalibrationParameters & calibrationParameters() const
FrequencyData(const FrequencyData &that, const_iterator center, int radius)
void analyze()
recache statistics calculations after any direct data changes via non-const data()
const container & data() const
const access to underlying data
std::vector< FrequencyDatum > container
FrequencyData(const FrequencyData &that, const_iterator begin, const_iterator end)
void write(std::ostream &os, IOMode mode=Binary) const
void normalize()
normalize by transform( -max.x, 1/abs(max.y) )
double noiseFloor() const
FrequencyData(FrequencyData &that)
Hidden to prevent unintended copying of large amounts of data.
SampleDatum< double, std::complex< double > > FrequencyDatum