Defines a concentrid ring model based on the model_visibility_amplitude, model_closure_phase, and model_closure_amplitude classes. More...

#include "model/model_ring.h"

Inheritance diagram for model_ring:
Collaboration diagram for model_ring:

Public Member Functions

virtual size_t size () const
 
virtual void generate_model (std::vector< double > parameters)
 
virtual double visibility_amplitude (datum_visibility_amplitude &d, double acc)
 
virtual double closure_phase (datum_closure_phase &d, double acc)
 
virtual double closure_amplitude (datum_closure_amplitude &d, double acc)
 
- Public Member Functions inherited from model_visibility_amplitude
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.
 
- Public Member Functions inherited from model_closure_phase
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.
 
- Public Member Functions inherited from model_closure_amplitude
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.
 

Private Member Functions

double BesselJ1 (double x)
 Calculates the Bessel Function J1(x)
 
std::complex< double > complex_visibility (double u, double v)
 Calculates the complex visibility amplitude.
 

Private Attributes

double _V0
 Total flux of the ring.
 
double _Rext
 Radius of the larger (outer) disk.
 
double _Rint
 Radius of the smaller (inner) disk.
 

Additional Inherited Members

- Protected Attributes inherited from model_visibility_amplitude
MPI_Comm _comm
 
- Protected Attributes inherited from model_closure_phase
MPI_Comm _comm
 
- Protected Attributes inherited from model_closure_amplitude
MPI_Comm _comm
 

Detailed Description

The concentric ring image is defined by the radius of the external disc, the radius of the innner disc, and an overall flux normalization. Note that this is not derived from model_image because there is no meaning for the position angle. Parameter list:

  • parameters[0]: Total flux in Jy.
  • parameters[1]: Overall (outer) radius of the ring.
  • parameters[2]: \( \psi \) = The relative thickness.

Member Function Documentation

double closure_amplitude ( datum_closure_amplitude d,
double  acc 
)
virtual

Returns closure amplitude computed from the image given a datum_closure_phase object, containing all of the 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. Note that this can be redefined in child classes.

Implements model_closure_amplitude.

Here is the call graph for this function:

double closure_phase ( datum_closure_phase d,
double  acc 
)
virtual

Returns closure phase in degrees computed from the image given a datum_closure_phase object, containing all of the 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.

Implements model_closure_phase.

Here is the call graph for this function:

void generate_model ( std::vector< double >  parameters)
virtual

A one-time generate function that permits model construction prior to calling the visibility_amplitude, closure_phase, etc. for each datum. Takes a vector of parameters.

Implements model_closure_amplitude.

virtual size_t size ( ) const
inlinevirtual

User-supplied function that returns the number of the parameters the model expects

Implements model_closure_amplitude.

double visibility_amplitude ( datum_visibility_amplitude d,
double  acc 
)
virtual

Returns visibility ampitudes in Jy computed from the image given a datum_visibility_amplitude object, containing all of the 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. Note that this is redefined to accomodate the possibility of using the analytical computation.

Implements model_visibility_amplitude.

Here is the call graph for this function:


The documentation for this class was generated from the following files: