]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ITS/UPGRADE/ITSUpgradeSim/AliITSUSuze02.h
ITS UPGRADE
[u/mrichter/AliRoot.git] / ITS / UPGRADE / ITSUpgradeSim / AliITSUSuze02.h
... / ...
CommitLineData
1#ifndef ALIITSUSUZE02_H
2#define ALIITSUSUZE02_H
3
4#include <Riostream.h>
5#include <TMatrixF.h>
6#include <TH1F.h>
7
8//*******************************************************************
9//
10// Simulation of the SUZE02 readout
11// Origin: Serhiy.Senuykov@cern.ch
12// (see macros/ScanDigitsSuze02*.C for an example of use)
13//
14//*******************************************************************
15
16class AliITSUSuze02{
17 public:
18 AliITSUSuze02(Int_t Nrows, Int_t Ncols);
19 AliITSUSuze02(const AliITSUSuze02& suze);
20 AliITSUSuze02 &operator=(const AliITSUSuze02& suze);
21 virtual ~AliITSUSuze02();
22
23 void SetEncodingWindowSize(Int_t Wrows, Int_t Wcols);
24 void SetQuotas(Int_t q32, Int_t qHalfFSBB, Int_t qFSBB);
25 //void InitHistos();
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);
29
30 void GetResults();
31 Int_t GetNDigitsEncoded() {return fNDigitsEncoded;}
32 Int_t GetNEncodedWindows() {return fNEncodedWindows;}
33 Int_t GetNDigitsLost() {return fNDigitsLost;}
34 Int_t GetNLostWindows() {return fNLostWindows;}
35
36 Int_t GetDataSize() {return fDataSizePerChip;}
37
38 Int_t GetNWindowsPer32colsMin() {return fNWindowsPer32colsMin;}
39 Int_t GetNWindowsPerHalfFSBBMin() {return fNWindowsPerHalfFSBBMin;}
40 Int_t GetNWindowsPerFSBBMin() {return fNWindowsPerFSBBMin;}
41
42 void ResetChip();
43
44 private:
45 static const Int_t kNumberOfFSBB=3;
46 static const Int_t kNumberOfHalfFSBB=2;
47
48 //matrix to be processed by Suze02
49 Int_t fNRowsChip;
50 Int_t fNColsChip;
51 TMatrixF* fChip;
52
53 //Suze02 parameters
54 Int_t fTestColumnSize; //Number of rows of the encoding window
55 Int_t fTestRowSize; //Number of columns of the encoding window
56
57 //Suze02 quotas
58 Int_t fNWindowsPer32colsMax;
59 Int_t fNWindowsPerHalfFSBBMax;
60 Int_t fNWindowsPerFSBBMax;
61
62 //results
63 Int_t fNDigitsEncoded;
64 Int_t fNEncodedWindows;
65
66 Int_t fNDigitsLost;
67 Int_t fNLostWindows;
68
69 //TH1F* fOverflowCodes;
70 //TH1F* fNDigitsPerEncodingWindowDist;
71
72 Int_t fDataSizePerChip;
73
74 Int_t fNWindowsPer32colsMin;
75 Int_t fNWindowsPerHalfFSBBMin;
76 Int_t fNWindowsPerFSBBMin;
77
78 ClassDef(AliITSUSuze02,1)
79};
80
81#endif