SystemCalibratorManager.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2022 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9// psrchive/More/Polarimetry/Pulsar/SystemCalibratorManager.h
10
11#ifndef __Pulsar_SystemCalibratorManager_H
12#define __Pulsar_SystemCalibratorManager_H
13
14#include "Pulsar/SystemCalibrator.h"
15#include "Pulsar/Database.h"
16
17namespace Pulsar
18{
20
30 {
31
32 public:
33
36
39
41 SystemCalibrator* get_calibrator (unsigned i);
42
44 unsigned get_ncalibrator ();
45
48
51
53 void solve ();
54
56 virtual void preprocess (Archive* data);
57
59 virtual void add_observation (const Archive* data);
60
62 virtual void precalibrate (Archive* archive);
63
64 void set_fscrunch_data_to_model (bool f) { fscrunch_data_to_model = f; }
65
66 protected:
67
69 std::vector< Reference::To<SystemCalibrator> > calibrator;
70
73
75 bool sharing_setup = false;
76
78
79 void setup_sharing (SystemCalibrator* model);
80
81 };
82
83}
84
85#endif
86
The primary interface to pulsar observational data.
Definition Archive.h:46
SystemCalibrator * get_calibrator(unsigned i)
Return the ith managed system calibrator.
Definition SystemCalibratorManager.C:42
void manage(SystemCalibrator *)
Add to the array of system calibrators.
Definition SystemCalibratorManager.C:23
virtual void preprocess(Archive *data)
Prepare the data for inclusion in the model.
Definition SystemCalibratorManager.C:101
virtual void add_observation(const Archive *data)
Add the observation to the set of constraints.
Definition SystemCalibratorManager.C:116
bool fscrunch_data_to_model
If needed, frequency integrate data to same resolution as model.
Definition SystemCalibratorManager.h:72
void solve()
Solve the entire system of calibrators.
Definition SystemCalibratorManager.C:78
SystemCalibratorManager()
Default constructor.
Definition SystemCalibratorManager.C:19
unsigned get_ncalibrator()
Return the number of managed system calibrators.
Definition SystemCalibratorManager.C:37
virtual void precalibrate(Archive *archive)
Pre-calibrate the polarization of the given archive.
Definition SystemCalibratorManager.C:178
std::vector< Reference::To< SystemCalibrator > > calibrator
The system calibrators.
Definition SystemCalibratorManager.h:69
SystemCalibrator * get_model()
Return the fiducial system calibrator.
Definition SystemCalibratorManager.C:47
void setup_sharing(SystemCalibrator *model)
Setup information sharing between system calibrator instances.
Definition SystemCalibratorManager.C:137
bool sharing_setup
Delay setting up sharing in case first data does not match first model.
Definition SystemCalibratorManager.h:75
PolnCalibrator with estimated calibrator Stokes parameters.
Definition SystemCalibrator.h:50
Defines the PSRCHIVE library.
Definition CalSource.h:17

Generated using doxygen 1.14.0