AliTOFChannelOnlineStatusArray::AliTOFChannelOnlineStatusArray(const AliTOFChannelOnlineStatusArray & source):
TObject(),
fSize(source.fSize),
- fArray(source.fArray),
- fLatencyWindow(source.fLatencyWindow)
+ fArray(0x0),
+ fLatencyWindow(0x0)
{
// copy constructor
+ fArray = new UChar_t[fSize];
+ fLatencyWindow = new Int_t[fSize];
+ for (Int_t ich = 0; ich<fSize; ich ++){
+ fArray[ich] = source.fArray[ich];
+ fLatencyWindow[ich] = source.fLatencyWindow[ich];
+ }
}
//________________________________________________________________
AliTOFChannelOnlineStatusArray &AliTOFChannelOnlineStatusArray::operator=(const AliTOFChannelOnlineStatusArray & source)
TObject::operator=(source);
fSize= source.fSize;
- fArray= source.fArray;
- fLatencyWindow= source.fLatencyWindow;
+ delete [] fArray;
+ fArray = new UChar_t[fSize];
+ delete [] fLatencyWindow;
+ fLatencyWindow = new Int_t[fSize];
+ memcpy(fArray,source.fArray,sizeof(UChar_t)*fSize);
+ memcpy(fLatencyWindow,source.fLatencyWindow,sizeof(Int_t)*fSize);
+
return *this;
}
//________________________________________________________________
//________________________________________________________________
void AliTOFChannelOnlineStatusArray::SetLatencyWindow(Int_t pos, Int_t parr)
{
+ // setting latency window for channel at position = pos
if (!fLatencyWindow) {
AliWarning("couldn't set latency window");
return;