CalInterpreter.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2007 by Willem van Straten
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 // psrchive/More/Polarimetry/Pulsar/CalInterpreter.h
10 
11 #ifndef __Pulsar_CalInterpreter_h
12 #define __Pulsar_CalInterpreter_h
13 
14 #include "Pulsar/InterpreterExtension.h"
15 #include "Pulsar/Calibrator.h"
16 
17 #include "Pulsar/FscrunchInterpreter.h"
18 #include "Pulsar/PolnCalExtFreqIntegrate.h"
19 
20 #include "MEAL/Complex2.h"
21 
22 namespace Pulsar {
23 
24  class Database;
25  class PolnCalibrator;
26  class HybridCalibrator;
27  class FluxCalibrator;
28 
29  class CalInterpreter : public Interpreter::Extension {
30 
31  public:
32 
34  CalInterpreter ();
35 
37  ~CalInterpreter ();
38 
40  std::string backend (const std::string& arg);
41 
42  // calibrate the current top of the stack using the current state
43  std::string cal (const std::string& args);
44 
45  // flux calibrate the current top of the stack using the current state
46  std::string fluxcal (const std::string& args);
47 
49  std::string type (const std::string& args);
50 
52  std::string load (const std::string& arg);
53 
55  std::string match (const std::string& arg);
56 
58  std::string frontend (const std::string& arg);
59 
61  std::string set_gain (const std::string& arg);
62 
64  std::string fscrunch (const std::string& arg);
65 
66  protected:
67 
70 
72  Reference::To<Database> database;
73 
76 
78  Reference::To<HybridCalibrator> hybrid_calibrator;
79 
81  Reference::To<FluxCalibrator> flux_calibrator;
82 
84  Reference::To<MEAL::Complex2> transformation;
85 
87  FscrunchInterpreter<PolnCalExtFreqIntegrate> fscruncher;
88 
89  };
90 
91 }
92 
93 #endif
Type * get() const
void fscrunch(Container *, const ScrunchFactor &)
Integrate frequency channels.
Definition: ScrunchFactor.h:102
static bool normalize_weight_by_absolute_gain
When set, PolnProfile::transform will normalize the Profile::weight.
Definition: PolnProfile.h:39
void calibrate(Archive *archive)
Calibrate the Pulsar::Archive.
Definition: FrontendCorrection.C:72
Corrects the recorded properties of the frontend.
Definition: FrontendCorrection.h:31
Correct the backend convention.
Definition: BackendCorrection.h:28
const std::string get_message() const
Defines the PSRCHIVE library.
Definition: CalSource.h:17
Describes Database matching criteria.
Definition: Database.h:215
void set_sequence(Sequence s)
The sequence of matching calibrator and pulsar observations.
Definition: Database.h:223

Generated using doxygen 1.8.17