TVector.h missing
[u/mrichter/AliRoot.git] / TOF / AliTOFRoc.h
1 ////////////////////////////////////////////////
2 //  Digitization class for set: TOF           //
3 //  AliTOFRoc class                           //
4 //  Interface                                 //
5 //  Description                               // 
6 //*-- Authors: Pierella, Seganti, Vicinanza   //
7 //    (Bologna and Salerno University)        //
8 ////////////////////////////////////////////////
9
10 #ifndef ALITOFROC_H
11 #define ALITOFROC_H
12
13 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
14  * See cxx source for full Copyright notice                               */
15
16
17 #include "TObject.h"
18 #include "TClonesArray.h"
19
20 //_______________________________________________________
21
22 class AliTOFRoc : public TObject {
23
24  public:
25   AliTOFRoc();
26 // copy ctor  (required also by RC10 Coding Convention)
27   AliTOFRoc(const AliTOFRoc& tofroc);
28 // assignment operator (required also by RC10 Coding Convention)
29   AliTOFRoc& operator = (const AliTOFRoc& tofroc);
30 // dtor
31   virtual ~AliTOFRoc();
32   Int_t   AddItem  (Int_t Fec, Int_t Tdc, Int_t Error, Float_t Charge, Float_t Time);
33 //  Int_t   AddItem  (Int_t, UInt_t);
34
35 // setters for AliTOFRoc object
36   void    SetHeadVar(Int_t items, Int_t size, Int_t nroc, UInt_t header);
37   void    SetHeader();
38   void    SetTime  (UInt_t Item, UInt_t Error, Float_t RealTime);
39   void    SetTime  (UInt_t Item, UInt_t tir);
40   void    SetCharge(UInt_t Item, UInt_t Fec,UInt_t Tdc,Float_t RealCharge);  
41   void    SetCharge(UInt_t Item, UInt_t chr);  
42
43 // getters for AliTOFRoc object
44   Float_t GetTime  (Int_t Item,UInt_t& Error);
45   Float_t GetCharge(Int_t Item) const;
46   Int_t   GetTotPad(Int_t Item) const;
47   UInt_t  GetCheckSum();
48   UInt_t  BitCount (UInt_t x) const;
49   UInt_t  SetSize  ();
50   
51   Int_t  GetSize()           const {return fItems*8+4;}
52   Int_t  GetItems()          const {return fItems;}
53   UInt_t GetChrgRow(Int_t i) const {return fChrgRow[i];}
54   UInt_t GetTimeRow(Int_t i) const {return fTimeRow[i];} 
55   void   SetHeader(UInt_t head){fHeader=head;}
56
57  protected:
58   Int_t   fItems;  // number of items
59   Int_t   fSize;   // size
60   Int_t   fNRoc;   // Roc number
61   UInt_t  fHeader; // Roc header number
62
63 /*  class ChargeRow
64   {
65   public:
66     UInt_t RocID:4;
67     UInt_t FecID:6;
68     UInt_t TdcID:6;
69     Int_t  ChADC:16;
70   }Charge[1024];
71
72   class TimeRow
73   {
74   public:
75     UInt_t Error:12;
76     Int_t  TDC  :24;
77   }Time[1024];
78 */
79   UInt_t fChrgRow[1024]; // adc values
80   UInt_t fTimeRow[1024]; // tdc values
81
82   ClassDef(AliTOFRoc,2) // TOF Read Out Controller class 
83 };
84
85 #endif /* ALITOFROC_H */