Invariant.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2006 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/MEAL/MEAL/Invariant.h
10 
11 #ifndef __MEAL_Invariant_h
12 #define __MEAL_Invariant_h
13 
14 #include "Stokes.h"
15 #include "Estimate.h"
16 #include "ScalarMath.h"
17 
18 namespace MEAL {
19 
20  class Scalar;
21 
23 
25  class Invariant : public Reference::Able {
26 
27  public:
28 
31 
33  Invariant (const Invariant&);
34 
36  ~Invariant ();
37 
40 
42  void set_Stokes (const Stokes< Estimate<float> >&);
43 
45  void set_Stokes (const Stokes< Estimate<double> >&);
46 
48  Estimate<double> get_invariant () const;
49 
51  double get_bias () const;
52 
55 
57  Stokes<ScalarMath> get_input () const { return input; }
58 
59  protected:
60 
62  Stokes<ScalarMath> input;
63 
66 
69 
70  private:
71 
73  void init ();
74 
75  };
76 
77 }
78 
79 #endif
80 
void set_Stokes(const Stokes< Estimate< float > > &)
Set the Stokes parameters.
Definition: Invariant.C:40
Stokes< ScalarMath > get_input() const
Get the input Stokes parameters.
Definition: Invariant.h:62
Estimate< double > get_invariant() const
Get the invariant interval.
Definition: Invariant.C:60
double get_bias() const
Get the estimated bias due to measurement error.
Definition: Invariant.C:66
ScalarMath bias
The bias due to measurment error.
Definition: Invariant.h:70
Invariant()
Default constructor.
Definition: Invariant.C:19
Computes the invariant interval.
Definition: Invariant.h:30
Namespace in which all modeling and calibration related code is declared.
Definition: ExampleComplex2.h:16
ScalarMath result
The invariant interval, I^2 - Q^2 - U^2 - V^2.
Definition: Invariant.h:73
ScalarMath get_correct_result() const
Get the bias-corrected estimate.
Definition: Invariant.C:71
Convenience interface to building expressions from elements.
Definition: ScalarMath.h:24
Stokes< ScalarMath > input
The input Stokes parameters.
Definition: Invariant.h:67
~Invariant()
Destructor.
Definition: Invariant.C:29
Invariant & operator=(const Invariant &)
Assignment operator.
Definition: Invariant.C:35

Generated using doxygen 1.8.17