Line data Source code
1 : #ifndef ALIITSCOMPRESSRAWDATASDD_H
2 : #define ALIITSCOMPRESSRAWDATASDD_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /* $Id$ */
8 :
9 : #include<TObject.h>
10 : #include<TString.h>
11 :
12 : ///////////////////////////////////////////////////////////////////
13 : // //
14 : // Class to decode the SDD Raw Data from the CarlosRX format to //
15 : // a compressed format consisting in a word of 32 bit per cell //
16 : // Origin: F.Prino, Torino, prino@to.infn.it //
17 : // //
18 : ///////////////////////////////////////////////////////////////////
19 :
20 : class AliRawReader;
21 :
22 : class AliITSCompressRawDataSDD : public TObject {
23 :
24 : public:
25 : AliITSCompressRawDataSDD();
26 : ~AliITSCompressRawDataSDD();
27 : void SetRawReader(AliRawReader* rd){
28 0 : fRawReader=rd;
29 0 : }
30 : void SetPointerToData(UChar_t* pt){
31 0 : fPointerToData=pt;
32 0 : }
33 : void SetSize(UInt_t siz){
34 0 : fSizeInMemory=siz;
35 0 : }
36 :
37 : UInt_t CompressEvent(UChar_t* inputPtr);
38 :
39 : static UInt_t MakeDataWord(Int_t carlos, Int_t side, Int_t anode, Int_t tb, Int_t adc){
40 0 : UInt_t word= (carlos<<27) + (side<<26) + (anode<<18) + (tb<<10) + adc;
41 0 : return word;
42 : }
43 :
44 : static UInt_t MakeEndOfModuleWord(Int_t carlos){
45 0 : UInt_t word= (15<<28) + carlos;
46 0 : return word;
47 : }
48 :
49 : static UInt_t MakeJitterWord(Int_t jitter){
50 0 : UInt_t word= (8<<28) + jitter;
51 0 : return word;
52 : }
53 :
54 : protected:
55 :
56 : private:
57 : AliITSCompressRawDataSDD(const AliITSCompressRawDataSDD& /*c*/);
58 :
59 : AliITSCompressRawDataSDD& operator=(const AliITSCompressRawDataSDD& /*c*/);
60 :
61 :
62 : AliRawReader* fRawReader; // pointer to raw reader
63 : UChar_t* fPointerToData; // pointer to the start of data in memory
64 : UInt_t fSizeInMemory; // free space in memory in Bytes
65 :
66 118 : ClassDef(AliITSCompressRawDataSDD, 0)
67 : };
68 :
69 : #endif
|