Diana Software
MNoiseCrossPowerSpectrum.hh
Go to the documentation of this file.
1 #ifndef _M_NOISECROSSPOWERSPECTRUM_HH_
2 #define _M_NOISECROSSPOWERSPECTRUM_HH_
3 
42 #include "QModule.hh"
43 #include "QFFT.hh"
44 #include "QChannelCovariance.hh"
45 #include <map>
46 
47 namespace Diana {class QRealComplexFFT;};
48 
49 class MNoiseCrossPowerSpectrum : public Diana::QModule {
50 
51  public:
52 
54  void Init(Diana::QEvent& ev);
55 
57  void Do(Diana::QEvent& ev, const Diana::QEventList& neighbours);
58 
60  void Done();
61 
62  private:
63  class ChannelInfo {
64  public:
65  Diana::QVectorC fCovariance;
66  size_t fNevents;
67  };
68 
70 
71  std::vector<int> fChannelList;
72 
73  size_t fTimeLength;
74  std::map<int,std::map<int,ChannelInfo> > fRosetta;
75  std::string fOutput;
76 
77  Diana::QFFT::WindowType fWindowType;
79  Diana::QRealComplexFFT* fTransformer;
80 
83  std::string fValidityKind;
84 
87 
90 
92  std::vector<int> fSRuns;
93 
95 
96 
97  std::vector<std::string> fPulseLabels;
98 
99 
100 };
101 
102 #endif
103 
compute cross correlated noise power spectrum on different channels. * This module needs side pulses ...
std::string fValidityKind
Validity kind defines the kind of validity range for covariance matrix (run or dataset)
void Init(Diana::QEvent &ev)
Init method.
void Do(Diana::QEvent &ev, const Diana::QEventList &neighbours)
Do method.
Diana::QRealComplexFFT * fTransformer
Diana::QFFT::WindowType fWindowType
std::map< int, std::map< int, ChannelInfo > > fRosetta
int fValidityEnd
Validity end last run (or dataset) of validity.
std::vector< std::string > fPulseLabels
int fValidityStart
Validity start first run (or dataset) of validity.
std::vector< int > fSRuns
vector of runs used for nps calculation
Complex covariance matrix of an array of bolometers.
Wrapper for a specific QRealComplexFFT algorithm class.
the Diana namespace is needed because sometimes we use Qt libraries, that use same class names of our...