source: branches/Mars_IncreaseNsb/mhft/MHexagonalFTCalc.h@ 18801

Last change on this file since 18801 was 6857, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 2.3 KB
Line 
1#ifndef MARS_MHexagonalFTCalc
2#define MARS_MHexagonalFTCalc
3
4#ifndef MARS_MTask
5#include "MTask.h"
6#endif
7#ifndef MARS_MHexagonalFT
8#include "MHexagonalFT.h"
9#endif
10#ifndef MARS_MArrayD
11#include "MArrayD.h"
12#endif
13
14class MArrayD;
15class MSignalCam;
16class MHexagonFreqSpace;
17
18class MHexagonalFTCalc : public MTask
19{
20private:
21 static const char *fgNameGeomCam; // Default name of used geometry
22 static const char *fgNameSignalCamIn; // Default name of used input MSignalCam
23 static const char *fgNameSignalCamOut; // Default name of used output MSignalCam
24
25 TString fNameGeomCam; // name of used geometry
26 TString fNameSignalCamIn; // name of used input MSignalCam
27 TString fNameSignalCamOut; // name of used output MSignalCam
28
29 MSignalCam *fEvtIn; // input MSignalCam
30 MSignalCam *fEvtOut; // output MSignalCam
31
32 MHexagonFreqSpace *fFreq1; //!
33 MHexagonFreqSpace *fFreq2; //!
34
35 Float_t fMaxAmplitude; // Maximum amplitude to cut
36 Float_t fMaxRowFraction; // Maximum fraction of rows (frequency space) to remove
37
38 Bool_t fSkipBwdTrafo; // flag whether backward trafo should be done
39
40 MHexagonalFT fHFT; // Fourier transformation
41
42 MArrayI fMap; //! Pixel mapping between space space and frequency space
43 MArrayD fOffset; //! Fourier transformation of a constant 1 for all 'valid' pixels
44
45 Int_t PreProcess(MParList *p);
46 Int_t Process();
47
48 void CleanFreqSpace(MArrayD &re, MArrayD &im);
49
50public:
51 MHexagonalFTCalc(const char *name=0, const char *title=0);
52
53 void SetSkipBwdTrafo(Bool_t b=kTRUE) { fSkipBwdTrafo=b; } // Don't do a backward transoformation
54
55 const MHexagonalFT &GetHFT() const { return fHFT; } // return the MHexagonalFT object used
56
57 void SetNameGeomCam(const char *n) { fNameGeomCam = n; } // name of camera geometry used
58 void SetNameSignalCamIn(const char *n) { fNameSignalCamIn = n; } // name of input MSignalCam used
59 void SetNameSignalCamOut(const char *n="") { fNameSignalCamOut = n; } // name of ouput MSignalCam used
60
61 void SetMaxAmplitude(Float_t max) { fMaxAmplitude=max; } // amplitude to cut at
62 void SetMaxRowFraction(Float_t max) { fMaxRowFraction=max; } // row (frequency) to cut at
63
64 ClassDef(MHexagonalFTCalc,0)//Task to calculate Hexagonal Fourier Transformation
65};
66
67#endif
Note: See TracBrowser for help on using the repository browser.