Ask a Question | Search PSRCHIVE: |
Home
|
Pulsar::Archive Class Referenceabstract The primary interface to pulsar observational data. More...
Inheritance diagram for Pulsar::Archive:
Detailed DescriptionThe primary interface to pulsar observational data. This virtual base class implements the primary interface to pulsar observational data, including the pulse profiles, integrations, and all auxilliary data. All file I/O and various data reduction algorithms are accessed via this class. Constructor & Destructor Documentation◆ Archive()
Copy constructor. The Archive copy constructor must never be called, call Archive::copy. Member Function Documentation◆ add_extension()
Add an Extension to the Archive instance. This method ensures that only one instance of the Extension type is stored in the Archive. Derived classes need only define this method, as the non-const version implemented by the Archive base class simply calls this method. References Pulsar::Archive::Extension::get_extension_name(). Referenced by Pulsar::FITSArchive::load_DigitiserCounts(). ◆ append()
Append the Integrations from the specifed archive. Add clones of the Integrations in arch to this. ◆ apply_model()
Apply the current model to the Integration. This method aligns the Integration to the current polyco, as stored in the model attribute. The Integration is rotated by the difference between the phase predicted by the current model and that predicted by the old model.
References Pulsar::Predictor::phase(). ◆ bscrunch()
Integrate pulse profiles in phase. Simply calls Integration::bscrunch for each Integration
References Pulsar::bscrunch(), and Pulsar::get_Integration(). ◆ bscrunch_to_nbin()
Call bscrunch with the appropriate value. Useful wrapper for Archive::bscrunch References Pulsar::get_Integration(). ◆ centre()
Phase rotate pulsar Integrations so that pulse phase zero is centred. Uses the polyco model, as well as the centre frequency and mid-time of each Integration to determine the predicted pulse phase. References Pulsar::get_Integration(), and Signal::Pulsar. ◆ centre_max_bin()
Phase rotate pulsar Integrations so centre the maximum amplitude. Rotate pulsar Integrations so that the bin of largest amplitude is centred ◆ clone()
Return a new copy constructed instance equal to this. This pure virtual method must be implemented by derived classes Implemented in Pulsar::FITSArchive, Pulsar::WAPPArchive, Pulsar::EPOSArchive, Pulsar::EPNArchive, Pulsar::TimerArchive, Pulsar::ExampleArchive, Pulsar::BPPArchive, Pulsar::BasebandArchive, Pulsar::UVMArchive, Pulsar::ScintArchive, Pulsar::ASCIIArchive, Pulsar::pdv_KtZ_Archive, Pulsar::PRESTOArchive, Pulsar::PuMaArchive, and Pulsar::ASPArchive. Referenced by Pulsar::Append::append(), Calibration::StandardPrepare::choose(), Pulsar::BinLngAscOrder::combine(), Pulsar::BinaryPhaseOrder::combine(), Pulsar::PeriastronOrder::combine(), Pulsar::BinLngPeriOrder::combine(), Pulsar::CalPhVFreqPlot::draw(), Pulsar::DynamicBaselineSpectrumPlot::get_plot_array(), Pulsar::ReceptionCalibrator::initial_observation(), Pulsar::PeriastronOrder::organise(), Pulsar::BinLngAscOrder::organise(), Pulsar::BinaryPhaseOrder::organise(), Pulsar::BinLngPeriOrder::organise(), Pulsar::ChannelWeightsPlot::prepare(), Pulsar::PlotLoop::set_Archive(), Pulsar::PulsarCalibrator::set_standard(), Pulsar::ReceptionCalibrator::set_standard_data(), and Pulsar::TimeAppend::stop(). ◆ convert_state()
Convert data to the specified state. Simply calls Integration::convert_state for each Integration References Pulsar::get_Integration(). Referenced by Pulsar::Interpreter::scattered_power_correct(). ◆ create_updated_model()
Creates polynomials to span the Integration set. The polyco need only describe the phase and period of every Integration. When the Integrations are separated by a large amount of time, the creation of a new polyco to completely span this time results in a huge polyco.dat and a huge waste of time. Therefore, this method attempts to create the minimum set of polyco polynomials required to describe the data. If a match is not found in the current model, a single polynomial is created and appended to the current model.
References Pulsar::Integration::get_epoch(), Pulsar::get_Integration(), and Signal::Pulsar. ◆ dedisperse()
Rotate the Profiles to remove dispersion delays b/w chans. The dedisperse method removes the dispersive delay between each frequency channel and that of the reference frequency defined by get_centre_frequency. References Pulsar::IntegrationManager::get_Integration(), Pulsar::IntegrationManager::get_nsubint(), and set_dedispersed(). ◆ defaraday()
Correct the Faraday rotation of Q into U. The defaraday method corrects the Faraday rotation between each frequency channel and that of the reference frequency defined by get_centre_frequency.
References Pulsar::Integration::defaraday(), Pulsar::get_Integration(), and Pulsar::warning. ◆ find_max_phase()
Returns the centre phase of the region with maximum total intensity.
◆ find_min_phase()
Returns the centre phase of the region with minimum total intensity.
◆ find_peak_edges()
Find the bins in which the total intensity exceeds a threshold.
◆ find_transitions()
Find the transitions between high and low states in total intensity.
◆ fold()
Integrate neighbouring sections of the pulse profiles.
References Pulsar::get_Integration(). ◆ fscrunch()
Integrate profiles in frequency. Simply calls Integration::fscrunch for each Integration
References Pulsar::get_Integration(). ◆ fscrunch_to_nchan()
Call fscrunch with the appropriate value. Useful wrapper for Archive::fscrunch ◆ get() [1/2]
template<class T >
e.g. Archive* archive; MyExtension* ext = archive->get<MyExtension>(); ◆ get() [2/2]
template<class T >
e.g. const Archive* archive; const MyExtension* ext = archive->get<MyExtension>(); ◆ get_extension() [1/2]
Return a pointer to the specified extension. Simply calls get_extension const ◆ get_extension() [2/2]
Return a pointer to the specified extension. Derived classes need only define this method, as the non-const version implemented by the Archive base class simply calls this method. Referenced by Pulsar::FrequencyAppend::combine(). ◆ get_Profile()
Return pointer to the specified profile. Return a pointer to the Profile.
References Pulsar::get_Integration(), and Pulsar::get_Profile(). Referenced by Pulsar::DynamicCalSpectrumPlot::get_plot_array(), Pulsar::MoreScale::init(), and Pulsar::PhaseVsMore::prepare(). ◆ getadd()
template<class T >
If the specified extension type T does not exist, an atempt is made to add it using add_extension. If this fails, NULL is returned. ◆ good_model()
Returns true if the given model spans the Integration set. This method tests if the given phase predictor applies to each Integration, returning false if an exception is thrown.
References Pulsar::Integration::get_epoch(), Pulsar::get_Integration(), and Pulsar::Predictor::phase(). ◆ init_Integration()
Initialize an Integration to reflect Archive attributes. After an Integration has been loaded from disk, this method ensures that various internal book-keeping attributes are initialized. References Pulsar::Dedisperse::set_dispersion_measure(), Pulsar::ColdPlasmaHistory::set_reference_frequency(), and Pulsar::DeFaraday::set_rotation_measure(). ◆ new_Archive()
Factory returns a null-constructed instance of the named class. Return a null-constructed instance of the derived class. References Registry::List< class >::get_registry(), and Registry::List< class >::size(). Referenced by Pulsar::Calibrator::new_solution(). ◆ operator=()
Assignment operator. operator = ◆ pscrunch()
Integrate profiles in polarization. Simply calls Integration::pscrunch for each Integration References Pulsar::get_Integration(), and Signal::pscrunch(). ◆ resize()
Resize the Integration vector with new_Integration instances. If any current dimension is greater than that requested, the extra Profiles will be deleted 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 one or more of the npol, nchan, or nbin arguments is set to zero, the dimension is left unchanged. References Pulsar::get_Integration(), and Signal::Pulsar. Referenced by Pulsar::BinaryPhaseOrder::combine(), Pulsar::BinLngAscOrder::combine(), Pulsar::PeriastronOrder::combine(), Pulsar::BinLngPeriOrder::combine(), Pulsar::BinLngPeriOrder::organise(), Pulsar::BinaryPhaseOrder::organise(), Pulsar::BinLngAscOrder::organise(), and Pulsar::PeriastronOrder::organise(). ◆ rms_baseline()
Returns geometric mean of baseline RMS for each Integration. Returns the geometric mean of the rms of the baseline for the 0,0th profile in each Integration. MB Feb 2004. References Pulsar::get_Profile(), and Pulsar::Profile::stats(). ◆ set_ephemeris()
Install the given ephemeris and call update_model.
References Pulsar::Parameters::clone(). ◆ set_filename()
Set the filename of the Archive. The filename is the name of the file to which the archive will be written on the next call to Archive::unload, if no arguments are given to the Archive::unload method. References unload_filename. ◆ total()
Return pointer to a new fscrunched, tscrunched and pscrunched clone. This method is primarily designed for use by the Archive::find_* methods. References Pulsar::get_Integration(), Signal::Intensity, and Pulsar::Integration::total(). Referenced by baseline(), and Pulsar::DynamicSNSpectrumPlot::get_plot_array(). ◆ tscrunch()
Integrate profiles in time.
References Pulsar::Integrate< Container >::set_range_policy(), and Pulsar::TimeIntegrate::transform(). ◆ tscrunch_to_nsub()
Call tscrunch with the appropriate value. Useful wrapper for Archive::tscrunch ◆ tscrunched()
Return pointer to a new tscrunched clone. This is more efficient than clone followed by tscrunch References Pulsar::Integration::clone(), and Pulsar::get_Integration(). ◆ unload()
Write the archive to filename. To protect data, especially when writing the output archive to a file of the same name as the input archive, this method unloads data to a temporary file before renaming the archive to the requested output file name. The temporary file will be written using a unique filename in the same path as the requested output file. References Pulsar::Integration::get_epoch(), TemporaryFile::get_filename(), Pulsar::get_Integration(), and TemporaryFile::set_removed(). Referenced by unload(). ◆ update_model() [1/2]
Create a new predictor and align the Integrations to the new model. This method should be called when the ephemeris attribute is modified. It may also be called when the tempo support files (e.g. leap.sec, ut1.dat) change. ◆ update_model() [2/2]
Update the predictor model and correct the Integration set. This method economizes on the number of times that the polyco is re-created and the Integrations are re-aligned to the model. By setting the Integration::zero_phase_aligned attribute, each sub-integration is flagged as no longer in need of alignment. If Integration::zero_phase_aligned is false, then the Integration is re-aligned to the new model (see Archive::apply_model).
References Pulsar::get_Integration(), and Reference::To< class, active >::ptr(). ◆ weighted_frequency()
Computes the weighted channel frequency over an Integration interval.
The documentation for this class was generated from the following files:
Generated using doxygen 1.8.17
|