11#ifndef __CrossCovarianceMatrix_h
12#define __CrossCovarianceMatrix_h
14#include "Pulsar/ArchiveExtension.h"
15#include "Pulsar/Profile.h"
21 class CrossCovarianceMatrix :
public Pulsar::Archive::Extension
27 CrossCovarianceMatrix ();
30 CrossCovarianceMatrix (
const CrossCovarianceMatrix& extension);
33 const CrossCovarianceMatrix& operator= (
const CrossCovarianceMatrix&);
36 ~CrossCovarianceMatrix ();
39 CrossCovarianceMatrix*
clone ()
const
40 {
return new CrossCovarianceMatrix( *
this ); }
43 void set_nbin (
unsigned);
46 unsigned get_nbin ()
const;
49 void set_npol (
unsigned);
52 unsigned get_npol ()
const;
55 void set_nlag (
unsigned);
58 unsigned get_nlag ()
const;
61 unsigned get_ncross (
unsigned ilag)
const;
64 unsigned get_ncross_total ()
const;
69 bool has_stream ()
const;
75 const Stream* get_stream ()
const;
81 std::vector<double>& get_data () {
return covariance; }
84 const std::vector<double>& get_data ()
const {
return covariance; }
92 std::vector<double> covariance;
94 Reference::To<Stream> stream;
104 virtual unsigned get_ndat ()
const = 0;
105 virtual void get_data (
unsigned off,
unsigned n,
double*)
const = 0;
106 virtual void verify_end_of_data ()
const = 0;
Pure virtual base class of a stream of covariances stored in blocks.
Definition CrossCovarianceMatrix.h:100
virtual Extension * clone() const =0
Return a new copy-constructed instance identical to this instance.
Pure virtual base class of a stream of covariances stored in blocks.
Definition CrossCovarianceMatrix.h:100
Defines the PSRCHIVE library.
Definition CalSource.h:17