2 |
#define DIGITIZER_H |
#define DIGITIZER_H |
3 |
|
|
4 |
#include <iostream> |
#include <iostream> |
5 |
|
#include <istream> |
6 |
#include <fstream> |
#include <fstream> |
7 |
|
|
8 |
|
|
46 |
int *ncal; |
int *ncal; |
47 |
int *nnd; |
int *nnd; |
48 |
int *nstr; |
int *nstr; |
49 |
|
int *comprcalomod; |
50 |
|
|
51 |
static const int fPSCUbuffer = 8; |
static const int fPSCUbuffer = 8; |
52 |
static const int fTRIGGERbuffer = 152; //(bytes) |
static const int fTRIGGERbuffer = 152; //(bytes) |
53 |
static const int fTOFbuffer = 276; //(bytes) |
static const int fTOFbuffer = 276; //(bytes) |
|
static const int fRunHeaderbuffer = 27; // ?? |
|
|
static const int fRunTrailerbuffer = 17; |
|
54 |
static const int fACbuffer = 128; |
static const int fACbuffer = 128; |
55 |
static const int fNDbuffer = 6; |
static const int fNDbuffer = 6; |
56 |
static const int fS4buffer = 3; |
static const int fS4buffer = 3; |
92 |
UShort_t fDataPadding[fPADbuffer]; |
UShort_t fDataPadding[fPADbuffer]; |
93 |
UInt_t fPadding; |
UInt_t fPadding; |
94 |
|
|
|
UShort_t fDataRunHeader[fRunHeaderbuffer]; |
|
|
UShort_t fDataRunTrailer[fRunTrailerbuffer]; |
|
|
|
|
95 |
UChar_t fDataTrigger[fTRIGGERbuffer]; |
UChar_t fDataTrigger[fTRIGGERbuffer]; |
96 |
UChar_t fDataTof[fTOFbuffer]; |
UChar_t fDataTof[fTOFbuffer]; |
97 |
|
|
104 |
UShort_t fSecCalo[4]; |
UShort_t fSecCalo[4]; |
105 |
UShort_t fSecCALOLength[4]; |
UShort_t fSecCALOLength[4]; |
106 |
UShort_t fCALOlength; |
UShort_t fCALOlength; |
107 |
UShort_t fModCalo; |
UShort_t fModCalo ; // 0 is RAW, 1 is COMPRESS, 2 is FULL |
108 |
Float_t fCalomip[2][22][96]; // ADC to MIP conversion values |
Float_t fCalomip[2][22][96]; // ADC to MIP conversion values |
109 |
Float_t fcalped[4][11][96]; // pedestals |
Float_t fcalped[4][11][96]; // pedestals |
110 |
Float_t fcalgood[4][11][96]; // used or not in the common noise calculation |
Float_t fcalgood[4][11][96]; // used or not in the common noise calculation |
119 |
char* fFilename; |
char* fFilename; |
120 |
UInt_t fLen; |
UInt_t fLen; |
121 |
|
|
122 |
|
UInt_t fEvent ; // cecilia, current evt nr |
123 |
|
|
124 |
|
|
125 |
// vectors, buffer, and variables for tracker |
// vectors, buffer, and variables for tracker |
384 |
TF1 *attenAC; |
TF1 *attenAC; |
385 |
public: |
public: |
386 |
|
|
387 |
Digitizer(TTree*,char*&,int,int,int,int,int,int,int,int); // constructor |
Digitizer(TTree*,char*&,int,int,int,int,int,int,int,int,int); // constructor |
388 |
|
|
389 |
void Close(); |
void Close(); |
390 |
void SetTree(TTree *tree) {fhBookTree = tree;}; |
void SetTree(TTree *tree) {fhBookTree = tree;}; |
392 |
|
|
393 |
void DigitizePSCU(UInt_t, UChar_t, UShort_t*); // digitizes the CPU header |
void DigitizePSCU(UInt_t, UChar_t, UShort_t*); // digitizes the CPU header |
394 |
void AddPadding(); |
void AddPadding(); |
|
void DigitizeRunHeader(); |
|
|
void DigitizeRunTrailer(); |
|
|
// void DigitizeTRIGGER(); // SO nov'07: included in DigitizeTOF |
|
395 |
void DigitizeTOF(int np,float *atte1,float *atte2,float *lambda1,float *lambda2); // digitizes the tof |
void DigitizeTOF(int np,float *atte1,float *atte2,float *lambda1,float *lambda2); // digitizes the tof |
396 |
void LoadTOFCalib(int np,float *atte1,float *atte2,float *lambda1,float *lambda2); //load TOF calibration |
void LoadTOFCalib(int np,float *atte1,float *atte2,float *lambda1,float *lambda2); //load TOF calibration |
397 |
void DigitizeAC(); // digitizes the anti-counter |
void DigitizeAC(); // digitizes the anti-counter |
435 |
Float_t SaturationTracky(Float_t ADC); // Saturation simulation |
Float_t SaturationTracky(Float_t ADC); // Saturation simulation |
436 |
// end methods for Tracker |
// end methods for Tracker |
437 |
|
|
438 |
void WriteRunHeader(); |
// AC Methods |
439 |
void WriteRunTrailer(); |
UShort_t EvaluateCrcAC( UShort_t* , Bool_t ); |
440 |
|
UShort_t crcAC(UShort_t, UShort_t); |
441 |
|
|
442 |
|
|
443 |
void WriteData(); // writes data to file |
void WriteData(); // writes data to file |
444 |
void ReadData(); |
void ReadData(); |
445 |
|
|