]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSCpvRawWrite.h
Generation of dictionaries and rootmaps with Root6
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCpvRawWrite.h
1 #ifndef ALIPHOSCPVRAWWRITE_H
2 #define ALIPHOSCPVRAWWRITE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: $ */
7
8 /* History:
9  *
10  * $Log$
11  */
12
13 //_________________________________________________________________________
14 //  Create a raw data stream for the CPV detector
15 //  Input:  AliPHOSDigit or TClonesArray of AliPHOSDigits
16 //  Output: AliFstream, a raw data stream in DDL format
17 //  Author: Yuri Kharlov
18 //  14 April 2008
19 //_________________________________________________________________________
20
21 // --- ROOT system ---
22
23 class TObject;
24 class TClonesArray;
25 class AliFstream;
26  
27 // --- Standard library ---
28
29 // --- AliRoot header files ---
30 class AliPHOSDigit;
31
32 class AliPHOSCpvRawWrite : public TObject
33 {
34 public:
35
36   AliPHOSCpvRawWrite() ;
37   virtual ~AliPHOSCpvRawWrite() ;  
38   void WriteRaw(const TObjArray *digits);
39   void HWaddress(const AliPHOSDigit *digit, UInt_t &w32, Int_t &ddl, Int_t &row, Int_t &dilogic, Int_t &address);
40   void WriteRowMarker (AliFstream *ddl,UInt_t size);
41   void WriteSegMarker (AliFstream *ddl,UInt_t row, Int_t nwInSeg); 
42   void WriteEoE       (AliFstream *ddl,UInt_t row,UInt_t dil,UInt_t wordCnt); 
43
44  protected:
45
46   Int_t    fNDDL ;          // Number of DDLs
47   Int_t    fNRow ;          // Number of row controllers per DDL
48   Int_t    fNDilogic ;      // Number of DLOGIC chips per column
49   Int_t    fNPad ;          // Number of pads per DLOGIC
50   
51   ClassDef(AliPHOSCpvRawWrite,1)  // CPV raw data writer
52
53 };
54
55 #endif // AliPHOSCPVRAWWRITE_H