BPSRCrossUnpacker.h
1 //-*-C++-*-
2 /***************************************************************************
3  *
4  * Copyright (C) 2008-2014 by Willem van Straten & Andrew Jameson
5  * Licensed under the Academic Free License version 2.1
6  *
7  ***************************************************************************/
8 
9 #ifndef __BPSRCrossUnpacker_h
10 #define __BPSRCrossUnpacker_h
11 
12 #include "dsp/HistUnpacker.h"
13 
14 namespace dsp
15 {
16 
18  class BPSRCrossUnpacker : public HistUnpacker
19  {
20 
21  public:
22 
24  BPSRCrossUnpacker (const char* name = "BPSRCrossUnpacker");
25 
27  bool set_output_ppqq ();
28 
29  protected:
30 
32  virtual void unpack ();
33 
35  virtual bool get_order_supported (TimeSeries::Order) const;
36 
38  virtual void set_output_order (TimeSeries::Order);
39 
41  virtual bool matches (const Observation* observation);
42 
43  unsigned get_output_ichan (unsigned idig) const;
44  unsigned get_output_ipol (unsigned idig) const;
45 
46  float gain_polx;
47  float gain_pol1;
48  float gain_pol2;
49  unsigned ppqq_bw;
50 
51  private:
52 
53  float reference_gain;
54 
55  float ppqq_scale[2];
56 
57  float pq_scale;
58 
59  private:
60 
61  bool unpack_ppqq_only;
62 
63  };
64 
65 }
66 
67 #endif // !defined(__BPSRCrossUnpacker_h)
virtual bool get_order_supported(TimeSeries::Order) const
Return true; support any output order.
Definition: BPSRCrossUnpacker.C:34
Bit unpacker that keeps a histogram and optimal statistics.
Definition: HistUnpacker.h:25
Pure virtual base class of all objects that can load BitSeries data.
Definition: Input.h:31
Contains all Baseband Data Reduction Library classes.
Definition: ASCIIObservation.h:17
virtual Observation * get_info()
Get the information about the data source.
Definition: Input.h:113
unsigned get_ndim() const
Return the dimension of each datum.
Definition: Observation.h:80
Signal::State get_state() const
Return the state of the signal.
Definition: Observation.h:70
unsigned get_nbit() const
Return the number of bits per value.
Definition: Observation.h:95
Order
Order of the dimensions.
Definition: TimeSeries.h:39
unsigned get_output_ipol(unsigned idig) const
Definition: BPSRCrossUnpacker.C:81
bool set_output_ppqq()
only unpack PP & QQ inputs
Definition: BPSRCrossUnpacker.C:45
std::string name
Operation name.
Definition: Operation.h:153
unsigned get_npol() const
Return the number of polarizations.
Definition: Observation.h:90
Stores information about digital, band-limited, time-varying signals.
Definition: Observation.h:33
unsigned get_output_ichan(unsigned idig) const
Definition: BPSRCrossUnpacker.C:87
virtual void set_output_order(TimeSeries::Order)
Set the order of the dimensions in the output TimeSeries.
Definition: BPSRCrossUnpacker.C:40
virtual void unpack()
The unpacking routine.
Definition: BPSRCrossUnpacker.C:92
Parses Observation attributes from an ASCII header.
Definition: ASCIIObservation.h:29
std::string get_machine() const
Return the instrument used to record signal.
Definition: Observation.h:194
virtual bool matches(const Observation *observation)
Return true if we can convert the Observation.
Definition: BPSRCrossUnpacker.C:54
@ OrderFPT
Frequency, Polarization, Time (default before 3 October 2008)
Definition: TimeSeries.h:47
@ OrderTFP
Time, Frequency, Polarization (better for many things)
Definition: TimeSeries.h:50
BPSRCrossUnpacker(const char *name="BPSRCrossUnpacker")
Constructor.
Definition: BPSRCrossUnpacker.C:17

Generated using doxygen 1.8.17