model_movie_refractive_scattering< T > Class Template Reference
Inheritance diagram for model_movie_refractive_scattering< T >:
Collaboration diagram for model_movie_refractive_scattering< T >:

Public Member Functions

 model_movie_refractive_scattering (T &model, size_t nModes, double tstart, double frequency=230e9, std::string scattering_model="dipole", double observer_screen_distance=2.82 *3.086e21, double source_screen_distance=5.53 *3.086e21, double theta_maj_mas_cm=1.38, double theta_min_ma_cm=0.703, double POS_ANG=81.9, double scatt_alpha=1.38, double r_in=800e5, double r_out=1e20, double vs_ss_kms=50.0, double vy_ss_kms=0.0)
 
virtual size_t size () const
 Returns the number of the parameters the model expects.
 
void set_image_resolution (size_t nray)
 
void set_screen_size (double fov)
 
void get_ensemble_average_frame (double t_frame, std::vector< std::vector< double > > &alpha, std::vector< std::vector< double > > &beta, std::vector< std::vector< double > > &I) const
 
- Public Member Functions inherited from model_movie< model_image_refractive_scattering >
 model_movie (std::vector< double > observation_times)
 
virtual void generate_model (std::vector< double > parameters)
 A user-supplied one-time generate function that permits model construction prior to calling the closure_phase for each datum. Takes a vector of parameters.
 
virtual std::complex< double > visibility (datum_visibility &d, double accuracy)
 Returns visibility in Jy, computed numerically. The accuracy parameters isn't used presently.
 
virtual double visibility_amplitude (datum_visibility_amplitude &d, double accuracy)
 Returns visibility amplitude in Jy, computed numerically. The accuracy parameters isn't used presently.
 
virtual double closure_phase (datum_closure_phase &d, double accuracy)
 Returns closure ampitudes, computed numerically. The accuracy parameter is not used at present.
 
void get_movie_frame (double t_frame, std::vector< std::vector< double > > &alpha, std::vector< std::vector< double > > &beta, std::vector< std::vector< double > > &I) const
 Provides direct access to the constructed image. Sets a 2D grid of angles (alpha, beta) in radians and intensities in Jy per pixel.
 
void get_visibilities (std::vector< std::vector< double > > &u, std::vector< std::vector< double > > &v, std::vector< std::vector< std::complex< double > > > &V) const
 Provides direct access to the complex visibilities. Sets a 2D grid of baselines (u,v) in lambda, and visibilites in Jy.
 
void get_visibility_amplitudes (std::vector< std::vector< double > > &u, std::vector< std::vector< double > > &v, std::vector< std::vector< double > > &V) const
 Provides direct access to the visibility amplitudes. Sets a 2D grid of baselines (u,v) in lambda, and visibilites in Jy.
 
void output_movie_frame (double t_frame, std::string fname, bool rotate=false)
 Outputs the frame of the movie at time t to the file with name fname. If rotate is true then each frame will be rotated by the position angle.
 
void use_spline_interp (bool use_spline)
 Provides ability to use bicubic spline interpolator (true) instead of regular bicubic. Code defaults to false.
 
std::vector< double > get_frame_times ()
 Provides the ability to get frame times in the movie.
 
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 facilates code parallelization if the model computation is parallelized via MPI.
 
model_image_refractive_scatteringget_movie_model_frame (size_t i)
 Provides access to the the individual model_image frames of the base movie. Requires the movie index.
 

Private Attributes

T * _model
 
size_t _nModes
 
double _tstart
 

Additional Inherited Members

- Protected Member Functions inherited from model_movie< model_image_refractive_scattering >
virtual size_t find_time_index (double tobs) const
 
- Protected Attributes inherited from model_movie< model_image_refractive_scattering >
bool _generated_model
 
std::vector< double > _observation_times
 
std::vector< model_image_refractive_scattering * > _movie_frames
 
std::vector< double > _parameters
 
- Protected Attributes inherited from model_visibility
MPI_Comm _comm
 
- Protected Attributes inherited from model_visibility_amplitude
MPI_Comm _comm
 
- Protected Attributes inherited from model_closure_phase
MPI_Comm _comm
 

Constructor & Destructor Documentation

model_movie_refractive_scattering ( T &  model,
size_t  nModes,
double  tstart,
double  frequency = 230e9,
std::string  scattering_model = "dipole",
double  observer_screen_distance = 2.82*3.086e21,
double  source_screen_distance = 5.53*3.086e21,
double  theta_maj_mas_cm = 1.38,
double  theta_min_ma_cm = 0.703,
double  POS_ANG = 81.9,
double  scatt_alpha = 1.38,
double  r_in = 800e5,
double  r_out = 1e20,
double  vs_ss_kms = 50.0,
double  vy_ss_kms = 0.0 
)

Constructor takes in a model_movie class and scatters it. Note that observation times are found from the model. For a description about what each option does see model_image_refractive_scattering

Member Function Documentation

void set_image_resolution ( size_t  nray)

Sets the image scattered image resolution to be used resolution of the image is nrayxnray, the default is 128,128 which is probably too much

void set_screen_size ( double  fov)

Sets the fov size of the image in units of radians The current default is 100uas.


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