ArchiveExpert.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2006 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/Base/Classes/Pulsar/ArchiveExpert.h
10
11#ifndef __Pulsar_ArchiveExpert_h
12#define __Pulsar_ArchiveExpert_h
13
14#include "Pulsar/IntegrationManagerExpert.h"
15#include "Pulsar/Archive.h"
16#include "Pulsar/Predictor.h"
17#include "Pulsar/Agent.h"
18
19namespace Pulsar {
20
22
30 class Archive::Expert : public IntegrationManager::Expert {
31
32 public:
33
34 Expert (Archive* inst) : IntegrationManager::Expert (inst), instance(inst) { }
35
37 void set_nbin (unsigned numbins)
38 { instance->set_nbin (numbins); }
39
41 void set_nchan (unsigned numchan)
42 { instance->set_nchan (numchan); }
43
45 void set_npol (unsigned numpol)
46 { instance->set_npol (numpol); }
47
49 Integration* load_Integration (const char* filename, unsigned subint)
50 { return instance->load_Integration (filename, subint); }
51
54 { instance->init_Integration (subint); }
55
57 void resize_Integration (Integration* integration)
58 { instance->resize_Integration (integration); }
59
61 void apply_model (Integration* subint, const Predictor* old = 0)
62 { instance->apply_model (subint, old); }
63
65 void update_model (const MJD& mjd)
66 { instance->update_model (mjd); }
67
69 void update_model (unsigned old_nsubint)
70 { instance->update_model (old_nsubint); }
71
74 { return instance->model; }
75
77 bool zero_phase_aligned () const
78 { return instance->zero_phase_aligned(); }
79
81 void correct ()
82 { instance->correct (); }
83
85 static void get_agent_list( std::vector< std::pair< std::string,std::string > > &details )
86 { return Archive::Agent::get_list( details ); }
87
88 private:
89
92
93 };
94
95}
96
97#endif
Provides access to private and protected member of Archive.
Definition ArchiveExpert.h:30
Archive()
Default constructor.
Definition Archive.C:67
void set_nbin(unsigned numbins)
Set the number of pulsar phase bins.
Definition ArchiveExpert.h:37
void init_Integration(Integration *subint)
Initialize an Integration to reflect Archive attributes.
Definition ArchiveExpert.h:53
void apply_model(Integration *subint, const Predictor *old=0)
Apply the current model to the Integration.
Definition ArchiveExpert.h:61
Predictor * get_model()
Return a non-const pointer to the current phase predictor.
Definition ArchiveExpert.h:73
void set_nchan(unsigned numchan)
Set the number of frequency channels.
Definition ArchiveExpert.h:41
static void get_agent_list(std::vector< std::pair< std::string, std::string > > &details)
Get agent list.
Definition ArchiveExpert.h:85
void resize_Integration(Integration *integration)
Provide Integration::resize access to Archive-derived classes.
Definition ArchiveExpert.h:57
void set_npol(unsigned numpol)
Set the number of polarization measurements.
Definition ArchiveExpert.h:45
Integration * load_Integration(const char *filename, unsigned subint)
Load the specified Integration from filename, returning new instance.
Definition ArchiveExpert.h:49
void correct()
Perform all of the corrections defined in Base/Checks/Check_registry.C.
Definition ArchiveExpert.h:81
void update_model(const MJD &mjd)
Update the model.
Definition ArchiveExpert.h:65
bool zero_phase_aligned() const
Return true if all Integration::zero_phase_aligned flags are set.
Definition ArchiveExpert.h:77
void update_model(unsigned old_nsubint)
Update the predictor model and correct the Integration set.
Definition ArchiveExpert.h:69
friend class Expert
The default baseline removal strategy.
Definition Archive.h:584
Array of Profiles integrated over the same time interval.
Definition Integration.h:37
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0