MeanCoherency.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2004 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/Polarimetry/Pulsar/MeanCoherency.h
10 
11 #ifndef __Calibration_MeanCoherency_H
12 #define __Calibration_MeanCoherency_H
13 
14 #include "MEAL/Mean.h"
15 #include "MEAL/Complex2.h"
16 #include "Stokes.h"
17 
18 namespace Calibration {
19 
21  class MeanCoherency : public MEAL::Mean<MEAL::Complex2> {
22 
23  public:
24 
26  void integrate (const MEAL::Complex2* model);
27 
29  void update (MEAL::Complex2* model) const;
30 
32  void integrate (const Stokes< Estimate<double> >& stokes);
33 
35  Stokes< Estimate<double> > get_mean () const;
36 
37  protected:
38 
40  Stokes< MeanEstimate<double> > mean;
41 
42  };
43 
44 }
45 
46 #endif
virtual Stokes< Estimate< double > > get_stokes() const
void integrate(const MEAL::Complex2 *model)
Add the Model parameters to the running mean.
Definition: MeanCoherency.C:20
Stokes< Estimate< double > > get_mean() const
Add the mean Stokes parameters.
Definition: MeanCoherency.C:36
void update(MEAL::Complex2 *model) const
Update the Model parameters with the current value of the mean.
Definition: MeanCoherency.C:10
Stokes< MeanEstimate< double > > mean
Running mean of Stokes parameters.
Definition: MeanCoherency.h:50
virtual void set_stokes(const Stokes< double > &stokes)

Generated using doxygen 1.8.17