SourceXtractorPlusPlus  0.12
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Jacobian.h
Go to the documentation of this file.
1 
17 /*
18  * Jacobian.h
19  *
20  * Created on: Oct 08, 2018
21  * Author: Alejandro Alvarez Ayllon
22  */
23 
24 
25 #ifndef _SEIMPLEMENTATION_PLUGIN_JACOBIAN_JACOBIAN_H_
26 #define _SEIMPLEMENTATION_PLUGIN_JACOBIAN_JACOBIAN_H_
27 
28 #include <tuple>
30 
31 namespace SourceXtractor {
32 
33 class Jacobian {
34 public:
35  virtual ~Jacobian() = default;
36 
37  // Identity constructor for convenience
38  Jacobian(): m_jacobian{1., 0., 0., 1.} {}
39 
40  Jacobian(double a, double b, double c, double d): m_jacobian{a, b, c, d} {}
41 
43  return m_jacobian;
44  }
45 
46 private:
48 };
49 
50 
51 class JacobianSource: public Property, public Jacobian {
52 public:
53  using Jacobian::Jacobian;
54 };
55 
56 class JacobianGroup: public Property, public Jacobian {
57  using Jacobian::Jacobian;
58 };
59 
60 } // end SourceXtractor
61 
62 #endif // _SEIMPLEMENTATION_PLUGIN_JACOBIAN_JACOBIAN_H_
const std::tuple< double, double, double, double > & asTuple() const
Definition: Jacobian.h:42
std::tuple< double, double, double, double > m_jacobian
Definition: Jacobian.h:47
virtual ~Jacobian()=default
Base class for all Properties. (has no actual content)
Definition: Property.h:33
Jacobian(double a, double b, double c, double d)
Definition: Jacobian.h:40