Manages a vector of Integration instances. More...

#include <IntegrationManager.h>

Inheritance diagram for Pulsar::IntegrationManager:
Pulsar::Container Reference::Able Reference::HeapTracked Pulsar::Archive Pulsar::BasicArchive Pulsar::EPNArchive Pulsar::PuMaArchive Pulsar::TimerArchive Pulsar::ASCIIArchive Pulsar::ASPArchive Pulsar::BPPArchive Pulsar::EPOSArchive Pulsar::ExampleArchive Pulsar::FITSArchive Pulsar::pdv_KtZ_Archive Pulsar::PRESTOArchive Pulsar::UVMArchive Pulsar::WAPPArchive Pulsar::BasebandArchive Pulsar::ScintArchive

Classes

class  Expert
 Provides access to private and protected members of IntegrationManager. More...
 

Public Member Functions

 IntegrationManager ()
 null constructor
 
 IntegrationManager (const IntegrationManager &archive)
 copy constructor
 
IntegrationManageroperator= (const IntegrationManager &archive)
 operator =
 
virtual ~IntegrationManager ()
 destructor
 
Integrationget_Integration (unsigned subint)
 Return pointer to the specified Integration. More...
 
Integrationget_last_Integration ()
 Return a pointer to the last Integration.
 
Integrationget_first_Integration ()
 Return a pointer to the first Integration.
 
const Integrationget_Integration (unsigned subint) const
 Return const pointer to the specified Integration.
 
const Integrationget_last_Integration () const
 Return a const pointer to the last Integration.
 
const Integrationget_first_Integration () const
 Return a const pointer to the first Integration.
 
virtual Integrationnew_Integration (const Integration *copy=0)=0
 Construct new Integration instance.
 
virtual Integrationuse_Integration (Integration *use)=0
 Use the given Integration instance.
 
virtual Integrationload_Integration (unsigned isubint)=0
 Load new Integration instance.
 
virtual unsigned get_nsubint () const =0
 Get the number of sub-integrations stored in the file. More...
 
template<class StrictWeakOrdering >
void sort (StrictWeakOrdering comp=temporal_order)
 Sort the Integrations according to the specified order.
 
void shuffle ()
 Randomly rearrange the sub-integrations.
 
Expertexpert ()
 Provide access to the expert interface. More...
 
- 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
 

Static Public Attributes

static unsigned verbose = 1
 A verbosity flag that can be set for debugging purposes.
 

Protected Member Functions

virtual void set_nsubint (unsigned num_sub)=0
 Set the number of sub-integrations. More...
 
virtual void _resize (unsigned nsubint, bool instances=true)
 Resize the Integration vector. More...
 
void append (const IntegrationManager *more_subints)
 Append new_Integration copies of Integration objects to self.
 
void manage (IntegrationManager *more_subints)
 Append use_Integration modifications of Integration objects to self.
 
void manage (Integration *integration)
 Directly append the Integration instance (no copy)
 
void insert (unsigned isubint, Integration *integration)
 Insert the Integration instance into the specified location.
 
void unmanage (const Integration *)
 Remove the Integration instance.
 
void unmanage (unsigned isubint)
 Remove the Integration at the specified index.
 
void load_all ()
 Load all sub-integrations.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Friends

class TimeSortedOrder
 
class Expert
 

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

Detailed Description

Manages a vector of Integration instances.

This pure virtual base class implements the storage and manipulation of a vector of Pulsar::Integration objects.

Member Function Documentation

◆ _resize()

void Pulsar::IntegrationManager::_resize ( unsigned  nsubint,
bool  instances = true 
)
protectedvirtual

Resize the Integration vector.

If any current dimension is greater than that requested, the Profiles will be destroyed and the dimension resized. If any current dimension is smaller than that requested, the dimension will be resized and new Profiles will be constructed. If any of the supplied paramaters is equal to zero, the dimension is left unchanged.

◆ expert()

Pulsar::IntegrationManager::Expert * Pulsar::IntegrationManager::expert ( )

Provide access to the expert interface.

Provides access to the expert interface.

◆ get_Integration()

Pulsar::Integration * Pulsar::IntegrationManager::get_Integration ( unsigned  subint)

Return pointer to the specified Integration.

Parameters
subintthe index of the requested Integration
Returns
pointer to Integration instance

Referenced by Pulsar::SystemCalibrator::add_calibrator(), Pulsar::SystemCalibrator::add_pulsar(), Pulsar::Append::append(), append(), Pulsar::ManualPolnCalibrator::calibrate(), Pulsar::FluxCalibrator::calibrate(), Pulsar::PolnCalibrator::calibrate(), Pulsar::FluxCalibrator::calibration_setup(), Pulsar::PolnCalibrator::calibration_setup(), Pulsar::FrequencyAppend::combine(), Pulsar::PeriastronOrder::combine(), Pulsar::BinLngPeriOrder::combine(), Pulsar::BinaryPhaseOrder::combine(), Pulsar::BinLngAscOrder::combine(), Pulsar::ImageCorrection::correct(), Pulsar::ScatteredPowerCorrection::correct(), Pulsar::FourthMomentStats::debias(), Pulsar::Archive::dedisperse(), Pulsar::LinePhasePlot::draw(), Pulsar::AnglePlot::draw(), Pulsar::ColdPlasma< DispersionDelay, Dedisperse >::execute(), get_Integration(), Pulsar::FrequencyScale::get_ordinates(), Pulsar::FluxPlot::get_phase_error(), Pulsar::DynamicCalSpectrumPlot::get_plot_array(), Pulsar::DynamicStatSpectrumPlot::get_plot_array(), Pulsar::ProfilePlot::get_profiles(), Pulsar::SystemCalibrator::get_transformation(), Pulsar::FrequencyAppend::init(), Pulsar::ColdPlasma< DispersionDelay, Dedisperse >::just_do_it(), manage(), Pulsar::ChannelSubsetMatch::match(), Pulsar::new_Stokes(), Pulsar::PatchFrequency::operate(), Pulsar::PatchTime::operate(), Pulsar::BinLngAscOrder::organise(), Pulsar::BinLngPeriOrder::organise(), Pulsar::BinaryPhaseOrder::organise(), Pulsar::PeriastronOrder::organise(), Pulsar::SystemCalibrator::precalibrate(), Pulsar::LinePhasePlot::prepare(), Pulsar::PhaseVsHist::prepare(), Pulsar::ColdPlasma< DispersionDelay, Dedisperse >::revert(), Pulsar::ChannelSubsetMatch::sub_channel(), and Pulsar::ChannelSubsetMatch::super_channel().

◆ get_nsubint()

virtual unsigned Pulsar::IntegrationManager::get_nsubint ( ) const
pure virtual

Get the number of sub-integrations stored in the file.

This attribute may be set only through IntegrationManager::resize

Implemented in Pulsar::BasicArchive, Pulsar::EPNArchive, Pulsar::TimerArchive, and Pulsar::PuMaArchive.

Referenced by Pulsar::SystemCalibrator::add_calibrator(), Pulsar::SystemCalibrator::add_pulsar(), Pulsar::Append::append(), append(), Pulsar::ManualPolnCalibrator::calibrate(), Pulsar::FluxCalibrator::calibrate(), Pulsar::PolnCalibrator::calibrate(), Pulsar::FrequencyAppend::check(), Pulsar::FrequencyAppend::combine(), Pulsar::BinaryPhaseOrder::combine(), Pulsar::BinLngPeriOrder::combine(), Pulsar::PeriastronOrder::combine(), Pulsar::BinLngAscOrder::combine(), Pulsar::ImageCorrection::correct(), Pulsar::ScatteredPowerCorrection::correct(), Pulsar::FourthMomentStats::debias(), Pulsar::Archive::dedisperse(), Pulsar::DynamicSpectrumPlot::draw(), Pulsar::ColdPlasma< DispersionDelay, Dedisperse >::execute(), Pulsar::TimeScale::get_indeces(), Pulsar::FrequencyScale::get_ordinates(), Pulsar::TimeScale::get_ordinates(), Pulsar::FrequencyAppend::init(), Pulsar::TimeScale::init(), Pulsar::Statistics::Interface::Interface(), Pulsar::ColdPlasma< DispersionDelay, Dedisperse >::just_do_it(), manage(), Pulsar::PatchTime::operate(), Pulsar::BinaryPhaseOrder::organise(), Pulsar::BinLngPeriOrder::organise(), Pulsar::PeriastronOrder::organise(), Pulsar::BinLngAscOrder::organise(), Pulsar::SystemCalibrator::precalibrate(), Pulsar::LinePhasePlot::prepare(), Pulsar::PhaseVsHist::prepare(), Pulsar::ColdPlasma< DispersionDelay, Dedisperse >::revert(), and Pulsar::Append::stop().

◆ set_nsubint()

virtual void Pulsar::IntegrationManager::set_nsubint ( unsigned  num_sub)
protectedpure virtual

Set the number of sub-integrations.

Called by IntegrationManager methods to update child attribute

Implemented in Pulsar::EPNArchive, Pulsar::TimerArchive, Pulsar::BasicArchive, and Pulsar::PuMaArchive.


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

Generated using doxygen 1.8.17