Pulsar::ProfilePlot Class Reference

Plots a single pulse profile. More...

#include <ProfilePlot.h>

Inheritance diagram for Pulsar::ProfilePlot:
Pulsar::FluxPlot Pulsar::HasPen Pulsar::PhasePlot Pulsar::SimplePlot Pulsar::HasPhaseScale Pulsar::FramedPlot Pulsar::Plot Reference::Able Reference::HeapTracked

Public Member Functions

 ProfilePlot ()
 Default constructor.
 
TextInterface::Parserget_interface ()
 Get the text interface to the configuration attributes.
 
void get_profiles (const Archive *data)
 Load the profiles.
 
void draw (const Archive *)
 Draw using FluxPlot::draw, then maybe draw_transitions. More...
 
void set_plot_cal_transitions (bool flag)
 Set if cal transitions will be drawn.
 
bool get_plot_cal_transitions () const
 
void set_outlier_threshold (float f)
 Set the threshold used to reject outliers when computing cal levels.
 
float get_outlier_threshold () const
 
void set_plot_time (const MJD &epoch)
 Set the time to be plotted.
 
MJD get_plot_time () const
 
void draw_transitions (const Profile *profile)
 Draw the profile transitions in the current viewport and window. More...
 
void draw_time ()
 Mark the plot_time with a vertical dashed line. More...
 
- Public Member Functions inherited from Pulsar::FluxPlot
 FluxPlot ()
 Default constructor.
 
 ~FluxPlot ()
 Destructor.
 
void prepare (const Archive *)
 Perform any preprocessing steps. More...
 
std::string get_ylabel (const Archive *)
 Get the default label for the y axis. More...
 
virtual float get_phase_error (const Archive *data)
 Compute the error in phase.
 
virtual float get_flux_error (const Profile *data)
 Compute the error in flux.
 
virtual float get_flux_maximum (const Profile *data)
 Compute the maximum flux.
 
virtual void plot_error_box (const Archive *data)
 Draw the error box.
 
virtual void auto_scale_phase (const Profile *data, float buffer)
 Automatically scale in on the on-pulse region. More...
 
void set_subint (Index _isubint)
 Set the sub-integration to plot (where applicable)
 
Index get_subint () const
 
void set_chan (Index _ichan)
 Set the frequency channel to plot (where applicable)
 
Index get_chan () const
 
void set_pol (Index _ipol)
 Set the polarization to plot.
 
Index get_pol () const
 
void set_logarithmic (int val)
 Plot on a logarithmic scale, normalized by noise.
 
int get_logarithmic () const
 
void set_peak_zoom (float zoom)
 Automatically zoom in on the pulse peak.
 
float get_peak_zoom () const
 
void set_baseline_zoom (float zoom)
 Automatically zoom in on the baseline.
 
float get_baseline_zoom () const
 
void set_info_label (bool flag=true)
 Use an informative label above the plot.
 
bool get_info_label () const
 
void set_plot_error_box (int code)
 Plot an error box on the baseline.
 
int get_plot_error_box () const
 
void set_plot_histogram (bool f=true)
 Plot an error box on the baseline.
 
bool get_plot_histogram () const
 
void set_original_nchan (unsigned nchan)
 Set the original number of frequency channels. More...
 
unsigned get_original_nchan () const
 
void plot_profile (const Profile *)
 Draw a profile in the currently open window. More...
 
const ProfileVectorPlotterget_plotter () const
 Provide limited access to the plotter.
 
void set_selection (const PhaseWeight *)
 Set the selected profiles.
 
void set_crop (float new_crop)
 Set the crop fraction.
 
float get_crop () const
 Get the crop level.
 
- Public Member Functions inherited from Pulsar::PhasePlot
 PhasePlot ()
 Default constructor.
 
std::string get_xlabel (const Archive *)
 Get the default label for the x axis.
 
std::string get_ylabel (const Archive *)
 Get the default label for the y axis.
 
void set_yrange (float min, float max)
 Set the y-range.
 
PhaseScaleget_scale ()
 Get the scale.
 
- Public Member Functions inherited from Pulsar::SimplePlot
virtual void plot (const Archive *)
 Plot in the current viewport.
 
void add_annotation (PlotAnnotation *a)
 Add an annotation.
 
- Public Member Functions inherited from Pulsar::FramedPlot
 FramedPlot ()
 Default constructor.
 
virtual TextInterface::Parserget_frame_interface ()
 Get the text interface to the frame attributes.
 
PlotAttributesget_attributes ()
 Get the plot attributes.
 
virtual PlotFrameget_frame ()
 Get the frame.
 
virtual const PlotFrameget_frame () const
 Get the frame.
 
virtual void set_frame (PlotFrame *)
 Set the frame.
 
- Public Member Functions inherited from Pulsar::Plot
 Plot ()
 Default constructor.
 
virtual void preprocess (Archive *)
 Process the Archive as needed before calling plot.
 
virtual void finalize ()
 Some plots may postpone plotting.
 
virtual void configure (const std::string &)
 Process a configuration command.
 
void set_constructor (Constructor *c)
 Set the constructor.
 
Constructorget_constructor ()
 Get the constructor.
 
virtual void set_preprocessor (Processor *)
 Set the pre-processor.
 
virtual Processorget_preprocessor ()
 Get the pre-processor.
 
virtual bool has_preprocessor () const
 Return true if pre-processor has been set.
 
- Public Member Functions inherited from Reference::Able
 Able (const Able &)
 
Ableoperator= (const Able &)
 
unsigned get_reference_count () const
 
- Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
 
HeapTrackedoperator= (const HeapTracked &)
 
bool __is_on_heap () const
 
- Public Member Functions inherited from Pulsar::HasPen
PlotPenget_pen ()
 Provide access to the Pen.
 

Protected Attributes

bool plot_cal_transitions
 
double outlier_threshold
 
MJD plot_time
 
MJD reference_epoch
 
double folding_period {0}
 
- Protected Attributes inherited from Pulsar::FluxPlot
ProfileVectorPlotter plotter
 
Index isubint
 
Index ichan
 
Index ipol
 
int logarithmic
 
int plot_ebox
 
float peak_zoom
 
bool peak_centre_origin
 
float baseline_zoom
 
unsigned original_nchan
 
float crop
 
Reference::To< InfoLabelinfo_label
 
Reference::To< const PhaseWeightselection
 
- Protected Attributes inherited from Pulsar::SimplePlot
std::vector< Reference::To< PlotAnnotation > > annotations
 Annotations to add to the plot.
 
- Protected Attributes inherited from Pulsar::FramedPlot
Reference::To< PlotFrameframe
 The plot frame.
 

Additional Inherited Members

- Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 
- Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 
static void operator delete (void *location, void *ptr)
 
static void operator delete (void *location)
 
static size_t get_heap_queue_size ()
 
- Static Public Attributes inherited from Pulsar::Plot
static bool verbose = false
 Verbosity flag.
 
- Protected Member Functions inherited from Pulsar::FluxPlot
void plot_selection ()
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Detailed Description

Plots a single pulse profile.

Member Function Documentation

◆ draw()

void Pulsar::ProfilePlot::draw ( const Archive data)
virtual

Draw using FluxPlot::draw, then maybe draw_transitions.

Derived classes must draw in the current viewport.

Reimplemented from Pulsar::FluxPlot.

References Pulsar::Archive::get_type(), and Signal::Pulsar.

◆ draw_time()

void Pulsar::ProfilePlot::draw_time ( )

Mark the plot_time with a vertical dashed line.

Plot a vertical dashed green line at the time specified by plot_time Plots in the currently open pgplot device using the current viewport and window.

◆ draw_transitions()

void Pulsar::ProfilePlot::draw_transitions ( const Profile profile)

Draw the profile transitions in the current viewport and window.

Plots the calibrator hi/lo levels using the transitions determined by Profile::find_transitions. Plots in the currently open pgplot device using the current viewport and window.

References Pulsar::Profile::find_transitions(), Pulsar::SquareWave::get_mask(), Pulsar::ProfileAmps::get_nbin(), Pulsar::SquareWave::set_outlier_threshold(), and Pulsar::Profile::stats().


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

Generated using doxygen 1.8.17