Class MEAL::ReceptionModel
-
class ReceptionModel : public MEAL::MeasurementEquation
Models a set of transformations and source polarizations.
This class models the output polarization of an arbitrary number of both input polarization states and signal paths. Each signal path is represented by a MeasurementEquation.
Public Functions
-
ReceptionModel()
null constructor
-
~ReceptionModel()
destructor
-
virtual void add_data(CoherencyMeasurementSet &data)
Checks that each CoherencyMeasurement has a valid source_index.
-
unsigned get_ndata() const
Get the number of CoherencyMeasurementSet.
-
const CoherencyMeasurementSet &get_data(unsigned idata) const
Get the specified CoherencyMeasurementSet.
-
void delete_data()
Delete all data.
-
virtual void erase_input(unsigned index) override
Remove the specified input from the model and update all measurements.
-
virtual void erase_transformation(unsigned index) override
Remove the specified transformation from the model and update all measurements.
-
void add_prefit_report(Report*)
Add a report to be executed before solving the measurement equation.
-
void add_postfit_report(Report*)
Add a report to be executed after solving the measurement equation.
-
void solve()
Solve the measurement equation using the current algorithm.
-
bool get_solved() const
Return true when solved.
-
void copy_fit(const ReceptionModel*)
Copy the fitted parameters from another model.
-
virtual std::string get_name() const
Return the name of the class.
Public Static Functions
-
class Report : public Reference::Able
Base class of objects that report on properties of the measurement equation.
Subclassed by MEAL::CovarianceReport, MEAL::DataAndModelReport, MEAL::FitGoodnessReport, MEAL::InputDataReport, MEAL::ModelParametersReport
Public Functions
-
virtual void report(std::ostream&) = 0
Write the report.
-
inline Report(const std::string &name)
Construct with filename.
-
inline void set_model(ReceptionModel *_model)
Set the measurement equation on which to report.
-
inline void set_filename(const std::string &_name)
Set the name of the file to which the report will be written.
-
inline void set_path(const std::string &_name)
Set the root path to which reports will be written.
-
std::string make_reports_path(const std::string &subdir = "")
Create the reports directory and return the constructed path name.
-
virtual void report()
Write the report.
-
virtual void report(std::ostream&) = 0
-
class Solver : public MEAL::LeastSquares
Solve the measurement equation by non-linear least squares minimization.
Subclassed by MEAL::SolveCeres, MEAL::SolveGSL, MEAL::SolveMEAL
Public Functions
-
void set_equation(ReceptionModel*)
Set the measurement equation to be solved.
-
void add_convergence_condition(Functor<bool(ReceptionModel*)>)
Add a convergence condition.
-
void add_acceptance_condition(Functor<bool(ReceptionModel*)>)
Add an acceptance condition.
-
virtual void solve()
Solve the measurement equations by least squares minimization.
-
inline void set_verbosity(unsigned level)
Set the verbosity level (0 = quiet, 3 = most verbose).
Public Static Attributes
-
static bool report_chisq
report the reduced chisq on completion
-
void set_equation(ReceptionModel*)
-
ReceptionModel()