Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef __THCBCMCURRENT_H__
#define __THCBCMCURRENT_H__
#include "THaPhysicsModule.h"
#include "THaEvData.h"
#include "VarDef.h"
#include "VarType.h"
#include <iostream>
#include <map>
class THcBCMCurrent : public THaPhysicsModule {
public:
THcBCMCurrent(const char* name, const char* description);
virtual ~THcBCMCurrent();
virtual EStatus Init( const TDatime& date);
virtual Int_t Process( const THaEvData& );
void SetCurrentCut(Double_t _threshold){ fThreshold = _threshold; }
private:
Int_t fNscaler;
Double_t fThreshold;
Double_t* fiBCM1;
Double_t* fiBCM2;
Double_t* fiBCM4a;
Double_t* fiBCM4b;
Double_t* fiBCM17;
Int_t* fEvtNum;
Int_t fBCM1flag;
Int_t fBCM2flag;
Double_t fBCM1avg;
Double_t fBCM2avg;
Double_t fBCM4aavg;
Double_t fBCM4bavg;
Double_t fBCM17avg;
struct BCMInfo{
Double_t bcm1_current;
Double_t bcm2_current;
Double_t bcm4a_current;
Double_t bcm4b_current;
Double_t bcm17_current;
};
Int_t GetAvgCurrent( Int_t fevn, BCMInfo &bcminfo );
virtual Int_t ReadDatabase( const TDatime& date);
virtual Int_t DefineVariables( EMode mode = kDefine );
std::map<Int_t, BCMInfo> BCMInfoMap;
ClassDef(THcBCMCurrent, 0)
};
#endif