]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODHeader.cxx
Memory leaks in TOF visualization code
[u/mrichter/AliRoot.git] / STEER / AliAODHeader.cxx
index d952203594ec269c1cb5debed6f5cc30644a59e4..df3daef23f17e05b35f4791ac544d9e9bec5dead 100644 (file)
@@ -21,6 +21,7 @@
 //-------------------------------------------------------------------------
 
 #include "AliAODHeader.h"
+#include <TGeoMatrix.h>
 
 ClassImp(AliAODHeader)
 
@@ -51,6 +52,11 @@ AliAODHeader::AliAODHeader() :
 
   SetName("header");
   for(int j=0; j<2; j++) fZDCEMEnergy[j] = -999.;
+  for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
+  fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
+  fDiamondCovXY[1]=0.;
+  for (Int_t m=0; m<kNPHOSMatrix; m++) fPHOSMatrix[m]=NULL;
+  for (Int_t sm=0; sm<kNEMCALMatrix; sm++) fEMCALMatrix[sm]=NULL;
 }
 
 //______________________________________________________________________________
@@ -58,7 +64,7 @@ AliAODHeader::AliAODHeader(Int_t nRun,
                           UShort_t nBunchX,
                           UInt_t nOrbit,
                           UInt_t nPeriod,
-                          Char_t *title) :
+                          const Char_t *title) :
   AliVHeader(),
   fMagneticField(-999.),
   fMuonMagFieldScale(-999.),
@@ -85,6 +91,11 @@ AliAODHeader::AliAODHeader(Int_t nRun,
   SetName("header");
   SetTitle(title);
   for(int j=0; j<2; j++) fZDCEMEnergy[j] = -999.;
+  for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
+  fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
+  fDiamondCovXY[1]=0.;
+  for (Int_t m=0; m<kNPHOSMatrix; m++) fPHOSMatrix[m]=NULL;
+  for (Int_t sm=0; sm<kNEMCALMatrix; sm++) fEMCALMatrix[sm]=NULL;
 }
 
 //______________________________________________________________________________
@@ -106,7 +117,7 @@ AliAODHeader::AliAODHeader(Int_t nRun,
                           ULong64_t trigMask,
                           UChar_t trigClus,
                           UInt_t evttype,
-                          Char_t *title) :
+                          const Char_t *title) :
   AliVHeader(),
   fMagneticField(magField),
   fMuonMagFieldScale(muonMagFieldScale),
@@ -133,6 +144,11 @@ AliAODHeader::AliAODHeader(Int_t nRun,
   SetName("header");
   SetTitle(title);
   for(int j=0; j<2; j++) fZDCEMEnergy[j] = emEnergy[j];
+  for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
+  fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
+  fDiamondCovXY[1]=0.;
+  for (Int_t m=0; m<kNPHOSMatrix; m++) fPHOSMatrix[m]=NULL;
+  for (Int_t sm=0; sm<kNEMCALMatrix; sm++) fEMCALMatrix[sm]=NULL;
 }
 
 //______________________________________________________________________________
@@ -172,6 +188,24 @@ AliAODHeader::AliAODHeader(const AliAODHeader& hdr) :
   SetTitle(hdr.fTitle);
   SetQTheta(hdr.fQTheta, hdr.fNQTheta);
   SetZDCEMEnergy(hdr.fZDCEMEnergy[0], hdr.fZDCEMEnergy[1]);
+  for(Int_t i=0; i<2; i++) fDiamondXY[i]=hdr.fDiamondXY[i];
+  for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
+
+
+  for(Int_t m=0; m<kNPHOSMatrix; m++){
+      if(hdr.fPHOSMatrix[m])
+         fPHOSMatrix[m]=new TGeoHMatrix(*(hdr.fPHOSMatrix[m])) ;
+      else
+         fPHOSMatrix[m]=0;
+  }
+  
+  for(Int_t sm=0; sm<kNEMCALMatrix; sm++){
+      if(hdr.fEMCALMatrix[sm])
+         fEMCALMatrix[sm]=new TGeoHMatrix(*(hdr.fEMCALMatrix[sm])) ;
+      else
+         fEMCALMatrix[sm]=0;
+  }
+
 }
 
 //______________________________________________________________________________
@@ -204,6 +238,23 @@ AliAODHeader& AliAODHeader::operator=(const AliAODHeader& hdr)
     SetTitle(hdr.fTitle);
     SetQTheta(hdr.fQTheta, hdr.fNQTheta);
     SetZDCEMEnergy(hdr.fZDCEMEnergy[0], hdr.fZDCEMEnergy[1]);
+    for(Int_t i=0; i<2; i++) fDiamondXY[i]=hdr.fDiamondXY[i];
+    for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
+
+    for(Int_t m=0; m<kNPHOSMatrix; m++){
+       if(hdr.fPHOSMatrix[m])
+           fPHOSMatrix[m]=new TGeoHMatrix(*(hdr.fPHOSMatrix[m])) ;
+       else
+           fPHOSMatrix[m]=0;
+    }
+    
+    for(Int_t sm=0; sm<kNEMCALMatrix; sm++){
+       if(hdr.fEMCALMatrix[sm])
+           fEMCALMatrix[sm]=new TGeoHMatrix(*(hdr.fEMCALMatrix[sm])) ;
+       else
+           fEMCALMatrix[sm]=0;
+  }
+
   }
 
 
@@ -278,7 +329,7 @@ void AliAODHeader::Print(Option_t* /*option*/) const
 
   if (fQTheta) {
     for (UInt_t i = 0; i<(UInt_t)fNQTheta; i++) {
-      printf("QTheta[%d]              : %d\n", i, GetQTheta(i));
+      printf("QTheta[%d]              : %13.3e\n", i, GetQTheta(i));
     }
   }