ExampleArchive ()
Default constructor.
ExampleArchive (const ExampleArchive &archive)
Copy constructor.
~ExampleArchive ()
Destructor.
const ExampleArchive & operator= (const ExampleArchive &archive)
Assignment operator.
ExampleArchive (const Archive &archive)
Base copy constructor.
void copy (const Archive &archive)
Copy all of the class attributes and the selected Integration data.
ExampleArchive * clone () const
Return a new copy-constructed ExampleArchive instance.
BasicArchive ()
null constructor
BasicArchive (const BasicArchive &archive)
copy constructor
const BasicArchive & operator= (const BasicArchive &archive)
assignment operator
~BasicArchive ()
destructor
virtual std::string get_telescope () const
Get the name of the telescope
virtual void set_telescope (const std::string &)
Set the name of the telescope
virtual Signal::State get_state () const
Get the state of the profiles.
virtual void set_state (Signal::State state )
Set the state of the profiles.
virtual Signal::Scale get_scale () const
Get the scale in which flux density is measured.
virtual void set_scale (Signal::Scale scale )
Set the scale in which flux density is measured.
virtual Signal::Source get_type () const
Get the observation type (psr, cal)
virtual void set_type (Signal::Source type )
Set the observation type (psr, cal)
virtual std::string get_source () const
Get the source name.
virtual void set_source (const std::string &source )
Set the source name.
virtual sky_coord get_coordinates () const
Get the coordinates of the source.
virtual void set_coordinates (const sky_coord &coordinates )
Set the coordinates of the source.
virtual unsigned get_nbin () const
Get the number of pulsar phase bins used.
virtual unsigned get_nchan () const
Get the number of frequency channels used.
virtual unsigned get_npol () const
Get the number of frequency channels used.
virtual unsigned get_nsubint () const
Get the number of sub-integrations stored in the file.
virtual double get_bandwidth () const
Get the overall bandwidth of the observation.
virtual void set_bandwidth (double bw)
Set the overall bandwidth of the observation.
virtual double get_centre_frequency () const
Get the centre frequency of the observation.
virtual void set_centre_frequency (double cf)
Set the centre frequency of the observation.
virtual double get_dispersion_measure () const
Get the dispersion measure (in )
virtual void set_dispersion_measure (double dm)
Set the dispersion measure (in )
virtual bool get_dedispersed () const
Inter-channel dispersion delay has been removed.
virtual void set_dedispersed (bool done=true)
Set the status of the dispersion delay flag.
virtual double get_rotation_measure () const
Get the rotation measure (in )
virtual void set_rotation_measure (double rm)
Set the rotation measure (in )
virtual bool get_faraday_corrected () const
data have been corrected for ISM faraday rotation
virtual void set_faraday_corrected (bool done=true)
Set the status of the ISM RM flag.
virtual bool get_poln_calibrated () const
Data has been poln calibrated.
virtual void set_poln_calibrated (bool done=true)
Set the status of the poln calibrated flag.
Archive ()
Default constructor.
Archive (const Archive &archive)
Copy constructor.
virtual ~Archive ()
Destructor.
Archive & operator= (const Archive &a)
Assignment operator.
template<class T>
const T * get () const
template<class T>
T * get ()
template<class T>
T * getadd ()
void copy (const Archive &)
Copy all base class attributes, Extensions, and Integrations.
void copy (const Archive *)
Copy all base class attributes, Extensions, and Integrations.
Archive * total (bool tscrunch =true) const
Return pointer to a new fscrunched, tscrunched and pscrunched clone.
Archive * tscrunched () const
Return pointer to a new tscrunched clone.
Archive * extract (std::vector< unsigned > &subints) const
Return pointer to a new instance with only the specified subints.
Profile * get_Profile (unsigned subint, unsigned pol, unsigned chan)
Return pointer to the specified profile.
const Profile * get_Profile (unsigned subint, unsigned pol, unsigned chan) const
Return pointer to the specified profile.
void set_ephemeris (const Parameters *ephemeris , bool update =true)
Install the given ephemeris and call update_model.
const Parameters * get_ephemeris () const
Return a pointer to the current archive ephemeris.
bool has_ephemeris () const
Return true if the Archive has an ephemeris.
void set_model (const Predictor *model, bool apply=true)
Install the given predictor and shift profiles to align.
const Predictor * get_model () const
Return a pointer to the current phase predictor.
bool has_model () const
Returns true if the Archive has a model.
void update_model ()
Create a new predictor and align the Integrations to the new model.
void bscrunch (unsigned nscrunch)
Integrate pulse profiles in phase.
void fold (unsigned nfold)
Integrate neighbouring sections of the pulse profiles.
void pscrunch ()
Integrate profiles in polarization.
void fscrunch (unsigned nscrunch=0)
Integrate profiles in frequency.
void tscrunch (unsigned nscrunch=0)
Integrate profiles in time.
void rotate (double time)
Phase rotate each profile by time seconds.
void rotate_phase (double phase )
Rotate each profile by phase.
void append (const Archive *archive)
Append the Integrations from the specifed archive.
void remove_chan (unsigned first, unsigned last)
Delete the specified inclusive channel range from the Archive .
void update_centre_frequency ()
Update the centre frequency.
void centre (double phase_offset=0.5)
Phase rotate pulsar Integrations so that pulse phase zero is centred.
void centre_max_bin (double phase_offset=0.5)
Phase rotate pulsar Integrations so centre the maximum amplitude.
void convert_state (Signal::State state)
Convert data to the specified state.
Signal::Basis get_basis () const
Convenience interface to Receiver::get_basis .
void dedisperse ()
Rotate the Profiles to remove dispersion delays b/w chans.
void defaraday ()
Correct the Faraday rotation of Q into U.
void transform (const Jones < float > &)
Perform the transformation on each polarimetric profile.
void transform (const std::vector< Jones < float > > &)
Perform frequency response on each polarimetric profile.
void transform (const std::vector< std::vector< Jones < float > > > &)
Perform the time and frequency response on each polarimetric profile.
void invint ()
Transform Stokes I,Q,U,V into the polarimetric invariant interval.
PhaseWeight * baseline () const
Return a new PhaseWeight instance with the baseline phase bins masked.
void remove_baseline ()
Remove the baseline from all profiles.
void uniform_weight (float new_weight=1.0)
Set the weight of each profile to the given number.
bool standard_match (const Archive *arch, std::string &reason) const
Test if arch matches (enough for a pulsar - standard match)
bool calibrator_match (const Archive *arch, std::string &reason) const
Test if arch matches (enough for a pulsar - calibrator match)
bool processing_match (const Archive *arch, std::string &reason) const
Test if arch matches (enough for a pulsar - pulsar match)
bool mixable (const Archive *arch, std::string &reason) const
Test if arch is mixable (enough for append)
double weighted_frequency (unsigned ichan, unsigned start, unsigned end) const
Computes the weighted channel frequency over an Integration interval.
void bscrunch_to_nbin (unsigned new_nbin)
Call bscrunch with the appropriate value.
void fscrunch_to_nchan (unsigned new_nchan)
Call fscrunch with the appropriate value.
void tscrunch_to_nsub (unsigned new_nsub)
Call tscrunch with the appropriate value.
MJD start_time () const
Return the MJD at the start of the first sub-integration.
MJD end_time () const
Return the MJD at the end of the last sub-integration.
double integration_length () const
Returns the total time integrated into all Integrations (in seconds)
bool type_is_cal () const
Return true if the observation is a calibrator.
void find_transitions (int &hi2lo, int &lo2hi, int &buffer) const
Find the transitions between high and low states in total intensity.
void find_peak_edges (int &rise, int &fall) const
Find the bins in which the total intensity exceeds a threshold.
float find_max_phase () const
Returns the centre phase of the region with maximum total intensity.
float find_min_phase (float dc=0.15) const
Returns the centre phase of the region with minimum total intensity.
float rms_baseline (float dc=0.4)
Returns geometric mean of baseline RMS for each Integration .
virtual Interface * get_interface ()
Return a text interface that can be used to access this instance.
virtual unsigned get_nextension () const
Return the number of extensions available.
virtual const Extension * get_extension (unsigned iextension) const
Return a pointer to the specified extension.
virtual Extension * get_extension (unsigned iextension)
Return a pointer to the specified extension.
template<class ExtensionType>
bool has () const
Template method searches for an Extension of the specified type.
template<class ExtensionType>
const ExtensionType * get () const
Template method searches for an Extension of the specified type.
template<class ExtensionType>
ExtensionType * get ()
Template method searches for an Extension of the specified type.
template<class ExtensionType>
ExtensionType * getadd ()
Template method returns an Extension of the specified type.
virtual void add_extension (Extension *extension)
Add an Extension to the Archive instance.
Expert * expert ()
Provide access to the expert interface.
const Expert * expert () const
Provide access to the expert interface.
const Match * get_standard_match () const
Policy determines if a standard/template matches an observation.
void set_standard_match (Match *)
The default baseline removal strategy.
const Match * get_calibrator_match () const
Policy determines if a calibrator matches an observation.
void set_calibrator_match (Match *)
The default baseline removal strategy.
const Match * get_processing_match () const
Policy determines if data were processed identically.
void set_processing_match (Match *)
The default baseline removal strategy.
const Match * get_mixable () const
Policy determines if data can be combined/integrated.
void set_mixable (Match *)
The default baseline removal strategy.
StrategySet * get_strategy () const
Returns the strategy manager.
void unload (const char *filename=0) const
Write the archive to filename.
void unload (const std::string &filename) const
Convenience interface to Archive::unload (const char*)
std::string get_filename () const
Get the name of the file to which the archive will be unloaded.
void set_filename (const std::string &filename)
Set the filename of the Archive .
void update ()
Update the current archive, saving current Integration data.
void refresh ()
Completely reload the archive, deleting all data.
virtual void resize (unsigned nsubint, unsigned npol=0, unsigned nchan=0, unsigned nbin=0)
Resize the Integration vector with new_Integration instances.
virtual void erase (unsigned isubint)
Remove the specified sub-integration.
void reverse_chan ()
Reverse the order of frequency channels.
IntegrationManager ()
null constructor
IntegrationManager (const IntegrationManager &archive)
copy constructor
IntegrationManager & operator= (const IntegrationManager &archive)
operator =
virtual ~IntegrationManager ()
destructor
Integration * get_Integration (unsigned subint)
Return pointer to the specified Integration .
Integration * get_last_Integration ()
Return a pointer to the last Integration .
Integration * get_first_Integration ()
Return a pointer to the first Integration .
const Integration * get_Integration (unsigned subint) const
Return const pointer to the specified Integration .
const Integration * get_last_Integration () const
Return a const pointer to the last Integration .
const Integration * get_first_Integration () const
Return a const pointer to the first Integration .
template<class StrictWeakOrdering>
void sort (StrictWeakOrdering comp=temporal_order)
Sort the Integrations according to the specified order.
void shuffle ()
Randomly rearrange the sub-integrations.
Expert * expert ()
Provide access to the expert interface.
Able (const Able &)
Able & operator= (const Able &)
unsigned get_reference_count () const
HeapTracked (const HeapTracked &)
HeapTracked & operator= (const HeapTracked &)
bool __is_on_heap () const
static void ensure_linkage ()
Ensure that BasicArchive code is linked.
static Archive * new_Archive (const std::string &class_name)
Factory returns a null-constructed instance of the named class.
static Archive * load (const std::string &name)
Factory returns a new instance loaded from filename.
static unsigned get_instance_count ()
Returns the number of Archive instances currently in existence.
static void agent_report ()
Report on the status of the plugins.
static void agent_list ()
List the successfully loaded plugins.
static void set_verbosity (unsigned level)
Set the verbosity level (0 to 3)
static size_t get_instance_count ()
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 Functor < void(Archive *) > remove_baseline_strategy
The default baseline removal strategy.
static unsigned verbose = 0
A verbosity flag that can be set for debugging purposes.
static std::string get_revision (const char *revision)
Parses the revision number out of the CVS Revision string.
std::string telescope
The name of the telescope
Signal::Basis basis
The feed configuration of the receiver.
Signal::State state
The state of the profiles.
Signal::Scale scale
The scale in which flux density is measured.
Signal::Source type
The observation type (psr, cal)
std::string source
The source name.
sky_coord coordinates
The coordinates of the source.
unsigned nbin
The number of pulsar phase bins used.
unsigned nchan
The number of frequency channels used.
unsigned npol
The number of frequency channels used.
unsigned nsubint
The number of sub-integrations stored in the file.
double bandwidth
The overall bandwidth of the observation.
double centre_frequency
The centre frequency of the observation.
double dispersion_measure
The dispersion measure (in )
double rotation_measure
The rotation measure (in )
bool dedispersed
data have been dedispersed
bool faraday_corrected
data have been corrected for ISM faraday rotation
bool poln_calibrated
Data has been poln calibrated.
std::string unload_filename
Name of file to which the archive will be written on call to unload()
Reference::To < Parameters > ephemeris
The pulsar ephemeris, as used by TEMPO.
Reference::To < Expert > expert_interface
Expert interface.
Reference::To < Interface > text_interface
Text interface.
Reference::To < Match > standard_match_policy
The pulsar ephemeris, as used by TEMPO.
Reference::To < Match > calibrator_match_policy
The pulsar ephemeris, as used by TEMPO.
Reference::To < Match > processing_match_policy
The pulsar ephemeris, as used by TEMPO.
Reference::To < Match > mixable_policy
The pulsar ephemeris, as used by TEMPO.
static Option < std::string > unload_class
Name of class to which data are converted if unload_file unimplemented.
static Option < bool > unload_cull_predictor
Default policy for culling predictor coefficients when unloading.
static Option < bool > no_clobber
Default policy for overwriting archive files.