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 
19 namespace Pulsar {
20 
22 
30  class Archive::Expert : public IntegrationManager::Expert {
31 
32  public:
33 
34  Expert (Archive* inst) : IntegrationManager::Expert (inst)
35  { instance = inst; }
36 
38  void set_nbin (unsigned numbins)
39  { instance->set_nbin (numbins); }
40 
42  void set_nchan (unsigned numchan)
43  { instance->set_nchan (numchan); }
44 
46  void set_npol (unsigned numpol)
47  { instance->set_npol (numpol); }
48 
50  Integration* load_Integration (const char* filename, unsigned subint)
51  { return instance->load_Integration (filename, subint); }
52 
54  void init_Integration (Integration* subint)
55  { instance->init_Integration (subint); }
56 
58  void resize_Integration (Integration* integration)
59  { instance->resize_Integration (integration); }
60 
62  void apply_model (Integration* subint, const Predictor* old = 0)
63  { instance->apply_model (subint, old); }
64 
66  void update_model (const MJD& mjd)
67  { instance->update_model (mjd); }
68 
70  void update_model (unsigned old_nsubint)
71  { instance->update_model (old_nsubint); }
72 
75  { return instance->model; }
76 
78  bool zero_phase_aligned () const
79  { return instance->zero_phase_aligned(); }
80 
82  void correct ()
83  { instance->correct (); }
84 
86  static void get_agent_list( std::vector< std::pair< std::string,std::string > > &details )
87  { return Archive::Agent::get_list( details ); }
88 
89  private:
90 
93 
94  };
95 
96 }
97 
98 #endif
void set_nchan(unsigned numchan)
Set the number of frequency channels.
Definition: ArchiveExpert.h:52
friend class Expert
The default baseline removal strategy.
Definition: Archive.h:579
void correct()
Perform all of the corrections defined in Base/Checks/Check_registry.C.
Definition: ArchiveExpert.h:92
void init_Integration(Integration *subint)
Initialize an Integration to reflect Archive attributes.
Definition: ArchiveExpert.h:64
Archive()
Default constructor.
Definition: Archive.C:67
IntegrationManager()
null constructor
Definition: IntegrationManager.C:16
Predictor * get_model()
Return a non-const pointer to the current phase predictor.
Definition: ArchiveExpert.h:84
Array of Profiles integrated over the same time interval.
Definition: Integration.h:37
void set_npol(unsigned numpol)
Set the number of polarization measurements.
Definition: ArchiveExpert.h:56
void set_nbin(unsigned numbins)
Set the number of pulsar phase bins.
Definition: ArchiveExpert.h:48
bool zero_phase_aligned() const
Return true if all Integration::zero_phase_aligned flags are set.
Definition: ArchiveExpert.h:88
static void get_agent_list(std::vector< std::pair< std::string, std::string > > &details)
Get agent list.
Definition: ArchiveExpert.h:96
Integration * load_Integration(const char *filename, unsigned subint)
Load the specified Integration from filename, returning new instance.
Definition: ArchiveExpert.h:60
void update_model(const MJD &mjd)
Update the model.
Definition: ArchiveExpert.h:76
Defines the PSRCHIVE library.
Definition: CalSource.h:17
void resize_Integration(Integration *integration)
Provide Integration::resize access to Archive-derived classes.
Definition: ArchiveExpert.h:68
void apply_model(Integration *subint, const Predictor *old=0)
Apply the current model to the Integration.
Definition: ArchiveExpert.h:72

Generated using doxygen 1.8.17