source: trunk/MagicSoft/Mars/mhft/MHexagonalFTCalc.h@ 6544

Last change on this file since 6544 was 5691, 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 MCerPhotEvt;
16class MHexagonFreqSpace;
17
18class MHexagonalFTCalc : public MTask
19{
20private:
21 static const char *fgNameGeomCam; // Default name of used geometry
22 static const char *fgNameCerPhotEvtIn; // Default name of used input MCerPhotEvt
23 static const char *fgNameCerPhotEvtOut; // Default name of used output MCerPhotEvt
24
25 TString fNameGeomCam; // name of used geometry
26 TString fNameCerPhotEvtIn; // name of used input MCerPhotEvt
27 TString fNameCerPhotEvtOut; // name of used output MCerPhotEvt
28
29 MCerPhotEvt *fEvtIn; // input MCerPhotEvt
30 MCerPhotEvt *fEvtOut; // output MCerPhotEvt
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 SetNameCerPhotEvtIn(const char *n) { fNameCerPhotEvtIn = n; } // name of input MCerPhotEvt used
59 void SetNameCerPhotEvtOut(const char *n="") { fNameCerPhotEvtOut = n; } // name of ouput MCerPhotEvt 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.