2 |
#define DIGITIZER_H |
#define DIGITIZER_H |
3 |
|
|
4 |
#include <iostream> |
#include <iostream> |
5 |
|
#include <istream> |
6 |
#include <fstream> |
#include <fstream> |
7 |
|
|
8 |
|
|
17 |
#include "TLeafI.h" |
#include "TLeafI.h" |
18 |
#include "TH1.h" |
#include "TH1.h" |
19 |
#include "TH2.h" |
#include "TH2.h" |
20 |
|
#include "TF1.h" |
21 |
#include "TMath.h" |
#include "TMath.h" |
22 |
#include "TSQLServer.h" |
#include "TSQLServer.h" |
23 |
// |
#include "TGraph.h" |
24 |
|
#include "GLTables.h" |
25 |
|
#include "TSystem.h" |
26 |
|
#include "TRandom.h" |
27 |
|
|
28 |
#include "CRC.h" |
#include "CRC.h" |
29 |
|
#include <CalibCalPedEvent.h> |
30 |
|
#include "CalibTrk1Event.h" |
31 |
|
#include "CalibTrk2Event.h" |
32 |
|
|
33 |
class Digitizer{ |
class Digitizer{ |
34 |
|
|
|
|
|
35 |
protected: |
protected: |
36 |
|
|
37 |
// in and output data members |
// in and output data members |
38 |
|
|
39 |
TTree* fhBookTree; |
TTree* fhBookTree; |
40 |
ofstream fOutputfile; |
ofstream fOutputfile; |
41 |
int nspe; |
int *nspe; |
42 |
int ntof; |
int *ntof; |
43 |
int ncat; |
int *ncat; |
44 |
int ncas; |
int *ncas; |
45 |
int ncar; |
int *ncar; |
46 |
int ncal; |
int *ncal; |
47 |
int nnd; |
int *nnd; |
48 |
int nstr; |
int *nstr; |
|
int *ntf; |
|
49 |
|
|
50 |
static const int fPSCUbuffer = 8; |
static const int fPSCUbuffer = 8; |
51 |
static const int fTRIGGERbuffer = 152; //(bytes) |
static const int fTRIGGERbuffer = 152; //(bytes) |
52 |
static const int fTOFbuffer = 276; //(bytes) |
static const int fTOFbuffer = 276; //(bytes) |
|
static const int fRunHeaderbuffer = 27; // ?? |
|
|
static const int fRunTrailerbuffer = 17; |
|
53 |
static const int fACbuffer = 128; |
static const int fACbuffer = 128; |
54 |
static const int fNDbuffer = 6; |
static const int fNDbuffer = 6; |
55 |
static const int fS4buffer = 3; |
static const int fS4buffer = 3; |
91 |
UShort_t fDataPadding[fPADbuffer]; |
UShort_t fDataPadding[fPADbuffer]; |
92 |
UInt_t fPadding; |
UInt_t fPadding; |
93 |
|
|
|
UShort_t fDataRunHeader[fRunHeaderbuffer]; |
|
|
UShort_t fDataRunTrailer[fRunTrailerbuffer]; |
|
|
|
|
94 |
UChar_t fDataTrigger[fTRIGGERbuffer]; |
UChar_t fDataTrigger[fTRIGGERbuffer]; |
95 |
UChar_t fDataTof[fTOFbuffer]; |
UChar_t fDataTof[fTOFbuffer]; |
96 |
|
|
148 |
Int_t Nthtof; |
Int_t Nthtof; |
149 |
UChar_t *Ipltof; |
UChar_t *Ipltof; |
150 |
UChar_t *Ipaddle; |
UChar_t *Ipaddle; |
151 |
// UChar_t *Ipartof;//DPMJET |
// UChar_t *Ipartof;//DPMJET |
152 |
UShort_t *Ipartof; |
UShort_t *Ipartof; |
153 |
Float_t *Xintof; |
Float_t *Xintof; |
154 |
Float_t *Yintof; |
Float_t *Yintof; |
188 |
Float_t *P0cas; |
Float_t *P0cas; |
189 |
Int_t Nthspe; |
Int_t Nthspe; |
190 |
// UChar_t *Iparspe;//DPMJET |
// UChar_t *Iparspe;//DPMJET |
191 |
UShort_t *Iparspe; |
// UShort_t *Iparspe; |
192 |
UChar_t *Itrpb; |
UChar_t *Itrpb; |
193 |
UChar_t *Itrsl; |
UChar_t *Itrsl; |
194 |
UChar_t *Itspa; |
UChar_t *Itspa; |
379 |
TBranch *b_Pathcard; //! |
TBranch *b_Pathcard; //! |
380 |
TBranch *b_P0card; //! |
TBranch *b_P0card; //! |
381 |
// |
// |
382 |
|
TF1 *attenAC; |
383 |
public: |
public: |
384 |
|
|
385 |
Digitizer(TTree *tree, char* &file_raw,int nspe=200,int ntof=200,int ncat=50,int ncas=50,int ncar=100,int ncal=1000,int nnd=200,int nstr=1000); // constructor |
Digitizer(TTree*,char*&,int,int,int,int,int,int,int,int); // constructor |
386 |
|
|
387 |
void Close(); |
void Close(); |
388 |
void SetTree(TTree *tree) {fhBookTree = tree;}; |
void SetTree(TTree *tree) {fhBookTree = tree;}; |
390 |
|
|
391 |
void DigitizePSCU(UInt_t, UChar_t, UShort_t*); // digitizes the CPU header |
void DigitizePSCU(UInt_t, UChar_t, UShort_t*); // digitizes the CPU header |
392 |
void AddPadding(); |
void AddPadding(); |
|
void DigitizeRunHeader(); |
|
|
void DigitizeRunTrailer(); |
|
|
// void DigitizeTRIGGER(); // SO nov'07: included in DigitizeTOF |
|
393 |
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 |
394 |
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 |
395 |
void DigitizeAC(); // digitizes the anti-counter |
void DigitizeAC(); // digitizes the anti-counter |
433 |
Float_t SaturationTracky(Float_t ADC); // Saturation simulation |
Float_t SaturationTracky(Float_t ADC); // Saturation simulation |
434 |
// end methods for Tracker |
// end methods for Tracker |
435 |
|
|
|
void WriteRunHeader(); |
|
|
void WriteRunTrailer(); |
|
436 |
void WriteData(); // writes data to file |
void WriteData(); // writes data to file |
437 |
void ReadData(); |
void ReadData(); |
438 |
|
|