RFSignal.h
1 #ifndef RFSIGNAL_H
2 #define RFSIGNAL_H
3 #include "TGraph.h"
4 #include "FFTWComplex.h"
5 
6 class RFFilter;
7 
9 
12 class RFSignal : public TGraph {
13 public:
14  RFSignal();
15  RFSignal(TGraph *grWave, Int_t mvNs=0);
16  RFSignal(RFSignal *rfWave);
17  RFSignal(Int_t numPoints,const Double_t *tVals, const Double_t *vVals, Int_t mvNs=0);
18  RFSignal(Int_t numFreqs, const Double_t *freqVals, const FFTWComplex *complexNums, Int_t mvNs=0);
19  ~RFSignal();
20 
21  TGraph *getFreqMagGraph();
22  Double_t *getFreqs();
23  Double_t *getMags();
24  Double_t *getPhases();
25  void setFreqs(Int_t nfreq, Double_t *freqs);
26  void setMagsPhases(Double_t *mags, Double_t *phases);
27  FFTWComplex *getComplexNums();
28  Int_t getNumFreqs();
29  void addToSignal(RFSignal *grSignal);
30  void applyFilter(RFFilter *theFilter);
31  void updateTimeDomain();//because we could operate on freq domain once it has already been extracted!
32 
33  private:
34  void fillFreqStuff();
35  void extractFromComplex();
36  void reExtractFromComplex();
37  Int_t fGotFreqs;
38  Int_t fNumFreqs;
39  Int_t fMvNs;
40  Double_t *fFreqs; //[fNumFreqs]
41  Double_t *fMags; //[fNumFreqs]
42  Double_t *fPhases; //[fNumFreqs]
43  FFTWComplex *fComplexNums; //[fNumFreqs]
44 
45 ClassDef(RFSignal,2)
46 
47 };
48 
49 #endif // RFSIGNAL_H
~RFSignal()
Destructor.
Definition: RFSignal.cxx:86
This is a wrapper class for an RF Signal.
Definition: RFSignal.h:12
This is a wrapper class for a complex number.
Definition: FFTWComplex.h:12
RFSignal()
Default constructor.
Definition: RFSignal.cxx:8