source: trunk/MagicSoft/Mars/mjobs/MJExtractCalibTest.h@ 4693

Last change on this file since 4693 was 4658, checked in by gaug, 20 years ago
*** empty log message ***
File size: 2.7 KB
Line 
1#ifndef MARS_MJExtractCalibTest
2#define MARS_MJExtractCalibTest
3
4#ifndef MARS_MCalibrationTestCam
5#include "MCalibrationTestCam.h"
6#endif
7#ifndef MARS_MHCalibrationTestTimeCam
8#include "MHCalibrationTestTimeCam.h"
9#endif
10#ifndef MARS_MPedPhotCam
11#include "MPedPhotCam.h"
12#endif
13#ifndef MARS_MBadPixelsCam
14#include "MBadPixelsCam.h"
15#endif
16
17class MRunIter;
18class MParList;
19class MPedestalCam;
20class MCalibrationRelTimeCam;
21class MCalibrationChargeCam;
22class MCalibrationQECam;
23class MExtractor;
24class MExtractTime;
25class MJExtractCalibTest : public MParContainer
26{
27private:
28
29 TString fOutputPath;
30 Bool_t fUseCosmicsFilter;
31
32 MRunIter *fRuns; // Data files
33 MExtractor *fExtractor; // Signal extractor
34 MExtractTime *fTimeExtractor; // Arrival time extractor
35
36 MBadPixelsCam fBadPixels;
37 MCalibrationTestCam fTestCam;
38 MHCalibrationTestTimeCam fTestTimeCam;
39 MPedPhotCam fPedPhotCam;
40
41 enum Display_t // Possible Display types
42 {
43 kDataCheckDisplay,
44 kNormalDisplay
45 };
46
47 Display_t fDisplayType; // Chosen Display type
48
49 Bool_t ReadPedPhotCam();
50
51 void DisplayResult(MParList &plist);
52 void DisplayResultT(MParList &plist);
53
54 Bool_t WriteResultD();
55 Bool_t WriteResultT();
56
57 Bool_t ProcessFileD(MPedestalCam &pedcam, MCalibrationChargeCam &calcam, MCalibrationQECam &qecam);
58 Bool_t ProcessFileT(MPedestalCam &pedcam, MCalibrationRelTimeCam &relcam);
59
60public:
61 MJExtractCalibTest(const char *name=NULL, const char *title=NULL);
62
63 void SetInput(MRunIter *iter) { fRuns = iter; }
64 void SetOutputPath(const char *path=".");
65
66 const char* GetOutputFile() const;
67
68 MCalibrationTestCam &GetTestCam() { return fTestCam; }
69 MHCalibrationTestTimeCam &GetTestTimeCam() { return fTestTimeCam; }
70 MPedPhotCam &GetPedPhotCam() { return fPedPhotCam; }
71 const MBadPixelsCam &GetBadPixels() const { return fBadPixels; }
72
73 void SetExtractor(MExtractor* ext) { fExtractor = ext; }
74 void SetTimeExtractor(MExtractTime* ext) { fTimeExtractor = ext; }
75 void SetBadPixels(const MBadPixelsCam &bad) { bad.Copy(fBadPixels); }
76 void SetUseCosmicsFilter( const Bool_t b ) { fUseCosmicsFilter = b; }
77
78 // Displays
79 void SetDataCheckDisplay() { fDisplayType = kDataCheckDisplay; }
80 void SetNormalDisplay() { fDisplayType = kNormalDisplay; }
81
82 Bool_t ProcessD(MPedestalCam &pedcam, MCalibrationChargeCam &calcam, MCalibrationQECam &qecam);
83 Bool_t ProcessT(MPedestalCam &pedcam, MCalibrationRelTimeCam &relcam);
84
85 ClassDef(MJExtractCalibTest, 0) // Tool to extract, calibrate and test the signal
86};
87
88#endif
Note: See TracBrowser for help on using the repository browser.