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_scattering * | get_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: