]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisDataContainer.cxx
Adding the AliAnalysisGUI class which is the main class that controls the GUI.
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisDataContainer.cxx
index ed782a810e315bd5e8907f7bb55148f1a2a6186f..1326ebdb3291dda0876d8ac6217ba541aadfa90c 100644 (file)
 ClassImp(AliAnalysisDataContainer)
 
 //______________________________________________________________________________
-AliAnalysisDataContainer::AliAnalysisDataContainer()
+AliAnalysisDataContainer::AliAnalysisDataContainer() : TNamed(),
+                          fDataReady(kFALSE),
+                          fOwnedData(kFALSE),
+                          fFileName(),
+                          fData(NULL),
+                          fType(NULL),
+                          fProducer(NULL),
+                          fConsumers(NULL)
 {
 // Default ctor.
-   fDataReady = kFALSE;
-   fOwnedData  = kFALSE;
-   fFileName = "";
-   fData  = 0;
-   fType  = 0;
-   fProducer  = 0; 
-   fConsumers = 0;
 }
+
 //______________________________________________________________________________
 AliAnalysisDataContainer::AliAnalysisDataContainer(const char *name, TClass *type)
-                         :TNamed(name,"")
+                         :TNamed(name,""),
+                          fDataReady(kFALSE),
+                          fOwnedData(kTRUE),
+                          fFileName(),
+                          fData(NULL),
+                          fType(type),
+                          fProducer(NULL),
+                          fConsumers(NULL)
 {
 // Normal constructor.
-   fDataReady = kFALSE;
-   fOwnedData = kTRUE;
-   fFileName = "";
-   fData  = 0;
-   fType  = type;
-   fProducer  = 0; 
-   fConsumers = 0;
+}
+
+//______________________________________________________________________________
+AliAnalysisDataContainer::AliAnalysisDataContainer(const AliAnalysisDataContainer &cont)
+                         :TNamed(cont),
+                          fDataReady(cont.fDataReady),
+                          fOwnedData(kFALSE),
+                          fFileName(cont.fFileName),
+                          fData(cont.fData),
+                          fType(cont.fType),
+                          fProducer(cont.fProducer),
+                          fConsumers(NULL)
+{
+// Copy ctor.
+   if (cont.fConsumers) {
+      fConsumers = new TObjArray(2);
+      Int_t ncons = cont.fConsumers->GetEntriesFast();
+      for (Int_t i=0; i<ncons; i++) fConsumers->Add(cont.fConsumers->At(i));
+   }   
 }
 
 //______________________________________________________________________________
@@ -87,6 +107,27 @@ AliAnalysisDataContainer::~AliAnalysisDataContainer()
    if (fConsumers) delete fConsumers;
 }
 
+//______________________________________________________________________________
+AliAnalysisDataContainer &AliAnalysisDataContainer::operator=(const AliAnalysisDataContainer &cont)
+{
+// Assignment.
+   if (&cont != this) {
+      TNamed::operator=(cont);
+      fDataReady = cont.fDataReady;
+      fOwnedData = kFALSE;  // !!! Data owned by cont.
+      fFileName = cont.fFileName;
+      fData = cont.fData;
+      fType = cont.fType;
+      fProducer = cont.fProducer;
+      if (cont.fConsumers) {
+         fConsumers = new TObjArray(2);
+         Int_t ncons = cont.fConsumers->GetEntriesFast();
+         for (Int_t i=0; i<ncons; i++) fConsumers->Add(cont.fConsumers->At(i));
+      }   
+   }   
+   return *this;
+}      
+
 //______________________________________________________________________________
 Bool_t AliAnalysisDataContainer::SetData(TObject *data, Option_t *option)
 {