ReFRACtor
l2_fp_configuration.h
Go to the documentation of this file.
1 #ifndef L2_FP_CONFIGURATION_H
2 #define L2_FP_CONFIGURATION_H
3 #include "printable.h"
4 #include "forward_model.h"
5 #include "state_vector.h"
6 #include "initial_guess.h"
7 #include "logger.h"
8 #include "initial_guess.h"
9 #include "connor_solver.h"
10 #include "output.h"
11 #include "iterative_solver.h"
12 #include "max_a_posteriori.h"
13 
14 namespace FullPhysics {
15 /****************************************************************/
25 class L2FpConfiguration : public Printable<L2FpConfiguration> {
26 public:
27  virtual ~L2FpConfiguration() {}
28 
29 //-----------------------------------------------------------------------
31 //-----------------------------------------------------------------------
32 
33  virtual boost::shared_ptr<LogImp> logger() const = 0;
34 
35 //-----------------------------------------------------------------------
37 //-----------------------------------------------------------------------
38 
40 
41 //-----------------------------------------------------------------------
43 //-----------------------------------------------------------------------
44 
45  virtual boost::shared_ptr<ConnorSolver> solver() const = 0;
46 
47 //-----------------------------------------------------------------------
49 //-----------------------------------------------------------------------
50 
52 
53 //-----------------------------------------------------------------------
55 //-----------------------------------------------------------------------
56 
58 
59 //-----------------------------------------------------------------------
61 //-----------------------------------------------------------------------
62 
64 
65 //-----------------------------------------------------------------------
70 //-----------------------------------------------------------------------
71 
72  virtual void output(boost::shared_ptr<Output>& Regular_output,
73  boost::shared_ptr<Output>& Error_output) const = 0;
74 
75  virtual void print(std::ostream& Os) const {Os << "L2FpConfiguration";}
76 };
77 }
78 #endif
virtual void output(boost::shared_ptr< Output > &Regular_output, boost::shared_ptr< Output > &Error_output) const =0
Create output, for both a normal run and for an error run (either or both can be null if we don&#39;t wan...
virtual boost::shared_ptr< IterativeSolver > iterative_solver() const =0
Iterative solver.
Before running L2 full physics, we need to create the solver that we will be using, along with registering whatever output we will be generating.
This is a Mixin for classes that can be printed.
Definition: printable.h:24
virtual boost::shared_ptr< ConnorSolver > solver() const =0
Solver.
virtual void print(std::ostream &Os) const
virtual boost::shared_ptr< MaxAPosteriori > max_a_posteriori() const =0
Maximum a posteriori.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
Definition: doxygen_python.h:1
virtual boost::shared_ptr< ForwardModel > forward_model() const =0
Forward model. Everything should be initialized to the initial guess.
virtual boost::shared_ptr< InitialGuess > initial_guess() const =0
Initial guess.
virtual boost::shared_ptr< LogImp > logger() const =0
Logger to use.

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:08