source: trunk/FACT++/src/DataCalib.h@ 14000

Last change on this file since 14000 was 14000, checked in by tbretz, 12 years ago
Exchanged the enum definitions for the cfitsio based fits format and our fits format; replaced the cfitsio based on with the new one in DataCalib.
File size: 1.7 KB
Line 
1#ifndef FACT_DataCalib
2#define FACT_DataCalib
3
4#include "DataWriteFits2.h"
5#include "externals/DrsCalib.h"
6
7class DimDescribedService;
8
9using namespace std;
10
11class DataCalib : public DataWriteFits2, public DrsCalibrate
12{
13 static DrsCalibration fData;
14
15 static std::vector<float> fStats; /// Storage for mean and rms values
16
17 /// State of the DRS calibration: Positiove numbers mean that
18 /// we are in a run, negative mean that it is closed
19 static bool fProcessing;
20
21 DimDescribedService &fDim; // DimService through which statistics updates are transmitted
22 DimDescribedService &fDimRuns; // DimService through which statistics updates are transmitted
23
24// uint16_t fDAC[8];
25
26 void WriteFits();
27
28 int GetDrsStep() const { return fData.fStep; }
29
30public:
31 DataCalib(const std::string &path, uint32_t id, DimDescribedService &dim, DimDescribedService &runs, MessageImp &imp) : DataWriteFits2(path, id, imp), fDim(dim), fDimRuns(runs)
32 {
33 }
34
35 static void Restart();
36 static bool ResetTrgOff(DimDescribedService &dim, DimDescribedService &runs);
37 static void Update(DimDescribedService &dim, DimDescribedService &runs);
38
39 bool Open(const RUN_HEAD* h, const FAD::RunDescription &d);
40 bool WriteEvt(EVENT *e);
41 bool Close(RUN_TAIL * = 0);
42
43 //static void Apply(int16_t *val, const int16_t *start, uint32_t roi);
44 static void Apply(float *vec, int16_t *val, const int16_t *start, uint32_t roi)
45 {
46 fData.Apply(vec, val, start, roi);
47 }
48
49 static bool ReadFits(const string &fname, MessageImp &msg);
50
51 static bool IsValid() { return fData.IsValid(); }
52 static int GetStep() { return fData.fStep; }
53};
54
55#endif
Note: See TracBrowser for help on using the repository browser.