Complex2.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/MEAL/MEAL/Complex2.h
10 
11 #ifndef __MEAL_Complex2_H
12 #define __MEAL_Complex2_H
13 
14 #include "MEAL/Complex.h"
15 #include "Jones.h"
16 
17 template<typename T>
18 struct EstimateTraits< Jones<T> >
19 {
20  typedef Jones< Estimate<T> > type;
21 };
22 
23 template<typename T>
24 void add_variance (Jones< Estimate<T> >& result,
25  double var, const Jones<T>& grad)
26 {
27  for (unsigned i=0; i < 4; i++)
28  add_variance (result[i], var, grad[i]);
29 }
30 
31 namespace MEAL
32 {
34  class Complex2 : public Evaluable< Jones<double> >
35  {
36  public:
38  static const char* Name;
39 
41  virtual Complex2* clone () const;
42  };
43 }
44 
45 #endif
Pure virtual base class of all complex 2x2 matrix functions.
Definition: Complex2.h:34
Template base class of functions with an evaluate method.
Definition: Evaluable.h:35
virtual Complex2 * clone() const
Clone method.
Definition: Complex2.C:13
Namespace in which all modeling and calibration related code is declared.
Definition: ExampleComplex2.h:16
static const char * Name
The name of the class.
Definition: Complex2.h:38
Works for most scalar types.
Definition: Evaluable.h:20

Generated using doxygen 1.8.17