model_polarization_fraction Class Referenceabstract
Defines the interface for models that generate visibility amplitude data appropriate for comparison with datum_polarization_fraction.h. More...
#include "model/model_polarization_fraction.h"
Inheritance diagram for model_polarization_fraction:
Public Member Functions | |
virtual void | generate_model (std::vector< double > parameters)=0 |
A user-supplied one-time generate function that permits model construction prior to calling the polarization_fraction for each datum. Takes a vector of parameters. | |
virtual size_t | size () const =0 |
A user-supplied function that returns the number of the parameters the model expects. | |
virtual double | polarization_fraction (datum_polarization_fraction &d, double accuracy)=0 |
A user-supplied function that returns the closure amplitudes. Takes a datum_polarization_fraction to provide access to the various accoutrements. While this provides access to the actual data value, the two could be separated if necessary. Also takes an accuracy parameter with the same units as the data, indicating the accuracy with which the model must generate a comparison value. | |
virtual void | set_mpi_communicator (MPI_Comm comm) |
Defines a set of processors provided to the model for parallel computation via an MPI communicator. Only facilitates code parallelization if the model computation is parallelized via MPI. | |
Protected Attributes | |
MPI_Comm | _comm |
Detailed Description
To facilitate model-data comparisons, here a fixed interface that may be assumed by likelihoods, etc., for generating model visibility amplitude data is defined. All models that produce visibility amplitude data should be child classes of model_polarization_fraction, thereby inheriting this interface. The key function is polarization_fraction which takes a datum_polarization_fraction, providing access to all of the relevant accoutrements of a data point, and an accuracy parameter, and returns the model visibility amplitude.
- Warning
- This class contains multiple purely virtual functions, making it impossible to generate an explicit instantiation.
The documentation for this class was generated from the following files:
- model/model_polarization_fraction.h
- model/model_polarization_fraction.cpp