]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFChannelOnlineStatusArray.cxx
Allow use of AliTOFcalib::TuneForMC() when old ESD TOF data structure detected, AliFa...
[u/mrichter/AliRoot.git] / TOF / AliTOFChannelOnlineStatusArray.cxx
index c131b238db45e4358486988c806ee76cbd81e676..603a2e913313a8b03278353a80604fae4e43767d 100644 (file)
@@ -60,10 +60,16 @@ AliTOFChannelOnlineStatusArray::AliTOFChannelOnlineStatusArray(Int_t size):
 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) 
@@ -75,8 +81,13 @@ AliTOFChannelOnlineStatusArray &AliTOFChannelOnlineStatusArray::operator=(const
 
   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;
 }
 //________________________________________________________________
@@ -123,6 +134,7 @@ void AliTOFChannelOnlineStatusArray::SetNoiseStatus(Int_t pos, UChar_t parr)
 //________________________________________________________________
 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;