Add method to trace back the first common ancestor of 2 generated particles
[u/mrichter/AliRoot.git] / OADB / AliOADBContainer.h
index 00a5f1a84fc4ee8b56644a8ee83129d1811c2cb4..1671f8aad9ce92ab16ba9cf1a280783892d5cbff 100644 (file)
@@ -12,7 +12,7 @@
 
 #include <TNamed.h>
 #include <TArrayI.h>
-
+#include <TObjArray.h>
 
 class TObjArray;
 class TArrayI;
@@ -25,14 +25,27 @@ class AliOADBContainer : public TNamed {
   virtual ~AliOADBContainer();
   AliOADBContainer(const AliOADBContainer& cont); 
   AliOADBContainer& operator=(const AliOADBContainer& cont);
-  void AppendObject(TObject* obj, Int_t lower, Int_t upper);
-  void UpdateObject(Int_t index, TObject* obj, Int_t lower, Int_t upper);
-  void RemoveObject(Int_t index);
-  Int_t GetIndexForRun(Int_t run);
-  void WriteToFile(char* fname);
+// Object adding and removal
+  void  AppendObject(TObject* obj, Int_t lower, Int_t upper);
+  void  UpdateObject(Int_t index, TObject* obj, Int_t lower, Int_t upper);
+  void  RemoveObject(Int_t index);
+  void  AddDefaultObject(TNamed* obj);
+  void  CleanDefaultList();
+  Int_t GetIndexForRun(Int_t run) const;
+// I/O  
+  void  WriteToFile(char* fname)  const;
+  Int_t InitFromFile(char* fname, char* key);
+// Getters
+  Int_t GetNumberOfEntries()    const {return fEntries;}
+  Int_t LowerLimit(Int_t idx)   const {return fLowerLimits[idx];}
+  Int_t UpperLimit(Int_t idx)   const {return fUpperLimits[idx];}
+  TObject* GetObject(Int_t run, char* def = "") const;
+  TObject* GetObjectByIndex(Int_t run) const;
+// Debugging  
   void List();
  private :
-  TObjArray*               fArray;         // Array with objects
+  TObjArray*               fArray;         // Array with objects corresponding to run ranges
+  TList*                   fDefaultList;   // List with default arrays
   TArrayI                  fLowerLimits;   // lower limit of run range
   TArrayI                  fUpperLimits;   // upper limit of run range
   Int_t                    fEntries;       // Number of entries