Parallactic.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2004 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/Polarimetry/Pulsar/Parallactic.h
10 
11 #ifndef __Calibration_Parallactic_H
12 #define __Calibration_Parallactic_H
13 
14 #include "MEAL/Rotation1.h"
15 #include "Directional.h"
16 
17 namespace Calibration {
18 
20 
53  class Parallactic : public MEAL::Rotation1
54  {
55 
56  public:
57 
59  Parallactic ();
60 
63 
66 
68  const Directional* get_directional () const;
69 
71  void set_epoch (const MJD& epoch);
72 
74  MJD get_epoch () const;
75 
77  void set_hour_angle (double radians);
78 
80  double get_hour_angle () const;
81 
82  protected:
83 
84  Reference::To<Directional> directional;
85 
86  };
87 
88 }
89 
90 #endif
Jones< double > evaluate(std::vector< Jones< double > > *grad=0) const
void bscrunch(Container *, const ScrunchFactor &)
Integrate phase bins.
Definition: ScrunchFactor.h:116
Calibrator
Definition: Integration.h:429
void fit(const Pulsar::Parameters *model, std::vector< toa > &data, Pulsar::Parameters *postfit=NULL, bool track=false, Tempo::toa::State min_state=Tempo::toa::Normal)
void set_plot_low(bool flag=true)
Plot the off-pulse polarization.
Definition: CalibratorSpectrum.h:60
Off-pulse Calibrator (P236)
Definition: CalibratorTypes.h:198
virtual unsigned get_nchan() const
Get the number of frequency channels in the calibrator.
Definition: PolnCalibrator.C:237
Plots model Stokes parameters as a function of time.
Definition: ReceptionModelAxisPlotter.h:29
Supplements a SystemCalibrator with a SingleAxisCalibrator.
Definition: HybridCalibrator.h:26
virtual double get_centre_frequency(unsigned ichan) const
Get the centre frequency of the specified channel.
Definition: CalibratorExtension.C:101
Phenomenological description of the instrument.
Definition: Instrument.h:31
Definition: PeriastronOrder.h:28
Definition: BinLngPeriOrder.h:28
Degree of Polarization Calibrator (P236)
Definition: DoPCalibrator.h:33
void integrate(const MEAL::Complex2 *model)
Add the Model parameters to the running mean.
Definition: MeanCoherency.C:20
virtual std::string get_source() const =0
Get the source name.
Combines an index value and integrate flag.
Definition: Index.h:24
bool get_transformation_valid(unsigned ch) const
Return true if the transformation for the specified channel is valid.
Definition: PolnCalibrator.C:258
void set_integrate(bool flag=true)
Set the integrate flag.
Definition: Index.h:44
const float * get_amps() const
Return a pointer to the amplitudes array.
Definition: ProfileAmps.C:141
Polarization and flux calibrators.
Definition: Calibrator.h:34
void set_basis(Signal::Basis basis)
Set the basis of the feed receptors.
Definition: Receiver.C:97
std::string title
Title to print over top panel.
Definition: CalibratorPlotter.h:75
Stores information about the instrument backend.
Definition: Backend.h:26
float between_panels
Fraction of total plotting space placed between panels.
Definition: CalibratorPlotter.h:63
void set_plot_Ip(bool flag=true)
Plot the total and polarized intensities.
Definition: CalibratorSpectrum.h:52
virtual void set_centre_frequency(double cfreq)
set the centre frequency (in MHz)
Definition: Profile.h:204
void calibrate(Archive *archive)
Calibrate the Pulsar::Archive.
Definition: IonosphereCalibrator.C:25
void set_directional(Directional *)
Set the directional antenna.
Definition: Parallactic.C:22
void set_display_mean_single_line(const bool _display_mean_single_line)
Set whether the default output from EstimatePlotter is displayed.
Definition: CalibratorPlotter.C:294
Estimate< double > get_ellipticity(unsigned ireceptor) const
Get the ellipticity, , of the specified receptor in radians.
Definition: Feed.C:159
Definition: BinaryPhaseOrder.h:28
Estimate< double > get_orientation(unsigned ireceptor) const
Get the orientation, , of the specified receptor (radians)
Definition: Feed.C:175
MJD get_epoch() const
Get the MJD.
Definition: Parallactic.C:50
void counter_drift(Archive *archive, double trial_p, double trial_pdot=0.0, MJD reference_time=MJD::zero)
Rotates subints to counter a drifting pulse due to incorrect P/Pdot.
Definition: counter_drift.C:17
static Interface * get_interface()
Return the text interface to the configuration parameters.
Definition: Config.C:144
void set_phi(const Estimate< double > &radians)
virtual unsigned get_nchan() const
Get the number of frequency channels.
Definition: CalibratorExtension.C:83
Estimate< double > get_ellipticity(unsigned ireceptor) const
Get the ellipticity, , of the specified receptor in radians.
Definition: Instrument.C:82
Plots Calibrator parameters.
Definition: CalibratorPlotter.h:24
Any quantity recorded as a function of pulse phase.
Definition: Profile.h:45
void equal_ellipticities()
Model the ellipticities of both receptors using the same value.
Definition: Instrument.C:118
The primary interface to pulsar observational data.
Definition: Archive.h:45
void update(MEAL::Complex2 *model) const
Update the Model parameters with the current value of the mean.
Definition: MeanCoherency.C:10
static Archive * load(const std::string &name)
Factory returns a new instance loaded from filename.
Definition: Archive_load.C:28
Corrects dispersive delays.
Definition: Dispersion.h:33
Contains information about the receiver and receiver platform.
Definition: Receiver.h:28
unsigned npanel
Number of panels (vertical)
Definition: CalibratorPlotter.h:60
const MEAL::Complex2 * get_frontend() const
Provide access to the frontend model.
Definition: BackendFeed.h:69
static void set_verbosity(unsigned level)
Set the verbosity level (0 to 3)
Definition: Archive_verbose.C:19
unsigned get_nbin() const
Return the number of bins.
Definition: ProfileAmps.h:50
const ScalarMath pow(const ScalarMath &x, const ScalarMath &y)
Models a set of transformations and source polarizations.
Definition: ReceptionModel.h:32
Phenomenological description of the receiver feed.
Definition: Feed.h:32
Gain, differential gain and differential phase.
Definition: CalibratorTypes.h:55
bool get_integrate() const
Get the integrate flag.
Definition: Index.h:42
Stores the Stokes parameters of the reference source.
Definition: CalibratorStokes.h:28
Type * get() const
const ExtensionType * get() const
Template method searches for an Extension of the specified type.
double get_absolute_phase() const
Return the absolute phase.
Definition: ComponentModel.C:208
void rotate_phase(double phase)
rotates the profile by phase (in turns)
Definition: Profile_rotate.C:35
static Archive * new_Archive(const std::string &class_name)
Factory returns a null-constructed instance of the named class.
Definition: Archive.C:104
Correct the backend convention.
Definition: BasisCorrection.h:28
Value * new_Value(const Type &value)
const MEAL::Complex2 * get_transformation(unsigned ichan) const
Return the transformation for the specified channel.
Definition: PolnCalibrator.C:309
Corrects the power scattered due to 2-bit quantization.
Definition: ScatteredPowerCorrection.h:33
Plots flux profiles.
Definition: CalibratorSpectrum.h:28
Communicates PolnCalibrator solver parameters to plotting routines.
Definition: SolverInfo.h:26
bool print_titles
Print titles over top of panel.
Definition: CalibratorPlotter.h:69
void set_name(const std::string &name)
Set the name of the backend.
Definition: Backend.C:89
virtual double get_centre_frequency() const =0
Get the centre frequency of the observation.
void fft_convolve(const Profile *profile)
convolves this with the given profile (using fft method)
Definition: Profile_convolve.C:65
Integration * get_Integration(unsigned subint)
Return pointer to the specified Integration.
Definition: IntegrationManager.C:41
void set_projection_corrected(bool val)
Set true when receptor projection onto sky has been corrected.
Definition: Receiver.h:172
void calibrate(Archive *archive)
Calibrate the Pulsar::Archive.
Definition: FrontendCorrection.C:72
Communicates CalibratorStokes parameters to plotting routines.
Definition: CalibratorStokesInfo.h:26
Array of Profiles integrated over the same time interval.
Definition: Integration.h:37
static bool verbose
Represents the system as a polar decomposition.
Definition: PolarCalibrator.h:25
Callback< Type > signal
Estimate< double > get_diff_phase() const
Get the differential phase, , in radians.
Definition: VariableBackend.C:89
void set_outlier_threshold(float f)
Set the threshold used to reject outliers when computing levels.
Definition: ReferenceCalibrator.h:64
A CoherencyMeasurement set and their coordinates.
Definition: CoherencyMeasurementSet.h:26
Directional * get_directional()
Get the directional antenna.
Definition: Parallactic.C:30
double get_param(unsigned index) const
Stores PolnCalibrator parameters in an Archive instance.
Definition: PolnCalibratorExtension.h:28
Corrects the recorded properties of the frontend.
Definition: FrontendCorrection.h:31
Calibrators derived from reference source observations.
Definition: ReferenceCalibrator.h:31
void set_gain(const Estimate< double > &gain)
Set the instrumental gain, , in calibrator flux units.
Definition: VariableBackend.C:98
void set_valid(unsigned ichan, bool valid)
Set the validity flag for the specified channel.
Definition: CalibratorStokes.C:78
Ord, van Straten, Hotan & Bailes (2004; MNRAS 352:804), section 2.1.
Definition: CalibratorTypes.h:176
Phenomenological description of the instrument.
Definition: ManualPolnCalibrator.h:27
T get_value() const
void set_basis_corrected(bool)
Set true when receptor basis has been corrected.
Definition: Receiver.C:174
void connect(Class *instance, Method method)
bool verbose
Definition: timer++.C:25
A weighted mean of coherency matrix estimates.
Definition: MeanCoherency.h:26
Flux Calibrator Extension.
Definition: FluxCalibratorExtension.h:28
void set_diff_gain(const Estimate< double > &gamma)
Set the differential gain, , in hyperbolic radians.
Definition: VariableBackend.C:108
void correct(Archive *)
The scattered power correction operation.
Definition: ScatteredPowerCorrection.C:22
Stores Calibrator parameters in an Archive.
Definition: CalibratorExtension.h:27
Estimate< double > get_diff_gain() const
Get the differential gain, , in hyperbolic radians.
Definition: VariableBackend.C:80
Vector< 3, T > get_vector() const
Polarimetric calibrators.
Definition: PolnCalibrator.h:41
Models a pulse profile using multiple components.
Definition: ComponentModel.h:34
void set_diff_phase(const Estimate< double > &phi)
Set the differential phase, , in radians.
Definition: VariableBackend.C:118
virtual void plot(const Archive *)
Plot in the current viewport.
Definition: SimplePlot.C:15
std::string get_filename() const
Get the name of the file to which the archive will be unloaded.
Definition: Archive.h:108
void set_epoch(const MJD &epoch)
Set the MJD.
Definition: Parallactic.C:41
Correct the backend convention.
Definition: BackendCorrection.h:28
const VariableBackend * get_backend() const
Provide access to the backend model.
Definition: BackendFeed.C:60
Calibrates flux using standard candles and artificial sources.
Definition: FluxCalibrator.h:29
Degree of Polarization Calibrator (P236)
Definition: CalibratorTypes.h:191
void revert(Archive *)
Undo the correction.
Definition: Dispersion.C:91
Pulsar Observation Database.
Definition: Database.h:40
Auxiliary cold plasma dispersion and birefringence corrections.
Definition: AuxColdPlasma.h:26
A coherency matrix measurement and its estimated error.
Definition: CoherencyMeasurement.h:32
const std::string get_message() const
void set(Archive *data)
set the current Archive
Definition: Interpreter.C:441
virtual void plot(const Calibrator *calibrator)
Plot the Pulsar::Calibrator.
Definition: CalibratorPlotter.C:37
static bool cache_last_cal
Cache the last calibrator?
Definition: Database.h:45
Defines the PSRCHIVE library.
Definition: CalSource.h:17
const Profile * get_Profile(const Archive *data, Index subint, Index pol, Index chan)
Return the requested profile, cloning and integrating when needed.
Definition: Index.C:24
Parallactic()
Default constructor.
Definition: Parallactic.C:14
void set_rotation_measure(double measure)
Set the auxiliary rotation measure.
Definition: AuxColdPlasmaMeasures.C:35
Represents the system as a Calibration::SingleAxis.
Definition: SingleAxisCalibrator.h:26
Stores parameters used to correct auxiliary dispersion and birefringence.
Definition: AuxColdPlasmaMeasures.h:24
void set_hour_angle(double radians)
Set the hour angle in radians.
Definition: Parallactic.C:56
Physical parameterization of the instrumental response.
Definition: BackendFeed.h:31
Describes Database matching criteria.
Definition: Database.h:215
Corrects ionospheric Faraday rotation.
Definition: IonosphereCalibrator.h:25
Parallactic angle transformation of receiver feed.
Definition: Parallactic.h:58
virtual void set_weight(float)
set the weight of the profile
Definition: Profile.C:185
Estimate< double > get_orientation(unsigned ireceptor) const
Get the orientation, , of the specified receptor in radians.
Definition: Instrument.C:73
Profile * get_Profile(unsigned ipol, unsigned ichan)
Returns a pointer to the Profile given by the specified indeces.
Definition: Integration.C:306
virtual unsigned get_nbin() const =0
Get the number of pulsar phase bins used.
double get_hour_angle() const
Get the hour angle in radians.
Definition: Parallactic.C:72
van Straten (2002; ApJ 568:436), equation A1
Definition: CalibratorTypes.h:68
void set_sequence(Sequence s)
The sequence of matching calibrator and pulsar observations.
Definition: Database.h:223
static bool verbose
Estimate< double > get_Estimate(unsigned index) const
virtual void resize(unsigned nbin)
resize the data area
Definition: Profile.C:134
Corrects Faraday rotation.
Definition: FaradayRotation.h:37
static Receiver * load(const std::string &filename)
Construct a new Receiver instance from a file.
Definition: Receiver_load.C:15
void set_infit(unsigned index, bool flag)
Pulsar data processing command language interpreter.
Definition: Interpreter.h:57
Definition: BinLngAscOrder.h:28

Generated using doxygen 1.8.17