source: trunk/Mars/msignal/MFilterData.h@ 18151

Last change on this file since 18151 was 17872, checked in by tbretz, 11 years ago
Modified the interface to allow to process external daata as well.
File size: 1.0 KB
Line 
1#ifndef MARS_MFilterData
2#define MARS_MFilterData
3
4#include<vector>
5
6#ifndef MARS_MTask
7#include "MTask.h"
8#endif
9
10class MPedestalSubtractedEvt;
11
12class MFilterData : public MTask
13{
14private:
15 MPedestalSubtractedEvt *fSignalIn; //! Input container
16 MPedestalSubtractedEvt *fSignalOut; //! Output container
17
18 TString fNameSignalIn;
19 TString fNameSignalOut;
20
21 std::vector<float> fWeights;
22
23 Int_t PreProcess(MParList *pList);
24 //Bool_t ReInit(MParList *pList);
25 Int_t Process();
26
27public:
28 MFilterData(const char *name=NULL, const char *title=NULL);
29
30 void SetNameSignalIn(const char *name="MPedestalSubtractedEvt") { fNameSignalIn=name; }
31 void SetNameSignalOut(const char *name="MPedestalSubtractedEvt") { fNameSignalOut=name; }
32
33 void SetWeights(const std::vector<float> &w) { fWeights = w; }
34 void SetAverage(const UInt_t n) { fWeights.assign(n, 1./n); }
35
36 void Filter(UShort_t npix, UShort_t nroi, const Float_t *beg, Float_t *out) const;
37
38 ClassDef(MFilterData, 0) // Class to filter the calibrated data
39};
40
41#endif
Note: See TracBrowser for help on using the repository browser.