#include "AliMUONDigitStoreVImplIterator.h"
#include "AliMUONVDigit.h"
#include "AliMUONDigitStoreVImpl.h"
#include "AliMUON2DMap.h"
#include "AliMUONVCalibParam.h"
#include <TClonesArray.h>
#include <TError.h>
ClassImp(AliMUONDigitStoreVImplIterator)
AliMUONDigitStoreVImplIterator::AliMUONDigitStoreVImplIterator(const AliMUONDigitStoreVImpl* store)
: TIterator(),
fkStore(store),
fFirstDetElemId(100),
fLastDetElemId(1417),
fCathode(2),
fStoreIterator(store->fMap->CreateIterator()),
fCurrentCalibParam(0x0),
fCurrentCalibParamIndex(-1)
{
}
AliMUONDigitStoreVImplIterator::AliMUONDigitStoreVImplIterator(const AliMUONDigitStoreVImpl* store,
Int_t firstDE,
Int_t lastDE,
Int_t cathode)
: TIterator(),
fkStore(store),
fFirstDetElemId(firstDE),
fLastDetElemId(lastDE),
fCathode(cathode),
fStoreIterator(store->fMap->CreateIterator(firstDE,lastDE)),
fCurrentCalibParam(0x0),
fCurrentCalibParamIndex(-1)
{
}
AliMUONDigitStoreVImplIterator&
AliMUONDigitStoreVImplIterator::operator=(const TIterator&)
{
Fatal("TIterator::operator=","Not implementeable");
return *this;
}
AliMUONDigitStoreVImplIterator::~AliMUONDigitStoreVImplIterator()
{
delete fStoreIterator;
}
TObject*
AliMUONDigitStoreVImplIterator::Next()
{
if ( !fCurrentCalibParam )
{
fCurrentCalibParam = static_cast<AliMUONVCalibParam*>(fStoreIterator->Next());
fCurrentCalibParamIndex = 0;
if ( !fCurrentCalibParam ) return 0x0;
}
Int_t ix(-1);
AliMUONVDigit* d(0x0);
if ( fCathode == 2 )
{
while ( fCurrentCalibParamIndex < 64 && ix < 0 )
{
ix = fCurrentCalibParam->ValueAsInt(fCurrentCalibParamIndex++);
};
if (ix>=0)
{
d = static_cast<AliMUONVDigit*>(fkStore->fDigits->UncheckedAt(ix));
}
}
else
{
while ( d == 0x0 )
{
while ( fCurrentCalibParamIndex < 64 && ix < 0 )
{
ix = fCurrentCalibParam->ValueAsInt(fCurrentCalibParamIndex++);
};
if (ix>=0)
{
d = static_cast<AliMUONVDigit*>(fkStore->fDigits->UncheckedAt(ix));
if ( fCathode == 2 || d->Cathode() == fCathode )
{
break;
}
d = 0x0;
ix = -1;
}
else
{
break;
}
}
}
if (ix<0)
{
fCurrentCalibParam = 0x0;
return Next();
}
return d;
}
void
AliMUONDigitStoreVImplIterator::Reset()
{
fCurrentCalibParam = 0x0;
fCurrentCalibParamIndex = 0;
fStoreIterator->Reset();
}
AliMUONDigitStoreVImplIterator.cxx:1 AliMUONDigitStoreVImplIterator.cxx:2 AliMUONDigitStoreVImplIterator.cxx:3 AliMUONDigitStoreVImplIterator.cxx:4 AliMUONDigitStoreVImplIterator.cxx:5 AliMUONDigitStoreVImplIterator.cxx:6 AliMUONDigitStoreVImplIterator.cxx:7 AliMUONDigitStoreVImplIterator.cxx:8 AliMUONDigitStoreVImplIterator.cxx:9 AliMUONDigitStoreVImplIterator.cxx:10 AliMUONDigitStoreVImplIterator.cxx:11 AliMUONDigitStoreVImplIterator.cxx:12 AliMUONDigitStoreVImplIterator.cxx:13 AliMUONDigitStoreVImplIterator.cxx:14 AliMUONDigitStoreVImplIterator.cxx:15 AliMUONDigitStoreVImplIterator.cxx:16 AliMUONDigitStoreVImplIterator.cxx:17 AliMUONDigitStoreVImplIterator.cxx:18 AliMUONDigitStoreVImplIterator.cxx:19 AliMUONDigitStoreVImplIterator.cxx:20 AliMUONDigitStoreVImplIterator.cxx:21 AliMUONDigitStoreVImplIterator.cxx:22 AliMUONDigitStoreVImplIterator.cxx:23 AliMUONDigitStoreVImplIterator.cxx:24 AliMUONDigitStoreVImplIterator.cxx:25 AliMUONDigitStoreVImplIterator.cxx:26 AliMUONDigitStoreVImplIterator.cxx:27 AliMUONDigitStoreVImplIterator.cxx:28 AliMUONDigitStoreVImplIterator.cxx:29 AliMUONDigitStoreVImplIterator.cxx:30 AliMUONDigitStoreVImplIterator.cxx:31 AliMUONDigitStoreVImplIterator.cxx:32 AliMUONDigitStoreVImplIterator.cxx:33 AliMUONDigitStoreVImplIterator.cxx:34 AliMUONDigitStoreVImplIterator.cxx:35 AliMUONDigitStoreVImplIterator.cxx:36 AliMUONDigitStoreVImplIterator.cxx:37 AliMUONDigitStoreVImplIterator.cxx:38 AliMUONDigitStoreVImplIterator.cxx:39 AliMUONDigitStoreVImplIterator.cxx:40 AliMUONDigitStoreVImplIterator.cxx:41 AliMUONDigitStoreVImplIterator.cxx:42 AliMUONDigitStoreVImplIterator.cxx:43 AliMUONDigitStoreVImplIterator.cxx:44 AliMUONDigitStoreVImplIterator.cxx:45 AliMUONDigitStoreVImplIterator.cxx:46 AliMUONDigitStoreVImplIterator.cxx:47 AliMUONDigitStoreVImplIterator.cxx:48 AliMUONDigitStoreVImplIterator.cxx:49 AliMUONDigitStoreVImplIterator.cxx:50 AliMUONDigitStoreVImplIterator.cxx:51 AliMUONDigitStoreVImplIterator.cxx:52 AliMUONDigitStoreVImplIterator.cxx:53 AliMUONDigitStoreVImplIterator.cxx:54 AliMUONDigitStoreVImplIterator.cxx:55 AliMUONDigitStoreVImplIterator.cxx:56 AliMUONDigitStoreVImplIterator.cxx:57 AliMUONDigitStoreVImplIterator.cxx:58 AliMUONDigitStoreVImplIterator.cxx:59 AliMUONDigitStoreVImplIterator.cxx:60 AliMUONDigitStoreVImplIterator.cxx:61 AliMUONDigitStoreVImplIterator.cxx:62 AliMUONDigitStoreVImplIterator.cxx:63 AliMUONDigitStoreVImplIterator.cxx:64 AliMUONDigitStoreVImplIterator.cxx:65 AliMUONDigitStoreVImplIterator.cxx:66 AliMUONDigitStoreVImplIterator.cxx:67 AliMUONDigitStoreVImplIterator.cxx:68 AliMUONDigitStoreVImplIterator.cxx:69 AliMUONDigitStoreVImplIterator.cxx:70 AliMUONDigitStoreVImplIterator.cxx:71 AliMUONDigitStoreVImplIterator.cxx:72 AliMUONDigitStoreVImplIterator.cxx:73 AliMUONDigitStoreVImplIterator.cxx:74 AliMUONDigitStoreVImplIterator.cxx:75 AliMUONDigitStoreVImplIterator.cxx:76 AliMUONDigitStoreVImplIterator.cxx:77 AliMUONDigitStoreVImplIterator.cxx:78 AliMUONDigitStoreVImplIterator.cxx:79 AliMUONDigitStoreVImplIterator.cxx:80 AliMUONDigitStoreVImplIterator.cxx:81 AliMUONDigitStoreVImplIterator.cxx:82 AliMUONDigitStoreVImplIterator.cxx:83 AliMUONDigitStoreVImplIterator.cxx:84 AliMUONDigitStoreVImplIterator.cxx:85 AliMUONDigitStoreVImplIterator.cxx:86 AliMUONDigitStoreVImplIterator.cxx:87 AliMUONDigitStoreVImplIterator.cxx:88 AliMUONDigitStoreVImplIterator.cxx:89 AliMUONDigitStoreVImplIterator.cxx:90 AliMUONDigitStoreVImplIterator.cxx:91 AliMUONDigitStoreVImplIterator.cxx:92 AliMUONDigitStoreVImplIterator.cxx:93 AliMUONDigitStoreVImplIterator.cxx:94 AliMUONDigitStoreVImplIterator.cxx:95 AliMUONDigitStoreVImplIterator.cxx:96 AliMUONDigitStoreVImplIterator.cxx:97 AliMUONDigitStoreVImplIterator.cxx:98 AliMUONDigitStoreVImplIterator.cxx:99 AliMUONDigitStoreVImplIterator.cxx:100 AliMUONDigitStoreVImplIterator.cxx:101 AliMUONDigitStoreVImplIterator.cxx:102 AliMUONDigitStoreVImplIterator.cxx:103 AliMUONDigitStoreVImplIterator.cxx:104 AliMUONDigitStoreVImplIterator.cxx:105 AliMUONDigitStoreVImplIterator.cxx:106 AliMUONDigitStoreVImplIterator.cxx:107 AliMUONDigitStoreVImplIterator.cxx:108 AliMUONDigitStoreVImplIterator.cxx:109 AliMUONDigitStoreVImplIterator.cxx:110 AliMUONDigitStoreVImplIterator.cxx:111 AliMUONDigitStoreVImplIterator.cxx:112 AliMUONDigitStoreVImplIterator.cxx:113 AliMUONDigitStoreVImplIterator.cxx:114 AliMUONDigitStoreVImplIterator.cxx:115 AliMUONDigitStoreVImplIterator.cxx:116 AliMUONDigitStoreVImplIterator.cxx:117 AliMUONDigitStoreVImplIterator.cxx:118 AliMUONDigitStoreVImplIterator.cxx:119 AliMUONDigitStoreVImplIterator.cxx:120 AliMUONDigitStoreVImplIterator.cxx:121 AliMUONDigitStoreVImplIterator.cxx:122 AliMUONDigitStoreVImplIterator.cxx:123 AliMUONDigitStoreVImplIterator.cxx:124 AliMUONDigitStoreVImplIterator.cxx:125 AliMUONDigitStoreVImplIterator.cxx:126 AliMUONDigitStoreVImplIterator.cxx:127 AliMUONDigitStoreVImplIterator.cxx:128 AliMUONDigitStoreVImplIterator.cxx:129 AliMUONDigitStoreVImplIterator.cxx:130 AliMUONDigitStoreVImplIterator.cxx:131 AliMUONDigitStoreVImplIterator.cxx:132 AliMUONDigitStoreVImplIterator.cxx:133 AliMUONDigitStoreVImplIterator.cxx:134 AliMUONDigitStoreVImplIterator.cxx:135 AliMUONDigitStoreVImplIterator.cxx:136 AliMUONDigitStoreVImplIterator.cxx:137 AliMUONDigitStoreVImplIterator.cxx:138 AliMUONDigitStoreVImplIterator.cxx:139 AliMUONDigitStoreVImplIterator.cxx:140 AliMUONDigitStoreVImplIterator.cxx:141 AliMUONDigitStoreVImplIterator.cxx:142 AliMUONDigitStoreVImplIterator.cxx:143 AliMUONDigitStoreVImplIterator.cxx:144 AliMUONDigitStoreVImplIterator.cxx:145 AliMUONDigitStoreVImplIterator.cxx:146 AliMUONDigitStoreVImplIterator.cxx:147 AliMUONDigitStoreVImplIterator.cxx:148 AliMUONDigitStoreVImplIterator.cxx:149 AliMUONDigitStoreVImplIterator.cxx:150 AliMUONDigitStoreVImplIterator.cxx:151 AliMUONDigitStoreVImplIterator.cxx:152 AliMUONDigitStoreVImplIterator.cxx:153 AliMUONDigitStoreVImplIterator.cxx:154 AliMUONDigitStoreVImplIterator.cxx:155 AliMUONDigitStoreVImplIterator.cxx:156 AliMUONDigitStoreVImplIterator.cxx:157 AliMUONDigitStoreVImplIterator.cxx:158