]>
Commit | Line | Data |
---|---|---|
e58333e0 | 1 | #ifndef AliEmcalContainer_H |
2 | #define AliEmcalContainer_H | |
3 | ||
4 | // | |
5 | // container with name, TClonesArray | |
6 | // | |
7 | ||
6421eeb0 | 8 | class TLorentzVector; |
e58333e0 | 9 | class AliVEvent; |
ef46ebe5 | 10 | class AliNamedArrayI; |
e58333e0 | 11 | |
6421eeb0 | 12 | #include <TNamed.h> |
13 | #include <TClonesArray.h> | |
e58333e0 | 14 | |
15 | class AliEmcalContainer : public TNamed { | |
16 | public: | |
17 | AliEmcalContainer(); | |
18 | AliEmcalContainer(const char *name); | |
6421eeb0 | 19 | virtual ~AliEmcalContainer(){;} |
e58333e0 | 20 | |
ef46ebe5 | 21 | TClonesArray *GetArray() { return fClArray ; } |
ef46ebe5 | 22 | const TString& GetArrayName() const { return fClArrayName ; } |
23 | Int_t GetCurrentID() const { return fCurrentID-1 ; } | |
ef46ebe5 | 24 | Bool_t GetIsParticleLevel() const { return fIsParticleLevel ; } |
293f6fd1 CL |
25 | Int_t GetIndexFromLabel(Int_t lab) const; |
26 | Int_t GetNEntries() const { return fClArray->GetEntriesFast() ; } | |
6421eeb0 | 27 | virtual void GetMomentum(TLorentzVector &mom, Int_t i) const = 0; |
293f6fd1 | 28 | void ResetCurrentID(Int_t i=0) { fCurrentID = i ; } |
b6f970ad | 29 | virtual void SetArray(AliVEvent *event); |
293f6fd1 CL |
30 | void SetArrayName(const char *n) { fClArrayName = n ; } |
31 | void SetIsParticleLevel(Bool_t b) { fIsParticleLevel = b ; } | |
32 | void SortArray() { fClArray->Sort() ; } | |
e58333e0 | 33 | |
34 | protected: | |
e58333e0 | 35 | TString fClArrayName; // name of branch |
b6f970ad | 36 | TString fClassName; // name of the class in the TClonesArray |
ef46ebe5 | 37 | Bool_t fIsParticleLevel; // whether or not it is a particle level object collection |
ef46ebe5 | 38 | TClonesArray *fClArray; //!TClonesArray |
b6f970ad | 39 | Int_t fCurrentID; //!current ID for automatic loops |
ef46ebe5 | 40 | AliNamedArrayI *fLabelMap; //!Label-Index map |
41 | Double_t fVertex[3]; //!event vertex array | |
e58333e0 | 42 | |
43 | private: | |
44 | AliEmcalContainer(const AliEmcalContainer& obj); // copy constructor | |
45 | AliEmcalContainer& operator=(const AliEmcalContainer& other); // assignment | |
46 | ||
ef46ebe5 | 47 | ClassDef(AliEmcalContainer,3); |
e58333e0 | 48 | }; |
e58333e0 | 49 | #endif |