]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFLvHvDataPoints.cxx
Fix for TOF new calib task for CPass
[u/mrichter/AliRoot.git] / TOF / AliTOFLvHvDataPoints.cxx
index bc30579fc36417d9fd919abde438562c6db2523e..d190bc842b1759d84e6f98fd9a2a0d135e543ddd 100644 (file)
@@ -62,6 +62,10 @@ AliTOFLvHvDataPoints::AliTOFLvHvDataPoints():
 {
   // main constructor 
 
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fLVDataPoints[ii]= 0x0;
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fHVDataPoints[ii]= 0x0;
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fMap[ii]= 0x0;
+
 }
 
 //---------------------------------------------------------------
@@ -85,6 +89,10 @@ AliTOFLvHvDataPoints::AliTOFLvHvDataPoints(Int_t nRun, UInt_t startTime, UInt_t
 
   // constructor with arguments
 
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fLVDataPoints[ii]= 0x0;
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fHVDataPoints[ii]= 0x0;
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fMap[ii]= 0x0;
+
   AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s \n\tStartTime DCS Query %s \n\tEndTime DCS Query %s", nRun,
               TTimeStamp(startTime).AsString(),
               TTimeStamp(endTime).AsString(), 
@@ -123,7 +131,11 @@ AliTOFLvHvDataPoints::AliTOFLvHvDataPoints(const AliTOFLvHvDataPoints & data):
   for(int i=0;i<kNsectors;i++)
     for(int j=0;j<kNplates;j++)
       fAliasNamesXHVmap[i][j]=data.fAliasNamesXHVmap[i][j];
+
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fLVDataPoints[ii]= data.fLVDataPoints[ii];
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fHVDataPoints[ii]= data.fLVDataPoints[ii];
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fMap[ii]= data.fMap[ii];
+
 }
 //---------------------------------------------------------------
 
@@ -159,6 +171,10 @@ AliTOFLvHvDataPoints& AliTOFLvHvDataPoints:: operator=(const AliTOFLvHvDataPoint
 
   fNSecondsBeforeEOR=data.fNSecondsBeforeEOR;
 
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fLVDataPoints[ii]= data.fLVDataPoints[ii];
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fHVDataPoints[ii]= data.fLVDataPoints[ii];
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++) fMap[ii]= data.fMap[ii];
+
   return *this;
 }
 //---------------------------------------------------------------
@@ -169,6 +185,13 @@ AliTOFLvHvDataPoints::~AliTOFLvHvDataPoints() {
   delete fStartingLVmap;
   delete fStartingHVmap;
 
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++)
+    if (fLVDataPoints[ii]) fLVDataPoints[ii]->Delete();
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++)
+    if (fHVDataPoints[ii]) fHVDataPoints[ii]->Delete();
+  for (Int_t ii=0; ii<kNmaxDataPoints; ii++)
+    if (fMap[ii]) fMap[ii]->Delete();
+
 }
 
 //---------------------------------------------------------------
@@ -240,7 +263,7 @@ Bool_t AliTOFLvHvDataPoints::MergeMaps() {
               fNumberOfHVdataPoints, fNumberOfLVdataPoints, fNumberOfHVandLVmaps));
 
 
-  Int_t *controller = new Int_t[fNumberOfHVandLVmaps];
+  Int_t *controller = new Int_t[sizeof(Int_t)*fNumberOfHVandLVmaps]; // fix for coverity
   for (Int_t ii=0; ii<fNumberOfHVandLVmaps; ii++) controller[ii]=-1;
   TMath::Sort(fNumberOfHVandLVmaps,timeMaps,controller,kFALSE); // increasing order
 
@@ -302,7 +325,7 @@ Bool_t AliTOFLvHvDataPoints::MergeMaps() {
 
   }
 
-  delete controller;
+  delete [] controller;
 
   for (Int_t ii=0; ii<fNumberOfHVandLVmaps; ii++)
     AliDebug(1,Form(" fMap[%d]->GetTime() = %d ",ii,fMap[ii]->GetTime()));
@@ -877,17 +900,19 @@ void AliTOFLvHvDataPoints::DrawHVandLVMap(Int_t index)
   // Draw HV+LV map labelled as index
   //
 
+  const Int_t kSize = 100;
+
   if(!fIsProcessed) return;
 
   if (index>=fNumberOfHVandLVmaps) return;
 
   AliTOFDCSmaps *mappa=(AliTOFDCSmaps*)GetHVandLVmap(index);
 
-  char title[100];
-  if (index==0) sprintf(title,"HVandLV map at time %d (%dst map)",mappa->GetTime(),index+1);
-  else if (index==1) sprintf(title,"HVandLV map at time %d (%dnd map)",mappa->GetTime(),index+1);
-  else if (index==2) sprintf(title,"HVandLV map at time %d (%drd map)",mappa->GetTime(),index+1);
-  else if (index>=3) sprintf(title,"HVandLV map at time %d (%dth map)",mappa->GetTime(),index+1);
+  char title[kSize];
+  if (index==0) snprintf(title,kSize,"HVandLV map at time %d (%dst map)",mappa->GetTime(),index+1);
+  else if (index==1) snprintf(title,kSize,"HVandLV map at time %d (%dnd map)",mappa->GetTime(),index+1);
+  else if (index==2) snprintf(title,kSize,"HVandLV map at time %d (%drd map)",mappa->GetTime(),index+1);
+  else if (index>=3) snprintf(title,kSize,"HVandLV map at time %d (%dth map)",mappa->GetTime(),index+1);
   fHisto->Delete();
   fHisto = new TH1C("histo","",kNpads,-0.5,kNpads-0.5);
   //fHisto->Clear();
@@ -907,17 +932,19 @@ void AliTOFLvHvDataPoints::DrawLVMap(Int_t index)
   // Draw LV map labelled as index
   //
 
+  const Int_t kSize = 100;
+
   if(!fIsProcessed) return;
 
   if (index>=fNumberOfLVdataPoints) return;
 
   AliTOFDCSmaps *mappa=(AliTOFDCSmaps*)GetLVmap(index);
 
-  char title[100];
-  if (index==0) sprintf(title,"LV map at time %d (%dst map)",mappa->GetTime(),index+1);
-  else if (index==1) sprintf(title,"LV map at time %d (%dnd map)",mappa->GetTime(),index+1);
-  else if (index==2) sprintf(title,"LV map at time %d (%drd map)",mappa->GetTime(),index+1);
-  else if (index>=3) sprintf(title,"LV map at time %d (%dth map)",mappa->GetTime(),index+1);
+  char title[kSize];
+  if (index==0) snprintf(title,kSize,"LV map at time %d (%dst map)",mappa->GetTime(),index+1);
+  else if (index==1) snprintf(title,kSize,"LV map at time %d (%dnd map)",mappa->GetTime(),index+1);
+  else if (index==2) snprintf(title,kSize,"LV map at time %d (%drd map)",mappa->GetTime(),index+1);
+  else if (index>=3) snprintf(title,kSize,"LV map at time %d (%dth map)",mappa->GetTime(),index+1);
   fHisto->Delete();
   fHisto = new TH1C("histo","",kNpads,-0.5,kNpads-0.5);
   //fHisto->Clear();
@@ -937,17 +964,19 @@ void AliTOFLvHvDataPoints::DrawHVMap(Int_t index)
   // Draw HV map labelled as index
   //
 
+  const Int_t kSize = 100;
+
   if(!fIsProcessed) return;
 
   if (index>=fNumberOfHVdataPoints) return;
 
   AliTOFDCSmaps *mappa=(AliTOFDCSmaps*)GetHVmap(index);
 
-  char title[100];
-  if (index==0) sprintf(title,"HV map at time %d (%dst map)",mappa->GetTime(),index+1);
-  else if (index==1) sprintf(title,"HV map at time %d (%dnd map)",mappa->GetTime(),index+1);
-  else if (index==2) sprintf(title,"HV map at time %d (%drd map)",mappa->GetTime(),index+1);
-  else if (index>=3) sprintf(title,"HV map at time %d (%dth map)",mappa->GetTime(),index+1);
+  char title[kSize];
+  if (index==0) snprintf(title,kSize,"HV map at time %d (%dst map)",mappa->GetTime(),index+1);
+  else if (index==1) snprintf(title,kSize,"HV map at time %d (%dnd map)",mappa->GetTime(),index+1);
+  else if (index==2) snprintf(title,kSize,"HV map at time %d (%drd map)",mappa->GetTime(),index+1);
+  else if (index>=3) snprintf(title,kSize,"HV map at time %d (%dth map)",mappa->GetTime(),index+1);
   fHisto->Delete();
   fHisto = new TH1C("histo","",kNpads,-0.5,kNpads-0.5);
   //fHisto->Clear();