Diana Software
MNoiseFrequencyCoherence.hh
Go to the documentation of this file.
1 #ifndef _M_NOISEFREQUENCYCOHERENCE_HH_
2 #define _M_NOISEFREQUENCYCOHERENCE_HH_
3 
45 #include "QModule.hh"
46 #include "QAverageVectorC.hh"
47 #include "QVectorC.hh"
48 #include "QRealComplexFFT.hh"
49 #include <map>
50 
51 
52 
53 class MNoiseFrequencyCoherence : public Diana::QModule {
54 
55  public:
56 
58  void Init(Diana::QEvent& ev);
59 
61  void Do(Diana::QEvent& ev, const Diana::QEventList& neighbours);
62 
64  void Done();
65 
66  class ChannelInfo {
67  public:
68  Diana::QVectorC fCovariance;
69  Diana::QVector fPowerB;
70  Diana::QVector fPower;
72  Diana::QRealComplexFFT* fTransformer;
73  };
74 
75 
76  private:
77  int Transform(Diana::QRealComplexFFT* transformer, const Diana::QVector& in, Diana::QVectorC& out);
78 
79 
80  std::map<int,ChannelInfo > fChannelInfos;
81  std::string fOutput;
82 
83  Diana::QFFT::WindowType fWindowType;
85 
86 
88  std::string fValidityKind;
89 
92 
95 
96 
98  std::vector<int> fSRuns;
99 
101  std::string fPulseLabel;
102 
103 
104 
105 };
106 
107 #endif
108 
compute correlation between different frequencies
std::map< int, ChannelInfo > fChannelInfos
int fValidityEnd
Validity end last run (or dataset) of validity.
std::string fValidityKind
Validity kind defines the kind of validity range for covariance matrix (run or dataset)
Diana::QFFT::WindowType fWindowType
void Init(Diana::QEvent &ev)
Init method.
void Do(Diana::QEvent &ev, const Diana::QEventList &neighbours)
Do method. Declare and implement only one of the two versions.
int fValidityStart
Validity start first run (or dataset) of validity.
std::vector< int > fSRuns
vector of runs used for nps calculation
int Transform(Diana::QRealComplexFFT *transformer, const Diana::QVector &in, Diana::QVectorC &out)