,fNtime(0)
,fNDdim(0)
,fDictionary(0)
+ ,fFlag(kTRUE)
{
//
// AliTRDarrayDictionary default contructor
,fNtime(0)
,fNDdim(0)
,fDictionary(0)
+ ,fFlag(kTRUE)
{
//
,fNtime(a.fNtime)
,fNDdim(a.fNDdim)
,fDictionary(0)
+ ,fFlag(a.fFlag)
{
//
// AliTRDarrayDictionary copy constructor
{
fDictionary[i]=a.fDictionary[i];
}
+ fFlag=a.fFlag;
return *this;
}
}
newDim=fNDdim-counter; //Size of the compressed array
+ //Set the flag if the array has no data
+ if(newDim==1)
+ fFlag=kFALSE;
+
//Fill the buffer of the compressed array
Int_t* buffer = new Int_t[newDim];
Int_t counterTwo=0;
Int_t g=0;
if(buffer)
{
-
for(Int_t i=0; i<newDim; i++)
{
if(counterTwo<fNDdim)
//
Int_t dimexp=0;
+
+ if(!HasData()) //if the array has no data
+ {
+ if(fDictionary)
+ {
+ dimexp = -fDictionary[0];
+ delete [] fDictionary;
+ fDictionary=0;
+ fDictionary = new Int_t[dimexp];
+ fNDdim = dimexp;
+ // Re-initialize the array
+ for(Int_t i=0; i<dimexp; i++)
+ fDictionary[i] = -1;
+ }
+ return;
+ }
+
Int_t *longArr = new Int_t[fNDdim];
-
if(longArr && fDictionary)
{
}
- delete [] longArr;
+ }
+ if (longArr)
+ {
+ delete [] longArr;
}
}