]>
Commit | Line | Data |
---|---|---|
7a18a20c | 1 | #include "AliHLTAltroData.h" |
2 | ||
3 | ||
4 | ||
5 | AliHLTAltroData::AliHLTAltroData(): fBunchCounter(0), fBunchData(0), fData(0), fDataSize(0), fWc(0), fHadd(0), fIsComplete(true) | |
6 | { | |
7 | ||
8 | ||
9 | } | |
10 | ||
11 | ||
12 | AliHLTAltroData::~AliHLTAltroData() | |
13 | { | |
14 | ||
15 | ||
16 | } | |
17 | ||
18 | ||
19 | bool | |
0d7c9b63 | 20 | AliHLTAltroData::NextBunch(AliHLTAltroBunch *altroBunch) |
7a18a20c | 21 | { |
22 | if(fIsComplete == true) | |
23 | { | |
24 | ||
7a18a20c | 25 | if(fBunchCounter == 0) |
26 | { | |
27 | fBunchData = &fData[fDataSize - 1]; | |
28 | } | |
7a18a20c | 29 | |
30 | if(fWc < fDataSize) | |
31 | { | |
32 | if(*fBunchData == 0){ fWc += 1;}; | |
33 | fWc += *fBunchData; | |
0d7c9b63 | 34 | altroBunch->fData = fData - *fBunchData -1; ; |
35 | altroBunch->fBunchSize = *fBunchData -2; | |
7a18a20c | 36 | fBunchData --; |
0d7c9b63 | 37 | altroBunch->fEndTimeBin = *fBunchData; |
38 | fBunchData = fBunchData - (altroBunch->fBunchSize +1); | |
39 | ||
40 | ||
7a18a20c | 41 | fBunchCounter ++; |
7a18a20c | 42 | return true; |
43 | } | |
44 | else | |
45 | { | |
46 | fBunchCounter = 0; | |
7a18a20c | 47 | fWc = 0; |
48 | return false; | |
49 | } | |
50 | } | |
51 | else | |
52 | { | |
53 | printf("\nAliHLTAltroData::NextBunch: WARNING, dataset is not complet. 2AAA endmarker is missing "); | |
54 | printf("\nfor branch %d, card %d, chip %d, channel %d\n", GetBranch(), GetCard(), GetChip(), GetChannel()); | |
55 | return false; | |
56 | } | |
57 | ||
58 | } | |
59 | ||
60 | void | |
61 | AliHLTAltroData::Reset() | |
62 | { | |
63 | fWc = 0; | |
64 | fBunchCounter = 0; | |
65 | } | |
66 | ||
67 | ||
68 | int | |
69 | AliHLTAltroData::GetChannel() | |
70 | { | |
71 | return fHadd & 0xf; | |
72 | } | |
73 | ||
74 | int | |
75 | AliHLTAltroData::GetChip() | |
76 | { | |
77 | return (fHadd & 0x70) >> 4 ; | |
78 | } | |
79 | ||
80 | int | |
81 | AliHLTAltroData::GetCard() | |
82 | { | |
83 | return (fHadd & 0x780) >> 7; | |
84 | } | |
85 | ||
86 | ||
87 | int | |
88 | AliHLTAltroData::GetBranch() | |
89 | { | |
90 | return (fHadd & 0x800 ) >> 11; | |
91 | } |