8#ifndef __Pulsar__TimeDomainCovariance_h
9#define __Pulsar__TimeDomainCovariance_h
11#include "Pulsar/ProfileCovariance.h"
20 TimeDomainCovariance ();
23 void choose_bins (
unsigned,
unsigned );
29 void add_Profile (
const Profile* );
30 void add_Profile (
const Profile*,
float wt );
33 void set_covariance_matrix (
const double * );
36 void get_covariance_matrix_copy (
double* dest );
39 double get_covariance_matrix_value (
unsigned row,
unsigned col );
48 void set_eigenvectors (
const std::vector<double>& );
49 void set_eigenvectors (
const double* );
52 void get_eigenvectors_copy ( std::vector<double>& );
53 void get_eigenvectors_copy (
double* );
55 double get_eigenvectors_value (
unsigned row,
unsigned col );
56 const double* get_eigenvectors_pointer ();
59 void set_eigenvalues (
const std::vector<double>& );
60 void set_eigenvalues (
const double* );
63 void get_eigenvalues_copy ( std::vector<double>& );
64 void get_eigenvalues_copy (
double* );
66 double get_eigenvalue (
unsigned row );
67 const double* get_eigenvalues_pointer ();
73 void set_count (
unsigned );
79 void set_rank (
unsigned );
95 std::vector<double> covariance_matrix;
98 std::vector<double> mean;
101 std::vector<double> eigenvectors;
104 std::vector<double> eigenvalues;
106 bool eigen_decomposed;
Definition ProfileCovariance.h:21
virtual void reset()=0
Reset the covariance matrix calculations.
virtual std::string get_name() const =0
Return a copy constructed from instance of self.
virtual unsigned get_count()=0
Get the count of profiles used to estimate the covariance matrix.
virtual unsigned get_rank()=0
Get the rank of covariance matrix.
virtual void eigen()=0
Perform eigen decomposition of covariance matrix.
virtual void finalize()=0
Compute the covariance matrix after all the profiles were added.
Defines the PSRCHIVE library.
Definition CalSource.h:17