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