/[PAMELA software]/PamelaDigitizer/Digitizer.h
ViewVC logotype

Diff of /PamelaDigitizer/Digitizer.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by pamelats, Sun Jun 8 06:33:45 2008 UTC revision 1.14 by pizzolot, Fri Nov 13 09:08:54 2009 UTC
# Line 2  Line 2 
2  #define DIGITIZER_H  #define DIGITIZER_H
3    
4  #include <iostream>  #include <iostream>
5    #include <istream>
6  #include <fstream>  #include <fstream>
7    
8    
# Line 16  Line 17 
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;
49      int *ntf;      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;
# Line 86  class Digitizer{ Line 92  class Digitizer{
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    
# Line 101  class Digitizer{ Line 104  class Digitizer{
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
# Line 116  class Digitizer{ Line 119  class Digitizer{
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
# Line 146  class Digitizer{ Line 150  class Digitizer{
150      Int_t           Nthtof;      Int_t           Nthtof;
151      UChar_t         *Ipltof;      UChar_t         *Ipltof;
152      UChar_t         *Ipaddle;      UChar_t         *Ipaddle;
153        UChar_t         *Ipartof;//DPMJET      //    UChar_t         *Ipartof;//DPMJET
154      //  UShort_t        *Ipartof;      UShort_t        *Ipartof;
155      Float_t         *Xintof;      Float_t         *Xintof;
156      Float_t         *Yintof;      Float_t         *Yintof;
157      Float_t         *Zintof;      Float_t         *Zintof;
# Line 185  class Digitizer{ Line 189  class Digitizer{
189      Float_t         *Pathcas;      Float_t         *Pathcas;
190      Float_t         *P0cas;      Float_t         *P0cas;
191      Int_t           Nthspe;      Int_t           Nthspe;
192      UChar_t         *Iparspe;//DPMJET      //    UChar_t         *Iparspe;//DPMJET
193      // UShort_t        *Iparspe;      //    UShort_t        *Iparspe;
194      UChar_t         *Itrpb;      UChar_t         *Itrpb;
195      UChar_t         *Itrsl;      UChar_t         *Itrsl;
196      UChar_t         *Itspa;      UChar_t         *Itspa;
# Line 377  class Digitizer{ Line 381  class Digitizer{
381      TBranch        *b_Pathcard;   //!      TBranch        *b_Pathcard;   //!
382      TBranch        *b_P0card;   //!      TBranch        *b_P0card;   //!
383      //      //
384        TF1 *attenAC;
385   public:   public:
386    
387      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,int); // constructor
388    
389      void Close();      void Close();
390      void SetTree(TTree *tree) {fhBookTree = tree;};      void SetTree(TTree *tree) {fhBookTree = tree;};
# Line 388  class Digitizer{ Line 392  class Digitizer{
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(TF1*);  // digitizes the anti-counter      void DigitizeAC();  // digitizes the anti-counter
398      void DigitizeND();  // digitizes the ND      void DigitizeND();  // digitizes the ND
399      void DigitizeS4();  // digitizes the S4      void DigitizeS4();  // digitizes the S4
400      void DigitizeCALO();  // digitizes the calorimeter      void DigitizeCALO();  // digitizes the calorimeter
# Line 434  class Digitizer{ Line 435  class Digitizer{
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    

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.23