BmnRoot
Loading...
Searching...
No Matches
BmnECALRaw2Digit.h
Go to the documentation of this file.
1#ifndef BMNECALRAW2DIGIT_H
2#define BMNECALRAW2DIGIT_H
3
4#include <cstdlib>
5#include <iostream>
6
7#include <TGraph.h>
8
9#include "TString.h"
10#include "TClonesArray.h"
11#include "BmnADCDigit.h"
12#include "BmnECALDigit.h"
13
14#define MAX_ECAL_CHANNELS 1024
15
17{
18 public:
20 BmnECALRaw2Digit(ULong_t runId);
21 BmnECALRaw2Digit(const char * map_file_name, const char * calibr_file_name, const char * geo_file_name);
22 virtual ~BmnECALRaw2Digit() {}
23
24 void print();
25
26 Bool_t LoadAdcMap(const char * map_file_name);
27 Bool_t LoadCalibration(const char * calibr_file_name);
28 Bool_t LoadGeometry(const char * geo_file_name);
29
30 void fillEvent(TClonesArray *data, TClonesArray *ecaldigit);
31
32private:
33 BmnECALMapElement fECALMapArray[MAX_ECAL_CHANNELS+1];
34
35 struct {
36 Int_t sample0;
37 Int_t samples;
38 Float_t min;
39 Float_t max;
40 void Print() { printf("sample0=%d, samples=%d, min=%g, max=%g\n",sample0,samples,min,max); }
41 } fPedestal = {0,8,-30.,30.}, fSignal = {15,20,-5e4,-50.};
42
43 Bool_t UseNovosibirskFit(BmnADCDigit* digit, Int_t chan, TClonesArray *ecaldigit);
44
45 static Double_t Novosibirsk(Double_t* x, Double_t* p);
46
47 ClassDef(BmnECALRaw2Digit, 3);
48};
49
50#endif /* BMNECALRAW2DIGIT_H */
virtual ~BmnECALRaw2Digit()
void fillEvent(TClonesArray *data, TClonesArray *ecaldigit)
Bool_t LoadCalibration(const char *calibr_file_name)
Bool_t LoadGeometry(const char *geo_file_name)
Bool_t LoadAdcMap(const char *map_file_name)
#define MAX_ECAL_CHANNELS