]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
cleaning TObjArray
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Apr 2008 12:52:29 +0000 (12:52 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Apr 2008 12:52:29 +0000 (12:52 +0000)
STEER/AliQADataMakerRec.cxx
STEER/AliQADataMakerRec.h
STEER/AliQADataMakerSim.cxx
STEER/AliQADataMakerSim.h

index 3df4e8bfaa2b306d2f17ce400664e0fd81bb6fe7..1b74c93caa04c47bbedd2f88b89fd4d7d44fdf7e 100644 (file)
@@ -62,6 +62,18 @@ AliQADataMakerRec::AliQADataMakerRec(const AliQADataMakerRec& qadm) :
        fDetectorDirName = GetName() ; 
 }
 
+//____________________________________________________________________________ 
+AliQADataMakerRec::~AliQADataMakerRec()
+{
+       //dtor: delete the TObjArray and thei content
+       fESDsQAList->Delete() ;     
+       fRawsQAList->Delete() ;
+       fRecPointsQAList->Delete() ; 
+       delete fESDsQAList ;     
+       delete fRawsQAList ;
+       delete fRecPointsQAList ; 
+}
+
 //__________________________________________________________________
 AliQADataMakerRec& AliQADataMakerRec::operator = (const AliQADataMakerRec& qadm )
 {
@@ -140,16 +152,22 @@ TObjArray *  AliQADataMakerRec::Init(AliQA::TASKINDEX_t task, Int_t run, Int_t c
                SetCycle(cycles) ;  
        
        if ( task == AliQA::kRAWS ) {
-               fRawsQAList = new TObjArray(100) ;       
-               InitRaws() ;
+               if (! fRawsQAList ) { 
+                       fRawsQAList = new TObjArray(100) ;       
+                       InitRaws() ;
+               }
                rv = fRawsQAList ;
        } else if ( task == AliQA::kRECPOINTS ) {
-               fRecPointsQAList = new TObjArray(100) ; 
-               InitRecPoints() ;
+               if ( ! fRecPointsQAList ) {
+                       fRecPointsQAList = new TObjArray(100) ; 
+                       InitRecPoints() ;
+               }
                rv = fRecPointsQAList ;
        } else if ( task == AliQA::kESDS ) {
-               fESDsQAList = new TObjArray(100) ; 
-               InitESDs() ;
+               if ( ! fESDsQAList ) {
+                       fESDsQAList = new TObjArray(100) ; 
+                       InitESDs() ;
+               }
                rv = fESDsQAList ;
        }
        
index b27f8d2165d7aab0f446f6754f3f1677d781f456..3df126b4d332f8521ab059245d40318a1e6aabb3 100644 (file)
@@ -28,7 +28,7 @@ public:
        AliQADataMakerRec(const char * name="", const char * title="") ;          // ctor
        AliQADataMakerRec(const AliQADataMakerRec& qadm) ;   
        AliQADataMakerRec& operator = (const AliQADataMakerRec& qadm) ;
-       virtual ~AliQADataMakerRec() {;} // dtor
+       virtual ~AliQADataMakerRec() ; // dtor
   
        virtual Int_t Add2DigitsList(TH1 * /*hist*/, const Int_t /*index*/)    { return -1 ; } 
        virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index)  { return Add2List(hist, index, fESDsQAList) ; }
index 2174f24f258dff5cbdd2a2e40354a7c3d8dfc7de..148fc3734a464776c1257b4ffad9c8d7c5e48574 100644 (file)
@@ -58,6 +58,18 @@ AliQADataMakerSim::AliQADataMakerSim(const AliQADataMakerSim& qadm) :
   fDetectorDirName = GetName() ; 
 }
 
+//____________________________________________________________________________ 
+AliQADataMakerSim::~AliQADataMakerSim()
+{
+       //dtor: delete the TObjArray and thei content
+       fDigitsQAList->Delete() ;     
+       fHitsQAList->Delete() ;
+       fSDigitsQAList->Delete() ; 
+       delete fDigitsQAList ;     
+       delete fHitsQAList ;
+       delete fSDigitsQAList ; 
+}
+
 //__________________________________________________________________
 AliQADataMakerSim& AliQADataMakerSim::operator = (const AliQADataMakerSim& qadm )
 {
@@ -145,16 +157,22 @@ TObjArray *  AliQADataMakerSim::Init(AliQA::TASKINDEX_t task, Int_t run, Int_t c
                SetCycle(cycles) ;  
        TObjArray * rv = NULL ; 
        if ( task == AliQA::kHITS ) {
-               fHitsQAList = new TObjArray(100) ;       
-               InitHits() ;
+               if ( ! fHitsQAList ) {
+                       fHitsQAList = new TObjArray(100) ;       
+                       InitHits() ;
+               }
                rv = fHitsQAList ;
        } else if ( task == AliQA::kSDIGITS ) {
-               fSDigitsQAList = new TObjArray(100) ; 
-               InitSDigits() ;
+               if ( ! fSDigitsQAList ) {
+                       fSDigitsQAList = new TObjArray(100) ; 
+                       InitSDigits() ;
+               }
                rv = fSDigitsQAList ;
    } else if ( task == AliQA::kDIGITS ) {
-          fDigitsQAList = new TObjArray(100); 
-          InitDigits() ;
+          if ( ! fDigitsQAList ) {
+                  fDigitsQAList = new TObjArray(100) ;
+                  InitDigits() ;
+          }
           rv =  fDigitsQAList ;
    }
   
index 678b3325071badf7c199a115195a3ffbe0a6e087..d46e9fd6efb048572905688db0f5806f11b7ccf5 100644 (file)
@@ -26,7 +26,7 @@ public:
        AliQADataMakerSim(const char * name="", const char * title="") ;          // ctor
        AliQADataMakerSim(const AliQADataMakerSim& qadm) ;   
        AliQADataMakerSim& operator = (const AliQADataMakerSim& qadm) ;
-       virtual ~AliQADataMakerSim() {;} // dtor
+       virtual ~AliQADataMakerSim() ; // dtor
   
        virtual Int_t Add2DigitsList(TH1 * hist, const Int_t index)    { return Add2List(hist, index, fDigitsQAList) ; }
        virtual Int_t Add2ESDsList(TH1 * /*hist*/, const Int_t /*index*/)      { return -1 ; }