1 #ifndef ALIITSUSUZE02_H
2 #define ALIITSUSUZE02_H
8 //*******************************************************************
10 // Simulation of the SUZE02 readout
11 // Origin: Serhiy.Senuykov@cern.ch
12 // (see macros/ScanDigitsSuze02*.C for an example of use)
14 //*******************************************************************
18 AliITSUSuze02(Int_t Nrows, Int_t Ncols);
19 AliITSUSuze02(const AliITSUSuze02& suze);
20 AliITSUSuze02 &operator=(const AliITSUSuze02& suze);
21 virtual ~AliITSUSuze02();
23 void SetEncodingWindowSize(Int_t Wrows, Int_t Wcols);
24 void SetQuotas(Int_t q32, Int_t qHalfFSBB, Int_t qFSBB);
26 void AddDigit(Int_t row, Int_t col);
27 void Process(TH1F* OverflowCodes, TH1F* NDigitsPerEncodingWindowDist, Bool_t Verbose=kFALSE);
28 //void Process(Bool_t Verbose=kFALSE);
31 Int_t GetNDigitsEncoded() {return fNDigitsEncoded;}
32 Int_t GetNEncodedWindows() {return fNEncodedWindows;}
33 Int_t GetNDigitsLost() {return fNDigitsLost;}
34 Int_t GetNLostWindows() {return fNLostWindows;}
36 Int_t GetDataSize() {return fDataSizePerChip;}
38 Int_t GetNWindowsPer32colsMin() {return fNWindowsPer32colsMin;}
39 Int_t GetNWindowsPerHalfFSBBMin() {return fNWindowsPerHalfFSBBMin;}
40 Int_t GetNWindowsPerFSBBMin() {return fNWindowsPerFSBBMin;}
45 static const Int_t kNumberOfFSBB=3;
46 static const Int_t kNumberOfHalfFSBB=2;
48 //matrix to be processed by Suze02
54 Int_t fTestColumnSize; //Number of rows of the encoding window
55 Int_t fTestRowSize; //Number of columns of the encoding window
58 Int_t fNWindowsPer32colsMax;
59 Int_t fNWindowsPerHalfFSBBMax;
60 Int_t fNWindowsPerFSBBMax;
63 Int_t fNDigitsEncoded;
64 Int_t fNEncodedWindows;
69 //TH1F* fOverflowCodes;
70 //TH1F* fNDigitsPerEncodingWindowDist;
72 Int_t fDataSizePerChip;
74 Int_t fNWindowsPer32colsMin;
75 Int_t fNWindowsPerHalfFSBBMin;
76 Int_t fNWindowsPerFSBBMin;
78 ClassDef(AliITSUSuze02,1)