]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/EMCAL/AliEmcalContainer.h
Don't copy MC label for non-MC dataset (missed track category in previous commit)
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalContainer.h
index fe9d19b6e953f911c0308be854591a1ffff5aa37..f745fc516441f20f359007f3842a83d759ab00bd 100644 (file)
@@ -7,6 +7,7 @@
 
 class TLorentzVector;
 class AliVEvent;
+class AliNamedArrayI;
 
 #include <TNamed.h>
 #include <TClonesArray.h>
@@ -17,27 +18,32 @@ class AliEmcalContainer : public TNamed {
   AliEmcalContainer(const char *name); 
   virtual ~AliEmcalContainer(){;}
 
-  void SetArrayName(const char *n)                 {fClArrayName = n;}
-  TClonesArray               *GetArray()           {return fClArray;}
-  Int_t                       GetNEntries() const  {return fClArray->GetEntriesFast();}
-  const TString&              GetArrayName() const {return fClArrayName;}
-  void                        SortArray() {fClArray->Sort();}
+  TClonesArray               *GetArray()                          { return fClArray                   ; }
+  const TString&              GetArrayName()                const { return fClArrayName               ; }
+  Int_t                       GetCurrentID()                const { return fCurrentID-1               ; }
+  Bool_t                      GetIsParticleLevel()          const { return fIsParticleLevel           ; }
+  Int_t                       GetIndexFromLabel(Int_t lab)  const;
+  Int_t                       GetNEntries()                 const { return fClArray->GetEntriesFast() ; }
   virtual void                GetMomentum(TLorentzVector &mom, Int_t i) const = 0;
+  void                        ResetCurrentID(Int_t i=0)           { fCurrentID = i                    ; }
+  virtual void                SetArray(AliVEvent *event);
+  void                        SetArrayName(const char *n)         { fClArrayName = n                  ; }
+  void                        SetIsParticleLevel(Bool_t b)        { fIsParticleLevel = b              ; }
+  void                        SortArray()                         { fClArray->Sort()                  ; }
 
  protected:
-  void SetArray(AliVEvent *event, const char *clname=0);
-
+  TString                     fClArrayName;             // name of branch
+  TString                     fClassName;               // name of the class in the TClonesArray
+  Bool_t                      fIsParticleLevel;         // whether or not it is a particle level object collection
   TClonesArray               *fClArray;                 //!TClonesArray
+  Int_t                       fCurrentID;               //!current ID for automatic loops
+  AliNamedArrayI             *fLabelMap;                //!Label-Index map
   Double_t                    fVertex[3];               //!event vertex array
-  TString                     fClArrayName;             // name of branch
 
  private:
   AliEmcalContainer(const AliEmcalContainer& obj); // copy constructor
   AliEmcalContainer& operator=(const AliEmcalContainer& other); // assignment
 
-  ClassDef(AliEmcalContainer,1);
-
+  ClassDef(AliEmcalContainer,3);
 };
-
 #endif
-