1 |
#ifndef PAMVMC_CALO_DIG_H |
2 |
#define PAMVMC_CALO_DIG_H |
3 |
|
4 |
#include "PamVMCDigitizer.h" |
5 |
|
6 |
|
7 |
|
8 |
using std::cout; |
9 |
using std::endl; |
10 |
|
11 |
class PamVMCCaloDig : public PamVMCDigitizer { |
12 |
|
13 |
Float_t fCalomip[2][22][96]; // ADC to MIP conversion values |
14 |
Float_t fcalped[4][11][96]; // pedestals |
15 |
Float_t fcalgood[4][11][96]; // used or not in the common noise calculation |
16 |
Float_t fcalthr[4][11][6]; // thresholds |
17 |
Float_t fcalrms[4][11][96]; // rms |
18 |
Float_t fcalbase[4][11][6]; // baselines (common noise) during calibration |
19 |
Float_t fcalvar[4][11][6]; // variance |
20 |
Float_t fcstwerr[4]; // status word |
21 |
Float_t fcperror[4]; // unpacking error flag |
22 |
|
23 |
UShort_t fSecCalo[4]; |
24 |
UShort_t fSecCaloLength[4]; |
25 |
|
26 |
TClonesArray * fhc; |
27 |
|
28 |
void ClearCaloCalib(Int_t s); |
29 |
|
30 |
Int_t CaloLoadCalib(Int_t s,TString calname, UInt_t calibno); |
31 |
|
32 |
void DigitizeCALOCALIB(); |
33 |
|
34 |
void FillCalPedNorm(USBuffer *buff, Int_t sec); |
35 |
void FillCalPedBack(USBuffer *buff, Int_t sec); |
36 |
void FillCalThrNorm(USBuffer *buff, Int_t sec); |
37 |
void FillCalThrBack(USBuffer *buff, Int_t sec); |
38 |
void FillCalRmsNorm(USBuffer *buff, Int_t sec); |
39 |
void FillCalRmsBack(USBuffer *buff, Int_t sec); |
40 |
void FillCalBaseVarNorm(USBuffer *buff, Int_t sec); |
41 |
void FillCalBaseVarBack(USBuffer *buff, Int_t sec); |
42 |
|
43 |
Float_t GetCaloErel(Int_t sec, Int_t plane, Int_t strip); |
44 |
|
45 |
void DigitizeCaloRaw(); |
46 |
void DigitizeCaloCompress(); |
47 |
void DigitizeCaloFull(); |
48 |
|
49 |
public: |
50 |
|
51 |
PamVMCCaloDig():PamVMCDigitizer("Calo"){; } |
52 |
|
53 |
|
54 |
virtual ~PamVMCCaloDig(){ if(fhc) delete fhc;} |
55 |
|
56 |
|
57 |
void LoadCalib(); |
58 |
|
59 |
void Digitize(); |
60 |
|
61 |
|
62 |
|
63 |
ClassDef(PamVMCCaloDig,1) |
64 |
}; |
65 |
|
66 |
|
67 |
#endif //PAMVMC_CALO_DIG_H |