3 #ifndef SZA_ANTENNA_CORBA_ASTROBANDLISTENER_H
4 #define SZA_ANTENNA_CORBA_ASTROBANDLISTENER_H
16 #include "carma/correlator/lib/CorrelatorBand.h"
29 class AstroBandGather;
31 class AstroBandListener :
public sza::util::RunnableTask,
37 AstroBandListener(AstroBandGatherer* parent,
40 sza::util::NetMonitorFrame* nmf,
42 double coherenceLevelThreshold=0.0,
43 double coherenceMjdThreshold=0.0);
47 virtual ~AstroBandListener();
49 void initialize(AstroBandGatherer* parent,
52 sza::util::NetMonitorFrame* nmf,
54 double coherenceLevelThreshold=0.0,
55 double coherenceMjdThreshold=0.0);
61 void setupRegisterPointers(sza::util::NetMonitorFrame* nmf);
67 void incrementBufferCounters();
69 void clearCoherenceBuffers();
71 void packCoherence(
double mjd,
75 std::vector<float>& coherence,
76 std::vector<sza::util::Complex<float>::Data>& avg,
77 std::vector<sza::util::Complex<float>::Data>& avgSum,
78 std::vector<std::vector<sza::util::Complex<float>::Data> >& avgSamples,
79 std::vector<double>& mjdLastCoherence,
80 std::vector<unsigned char>& isCoherent,
81 std::vector<float>& antCoherence,
82 std::vector<unsigned>& nBaseline,
83 bool printDebug=
false);
87 bool coherenceMonitor_;
88 std::vector<SzaMonitorSystemReg> regs_;
89 AstroBandGatherer* parent_;
92 unsigned astroBandNo_;
98 std::map<unsigned int, std::map<unsigned int, unsigned int> > crossBaselineIndex_;
100 std::vector<float> usbAmplitude_;
101 std::vector<float> lsbAmplitude_;
103 std::vector<float> usbAvgAmplitude_;
104 std::vector<float> lsbAvgAmplitude_;
106 std::vector<float> lsbFrequencyGHz_;
107 std::vector<float> usbFrequencyGHz_;
108 std::vector<float> autoFrequencyGHz_;
110 std::vector<sza::util::Complex<float>::Data> usbAvg_;
111 std::vector<sza::util::Complex<float>::Data> lsbAvg_;
112 std::vector<sza::util::Complex<float>::Data> usbVar_;
113 std::vector<sza::util::Complex<float>::Data> lsbVar_;
115 std::vector<float> autoAvg_;
116 std::vector<float> autoVar_;
117 std::vector<float> auto_;
119 std::vector<sza::util::Complex<float>::Data> usb_;
120 std::vector<sza::util::Complex<float>::Data> lsb_;
124 std::vector<float> usbCoherence_;
125 std::vector<float> lsbCoherence_;
127 std::vector<float> usbAntCoherence_;
128 std::vector<float> lsbAntCoherence_;
130 std::vector<unsigned> usbNBaseline_;
131 std::vector<unsigned> lsbNBaseline_;
133 std::vector<sza::util::Complex<float>::Data> usbAvgSum_;
134 std::vector<sza::util::Complex<float>::Data> lsbAvgSum_;
135 std::vector<std::vector<sza::util::Complex<float>::Data > > usbAvgSamples_;
136 std::vector<std::vector<sza::util::Complex<float>::Data > > lsbAvgSamples_;
137 std::vector<double> usbMjdLastCoherence_;
138 std::vector<double> lsbMjdLastCoherence_;
139 std::vector<unsigned char> usbIsCoherent_;
140 std::vector<unsigned char> lsbIsCoherent_;
141 double coherenceLevelThreshold_;
142 double coherenceMjdThreshold_;
150 void writeData(
double mjd, std::string abName);
160 #endif // End #ifndef SZA_ANTENNA_CORBA_ASTROBANDLISTENER_H
Class used to represents bands of Correlator Data.
Abstract base class for listener called back by CorbaCorrConsumer.
Tagged: Fri Jan 26 17:59:28 NZDT 2007.
Tagged: Fri Aug 12 17:24:16 PDT 2011.
Tagged: Tue Oct 12 10:25:49 PDT 2004.
Base class for Correlator Sideband data.