Added a protection in the dtor. When the tasks is created by default ctor (to access...
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Jul 2002 07:11:35 +0000 (07:11 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Jul 2002 07:11:35 +0000 (07:11 +0000)
This is because I am still unable to read the tasks form the Tree (SetAddress destroys gAlice !)

EMCAL/AliEMCALDigitizer.cxx
EMCAL/AliEMCALSDigitizer.cxx
PHOS/AliPHOSClusterizerv1.cxx
PHOS/AliPHOSDigitizer.cxx
PHOS/AliPHOSPIDv1.cxx
PHOS/AliPHOSSDigitizer.cxx
PHOS/AliPHOSTrackSegmentMakerv1.cxx

index bb9550b..87e77fe 100644 (file)
@@ -115,23 +115,26 @@ AliEMCALDigitizer::AliEMCALDigitizer(AliRunDigitizer * ard):AliDigitizer(ard)
   AliEMCALDigitizer::~AliEMCALDigitizer()
 {
   // dtor
+  // gime=0 if Digitizer created by default ctor (to get just the parameters)
  
   AliEMCALGetter * gime = AliEMCALGetter::GetInstance() ; 
 
-  // remove the task from the folder list
-  gime->RemoveTask("S",GetName()) ;
-  gime->RemoveTask("D",GetName()) ;
-
-  // remove the Digits from the folder list
-  gime->RemoveObjects("D", GetName()) ;
-
-  // remove the SDigits from the folder list
-  gime->RemoveSDigits() ;
-
-  // Delete gAlice
-  gime->CloseFile() ; 
-
-  fSplitFile = 0 ; 
+  if (gime) {
+    // remove the task from the folder list
+    gime->RemoveTask("S",GetName()) ;
+    gime->RemoveTask("D",GetName()) ;
+    
+    // remove the Digits from the folder list
+    gime->RemoveObjects("D", GetName()) ;
+    
+    // remove the SDigits from the folder list
+    gime->RemoveSDigits() ;
+    
+    // Delete gAlice
+    gime->CloseFile() ; 
+    
+    fSplitFile = 0 ; 
+  }
 }
 
 //____________________________________________________________________________ 
index e001929..25d63b5 100644 (file)
@@ -90,8 +90,10 @@ AliEMCALSDigitizer::AliEMCALSDigitizer(const char* headerFile, const char *sDigi
 AliEMCALSDigitizer::~AliEMCALSDigitizer()
 {
   // dtor
-  
+  // gime=0 if Digitizer created by default ctor (to get just the parameters)
   AliEMCALGetter * gime = AliEMCALGetter::GetInstance() ; 
+
   if (gime) {
     // remove the task from the folder list
     gime->RemoveTask("S",GetName()) ;
index 0f42c71..56252f2 100644 (file)
@@ -112,23 +112,27 @@ AliPHOSClusterizerv1::AliPHOSClusterizerv1(const char* headerFile,const char* na
   AliPHOSClusterizerv1::~AliPHOSClusterizerv1()
 {
   // dtor
+  // gime=0 if Clusterizer created by default ctor (to get just the parameters)
 
  
- AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
-
- // remove the task from the folder list
- gime->RemoveTask("C",GetName()) ;
-
- // remove the data from the folder list
- TString name(GetName()) ; 
- name.Remove(name.Index(":")) ; 
- gime->RemoveObjects("D", name) ;  //  Digits
- gime->RemoveObjects("RE", name) ; // EMCARecPoints
- gime->RemoveObjects("RC", name) ; // CPVRecPoints
-
- // Delete gAlice
- gime->CloseFile() ; 
-
+  AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
+  
+  if (gime) {
+    // remove the task from the folder list
+    gime->RemoveTask("C",GetName()) ;
+    
+    // remove the data from the folder list
+    TString name(GetName()) ; 
+    name.Remove(name.Index(":")) ; 
+    gime->RemoveObjects("D", name) ;  //  Digits
+    gime->RemoveObjects("RE", name) ; // EMCARecPoints
+    gime->RemoveObjects("RC", name) ; // CPVRecPoints
+    
+    // Delete gAlice
+    gime->CloseFile() ; 
+    
+    fSplitFile = 0 ; 
+  }
 }
 
 //____________________________________________________________________________
index cc985f3..4335046 100644 (file)
@@ -118,24 +118,26 @@ AliPHOSDigitizer::AliPHOSDigitizer(AliRunDigitizer * ard):AliDigitizer(ard)
   AliPHOSDigitizer::~AliPHOSDigitizer()
 {
   // dtor
-
+  // gime=0 if Digitizer created by default ctor (to get just the parameters)
+  
  AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
-
- // remove the task from the folder list
- gime->RemoveTask("S",GetName()) ;
- gime->RemoveTask("D",GetName()) ;
-
- // remove the Digits from the folder list
- gime->RemoveObjects("D", GetName()) ;
-
- // remove the SDigits from the folder list
- gime->RemoveSDigits() ;
-
- // Delete gAlice
- gime->CloseFile() ; 
-
- fSplitFile = 0 ; 
+ if (gime) {
+   // remove the task from the folder list
+   gime->RemoveTask("S",GetName()) ;
+   gime->RemoveTask("D",GetName()) ;
+   
+   // remove the Digits from the folder list
+   gime->RemoveObjects("D", GetName()) ;
+   
+   // remove the SDigits from the folder list
+   gime->RemoveSDigits() ;
+   
+   // Delete gAlice
+   gime->CloseFile() ; 
+   
+   fSplitFile = 0 ; 
+ }
 }
 
 //____________________________________________________________________________
index 25c4f02..5a72c3c 100644 (file)
@@ -134,30 +134,35 @@ AliPHOSPIDv1::AliPHOSPIDv1(const char * headerFile,const char * name, const char
 //____________________________________________________________________________
 AliPHOSPIDv1::~AliPHOSPIDv1()
 { 
-
+  // dtor
+  // gime=0 if PID created by default ctor (to get just the parameters)
+  
   delete [] fX ; // Principal input 
   delete [] fP ; // Principal components
   delete fParameters ; // Matrix of Parameters 
 
   AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
   
-  // remove the task from the folder list
-  gime->RemoveTask("P",GetName()) ;
-  TString name(GetName()) ; 
-  name.ReplaceAll("pid", "clu") ; 
-  gime->RemoveTask("C",name) ;
-  
-  // remove the data from the folder list
-  name = GetName() ; 
-  name.Remove(name.Index(":")) ; 
-  gime->RemoveObjects("RE", name) ; // EMCARecPoints
-  gime->RemoveObjects("RC", name) ; // CPVRecPoints
-  gime->RemoveObjects("T", name) ;  // TrackSegments
-  gime->RemoveObjects("P", name) ;  // RecParticles
-  
-  // Delete gAlice
-  gime->CloseFile() ; 
+  if (gime) {
+    // remove the task from the folder list
+    gime->RemoveTask("P",GetName()) ;
+    TString name(GetName()) ; 
+    name.ReplaceAll("pid", "clu") ; 
+    gime->RemoveTask("C",name) ;
+    
+    // remove the data from the folder list
+    name = GetName() ; 
+    name.Remove(name.Index(":")) ; 
+    gime->RemoveObjects("RE", name) ; // EMCARecPoints
+    gime->RemoveObjects("RC", name) ; // CPVRecPoints
+    gime->RemoveObjects("T", name) ;  // TrackSegments
+    gime->RemoveObjects("P", name) ;  // RecParticles
+    
+    // Delete gAlice
+    gime->CloseFile() ; 
   
+    fSplitFile = 0 ;  
+  }
 }
 
 //____________________________________________________________________________
index 1c15241..a9b2f76 100644 (file)
@@ -93,8 +93,11 @@ AliPHOSSDigitizer::AliPHOSSDigitizer(const char * headerFile, const char * sDigi
 //____________________________________________________________________________ 
 AliPHOSSDigitizer::~AliPHOSSDigitizer()
 {
+  // dtor
+  // gime=0 if Digitizer created by default ctor (to get just the parameters)
 
   AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
+  
   if (gime) {
     // remove the task from the folder list
     gime->RemoveTask("S",GetName()) ;
index d69f280..5079ea2 100644 (file)
@@ -107,26 +107,31 @@ ClassImp( AliPHOSTrackSegmentMakerv1)
  AliPHOSTrackSegmentMakerv1::~AliPHOSTrackSegmentMakerv1()
 { 
   // dtor
-  delete fLinkUpArray  ;
-
- AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
-
- // remove the task from the folder list
- gime->RemoveTask("T",GetName()) ;
- TString name(GetName()) ; 
- name.ReplaceAll("tsm", "clu") ; 
- gime->RemoveTask("C",name) ;
+  // gime=0 if TrackSegmentMaker created by default ctor (to get just the parameters)
 
- // remove the data from the folder list
- name = GetName() ; 
- name.Remove(name.Index(":")) ; 
- gime->RemoveObjects("RE", name) ; // EMCARecPoints
- gime->RemoveObjects("RC", name) ; // CPVRecPoints
- gime->RemoveObjects("T", name) ;  // TrackSegments
-
- // Delete gAlice
- gime->CloseFile() ; 
+  delete fLinkUpArray  ;
+  
+  AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
 
+  if (gime) {
+    // remove the task from the folder list
+    gime->RemoveTask("T",GetName()) ;
+    TString name(GetName()) ; 
+    name.ReplaceAll("tsm", "clu") ; 
+    gime->RemoveTask("C",name) ;
+    
+    // remove the data from the folder list
+    name = GetName() ; 
+    name.Remove(name.Index(":")) ; 
+    gime->RemoveObjects("RE", name) ; // EMCARecPoints
+    gime->RemoveObjects("RC", name) ; // CPVRecPoints
+    gime->RemoveObjects("T", name) ;  // TrackSegments
+    
+    // Delete gAlice
+    gime->CloseFile() ; 
+    
+    fSplitFile = 0 ; 
+  }
 }