]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/EMCAL/AliEmcalContainer.h
turn off energy and timing calibration for MC
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalContainer.h
index 11bb6c3288db3a86b7a326f342847615bfc977b7..f745fc516441f20f359007f3842a83d759ab00bd 100644 (file)
@@ -5,39 +5,45 @@
 // container with name, TClonesArray
 //
 
+class TLorentzVector;
 class AliVEvent;
+class AliNamedArrayI;
 
-#include <iostream>
-#include "Rtypes.h"
-#include <TArrayS.h>
-#include "TString.h"
-#include "TNamed.h"
-#include "TClonesArray.h"
+#include <TNamed.h>
+#include <TClonesArray.h>
 
 class AliEmcalContainer : public TNamed {
  public:
   AliEmcalContainer();
   AliEmcalContainer(const char *name); 
-  virtual ~AliEmcalContainer();
-
-  void SetArrayName(const char *n)                 {fClArrayName = n;}
-  TClonesArray               *GetArray()           {return fClArray;}
-  Int_t                       GetNEntries() const  {return fClArray->GetEntriesFast();}
-  TString                     GetArrayName()       {return fClArrayName;}
+  virtual ~AliEmcalContainer(){;}
+
+  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);
-
-  TClonesArray               *fClArray;                 //!TClonesArray
   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
 
  private:
   AliEmcalContainer(const AliEmcalContainer& obj); // copy constructor
   AliEmcalContainer& operator=(const AliEmcalContainer& other); // assignment
 
-  ClassDef(AliEmcalContainer,1);
-
+  ClassDef(AliEmcalContainer,3);
 };
-
 #endif
-