257462b34e2baa3cbe17c5e17233e91755076735
[u/mrichter/AliRoot.git] / TOF / AliTOFD.h
1 #ifndef TOFD_H
2 #define TOFD_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 ////////////////////////////////////////////////
10 //  Digitization classes for set: TOF     //
11 ////////////////////////////////////////////////
12  
13
14 #include "TObject.h"
15 #include "TClonesArray.h"
16 #include "AliTOF.h"
17 //_______________________________________________________
18
19 class AliTOFRoc : public TObject {
20
21  public:
22   Int_t   Items;
23   Int_t   Size;
24   Int_t   NRoc;
25   UInt_t  Header;
26   
27 /*  class ChargeRow
28   {
29   public:
30     UInt_t RocID:4;
31     UInt_t FecID:6;
32     UInt_t TdcID:6;
33     Int_t  ChADC:16;
34   }Charge[1024];
35   
36   class TimeRow
37   {
38   public:
39     UInt_t Error:12;
40     Int_t  TDC  :24;
41   }Time[1024];
42 */
43   UInt_t ChrgRow[1024];
44   UInt_t TimeRow[1024];
45
46  public:
47   AliTOFRoc();
48   virtual ~AliTOFRoc();
49   Int_t   AddItem  (Int_t, Int_t, Int_t, Float_t, Float_t);
50 //  Int_t   AddItem  (Int_t, UInt_t);
51   void    SetHeader();
52   void    SetTime  (UInt_t, UInt_t, Float_t);
53   void    SetTime  (UInt_t, UInt_t);
54   void    SetCharge(UInt_t, UInt_t,UInt_t,Float_t);  
55   void    SetCharge(UInt_t, UInt_t);  
56   Float_t GetTime  (Int_t,UInt_t&);
57   Float_t GetCharge(Int_t);
58   Int_t   GetTotPad(Int_t);
59   UInt_t  GetCheckSum();
60   UInt_t  BitCount (UInt_t);
61   UInt_t  SetSize  ();
62   
63   inline Int_t  GetSize()          {return Items*8+4;}
64   inline Int_t  GetItems()         {return Items;}
65   inline UInt_t GetChrgRow(Int_t i){return ChrgRow[i];}
66   inline UInt_t GetTimeRow(Int_t i){return TimeRow[i];} 
67   inline void   SetHeader(UInt_t head){Header=head;}
68   ClassDef(AliTOFRoc,2)
69 };
70
71 //_______________________________________________________
72 class AliTOFRawDigit : public TObject{
73
74 public:
75   Int_t fTreeD;
76   Int_t fRawDigits;
77   
78 public:
79   AliTOFRawDigit();
80   virtual ~AliTOFRawDigit(){};
81   
82   ClassDef(AliTOFRawDigit,2)
83 };
84
85
86 //_______________________________________________________
87 class AliTOFRawSector : public TObject{
88
89  public:
90   TClonesArray  *fRocData;
91   UInt_t        Header;
92   UInt_t        GlobalCheckSum;
93
94  public:
95   AliTOFRawSector();
96   virtual ~AliTOFRawSector();
97   void   WriteSector();
98   void   ReadSector();
99   
100   inline TClonesArray  *GetRocData() {return fRocData;}
101   inline void SetGlobalCS(UInt_t gcs){GlobalCheckSum=gcs;}
102   inline void SetHeader  (UInt_t hdr){Header = hdr;}
103   
104   ClassDef(AliTOFRawSector,2)
105 };
106
107 #endif