Update of the fast altro decoder (Per Thomas)
[u/mrichter/AliRoot.git] / RAW / AliAltroData.h
CommitLineData
31a920d3 1#ifndef ALIALTRODATA_H
2#define ALIALTRODATA_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
44443c72 6#define DECODERERROR -3
7
31a920d3 8#include <TObject.h>
9
10class AliAltroBunch;
11
12class AliAltroData: public TObject {
13public:
14
15 AliAltroData();
16 ~ AliAltroData();
44443c72 17
18 // Bool_t NextBunch(AliAltroBunch *altrobunch);
19 int NextBunch(AliAltroBunch *altrobunch);
ac672c4c 20
21 Int_t GetChannel() const;
22 Int_t GetChip() const;
23 Int_t GetCard() const;
24 Int_t GetBranch() const;
25 void Reset();
26
27 Bool_t IsComplete() const { return fIsComplete; }
28 void SetIsComplete(Bool_t iscomplete) { fIsComplete = iscomplete; }
29 Int_t GetHadd() const { return fHadd; }
30 Int_t GetPrevHadd() const { return fPrevHadd; }
31 Bool_t IsNewHadd() const { return (fHadd != fPrevHadd); }
44443c72 32 // void SetHadd(Int_t add) { fPrevHadd = fHadd; fHadd = add; }
33 void SetHadd(Int_t add, Int_t bufferleft) { fPrevHadd = fHadd; fHadd = add; fBufferLeft = bufferleft ; }
34
ac672c4c 35 const UInt_t* GetData() const { return fData; }
36 void SetData(UInt_t *data) { fData = data; }
37 // UInt_t* GetData() const { return fData; }
38 Int_t GetDataSize() const { return fDataSize; }
39 void SetDataSize(Int_t size) { fDataSize = size; }
31a920d3 40
41private:
42
43 AliAltroData& operator = (const AliAltroData& altrodata);
44 AliAltroData(const AliAltroData& altrodata);
45
46 UInt_t *fData;
47 UInt_t *fBunchData;
48 Int_t fDataSize;
49 Int_t fWc;
50 Int_t fHadd;
53d3458c 51 Int_t fPrevHadd;
31a920d3 52 Int_t fBunchCounter;
53 Bool_t fIsComplete;
54
44443c72 55 // Int_t fMaxBunchSize;
56 Int_t fBufferLeft;
84111923 57
31a920d3 58 ClassDef(AliAltroData, 0) // container class for Altro payload
59
60};
61
62#endif
63