Defines a binary model based of two Gaussians. This is an explicit model based on the model_visibility_amplitude, model_closure_phase, and model_closure_amplitude classes. More...

#include "model/model_circular_binary.h"

Inheritance diagram for model_circular_binary:
Collaboration diagram for model_circular_binary:

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 accuracy)
 
- 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

std::complex< double > complex_visibility (double u, double v, double t)
 Computes the complex visibility for the model.
 
double get_obs_time (double t_lab)
 Converts from lab time to the observer time, including the time delays.
 
double get_lab_frame_time (double t_obs)
 Converts from observer time to the lab time, including the time delays.
 
void get_orbital_solution (double t_lab, double x1[2], double &v1, double &v1r, double x2[2], double &v2, double &v2r)
 Computes and returns the locations, velocities, and line-of-sight velocities of the two binary components at a given lab time.
 
double doppler_factor (double v, double vr) const
 Doppler factor g = gamma*(1-beta.n)
 
double gaussian_visibility (double u, double v, double sigma) const
 Computes the visibility for a gaussian at (u,v) with size sigma and total intensity 1 Jy.
 

Private Attributes

double _I1
 Primary total intensity.
 
double _sigma1
 Primary std dev.
 
double _alpha1
 Primary spectral index.
 
double _I2
 Secondary total intensity.
 
double _sigma2
 Secondary std dev.
 
double _alpha2
 Secondary spectral index.
 
double _M
 Total mass in Msun.
 
double _q
 Mass ratio.
 
double _R
 Orbital separation in cm.
 
double _D
 Distance to source in cm.
 
double _Phi0
 Orbital phase offset.
 
double _mu
 Cosine of inclination.
 
double _position_angle
 Position angle.
 
double _Omega
 Orbital angular velocity.
 
double _cosi
 
double _sini
 

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 Gaussian blobs by their axis sizes and overall flux normalizations. Note that this is not derived from model_image because there is no meaning for the position angle.

Parameter list:

  • parameters[0] ... Total, integrated flux in Jy for primary.
  • parameters[1] ... Standard deviation of the Gaussian in radians of primary.
  • parameters[2] ... Spectral index ( \(I_\nu \propto \nu^{-\alpha}\)) of primary.
  • parameters[3] ... Total, integrated flux in Jy for secondary.
  • parameters[4] ... Standard deviation of the Gaussian in radians of secondary.
  • parameters[5] ... Spectral index ( \(I_\nu \propto \nu^{-\alpha}\)) of secondary.
  • parameters[6] ... Total mass of binary in solar masses.
  • parameters[7] ... Binary mass ratio (secondary/primary).
  • parameters[8] ... Orbital separation in pc.
  • parameters[9] ... Binary distance in Mpc.
  • parameters[10] .. Phase offset of binary in radians.
  • parameters[11] .. Cosine of the orbital angular momentum vector.
  • parameters[12] .. Position angle of the orbital angular momentum vector in degrees.
Warning

Member Function Documentation

double closure_amplitude ( datum_closure_amplitude d,
double  accuracy 
)
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. Note that this is redefined since the closure phase of Gaussian images is identically zero.

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

A 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 amplitudes 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: