AliPhysics  a9863a5 (a9863a5)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMCParticleContainer.h
Go to the documentation of this file.
1 #ifndef ALIMCPARTICLECONTAINER_H
2 #define ALIMCPARTICLECONTAINER_H
3 
4 class AliVEvent;
5 class AliVParticle;
6 class AliTLorentzVector;
7 
8 #include <TArrayC.h>
9 
10 #include "AliAODMCParticle.h"
11 #include "AliParticleContainer.h"
12 
14 
22  public:
23 
25  AliMCParticleContainer(const char *name);
27 
28  virtual Bool_t ApplyMCParticleCuts(const AliAODMCParticle* vp, UInt_t &rejectionReason) const;
29  virtual Bool_t AcceptObject(Int_t i, UInt_t &rejectionReason) const { return AcceptMCParticle(i, rejectionReason);}
30  virtual Bool_t AcceptObject(const TObject* obj, UInt_t &rejectionReason) const { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(obj), rejectionReason);}
31  virtual Bool_t AcceptParticle(Int_t i, UInt_t &rejectionReason) const { return AcceptMCParticle(i, rejectionReason);}
32  virtual Bool_t AcceptParticle(const AliVParticle* vp, UInt_t &rejectionReason) const { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(vp), rejectionReason);}
33  virtual Bool_t AcceptMCParticle(const AliAODMCParticle* vp, UInt_t &rejectionReason) const;
34  virtual Bool_t AcceptMCParticle(Int_t i, UInt_t &rejectionReason) const;
35  virtual AliAODMCParticle *GetMCParticleWithLabel(Int_t lab) const;
36  virtual AliAODMCParticle *GetAcceptMCParticleWithLabel(Int_t lab) ;
37  virtual AliAODMCParticle *GetLeadingMCParticle(const char* opt="") { return static_cast<AliAODMCParticle*>(GetLeadingParticle(opt)); }
38  virtual AliAODMCParticle *GetMCParticle(Int_t i=-1) const;
39  virtual AliAODMCParticle *GetAcceptMCParticle(Int_t i=-1) const;
40  virtual AliAODMCParticle *GetNextAcceptMCParticle() ;
41  virtual AliAODMCParticle *GetNextMCParticle() ;
42  virtual AliVParticle *GetParticle(Int_t i=-1) const { return GetMCParticle(i) ; }
43  virtual AliVParticle *GetAcceptParticle(Int_t i=-1) const { return GetAcceptMCParticle(i) ; }
44  virtual AliVParticle *GetNextAcceptParticle() { return GetNextAcceptMCParticle() ; }
45  virtual AliVParticle *GetNextParticle() { return GetNextMCParticle() ; }
46 
47  void SetMCFlag(UInt_t m) { fMCFlag = m ; }
48  void SelectPhysicalPrimaries(Bool_t s) { if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ; }
49 
50  const char* GetTitle() const;
51 
52  const AliMCParticleIterableContainer all() const;
54 
59 
64 
65  protected:
66  UInt_t fMCFlag;
67 
68  private:
69  AliMCParticleContainer(const AliMCParticleContainer& obj); // copy constructor
70  AliMCParticleContainer& operator=(const AliMCParticleContainer& other); // assignment
71 
73  ClassDef(AliMCParticleContainer,1);
75 };
76 
77 #endif
78 
virtual AliVParticle * GetNextParticle()
virtual AliAODMCParticle * GetMCParticle(Int_t i=-1) const
AliMCParticleContainer & operator=(const AliMCParticleContainer &other)
virtual Bool_t AcceptParticle(Int_t i, UInt_t &rejectionReason) const
virtual Bool_t AcceptParticle(const AliVParticle *vp, UInt_t &rejectionReason) const
virtual AliAODMCParticle * GetNextMCParticle()
AliMCParticleIterableContainer::iterator accept_rend() const
AliMCParticleIterableContainer::iterator begin() const
virtual AliAODMCParticle * GetAcceptMCParticle(Int_t i=-1) const
virtual Bool_t ApplyMCParticleCuts(const AliAODMCParticle *vp, UInt_t &rejectionReason) const
AliMCParticleIterableContainer::iterator rend() const
virtual AliVParticle * GetParticle(Int_t i=-1) const
const AliMCParticleIterableContainer all() const
UInt_t fMCFlag
select MC particles with flags
bidirectional stl iterator over the EMCAL iterable container
Container for particles within the EMCAL framework.
virtual Bool_t AcceptMCParticle(const AliAODMCParticle *vp, UInt_t &rejectionReason) const
AliEmcalIterableContainerT< AliAODMCParticle > AliMCParticleIterableContainer
virtual Bool_t AcceptObject(Int_t i, UInt_t &rejectionReason) const
AliMCParticleIterableContainer::iterator accept_rbegin() const
virtual AliVParticle * GetNextAcceptParticle()
AliMCParticleIterableContainer::iterator accept_end() const
AliMCParticleIterableContainer::iterator end() const
virtual AliVParticle * GetAcceptParticle(Int_t i=-1) const
virtual AliAODMCParticle * GetAcceptMCParticleWithLabel(Int_t lab)
virtual AliVParticle * GetLeadingParticle(const char *opt="")
virtual AliAODMCParticle * GetNextAcceptMCParticle()
AliMCParticleIterableContainer::iterator accept_begin() const
const char * GetTitle() const
void SelectPhysicalPrimaries(Bool_t s)
virtual AliAODMCParticle * GetLeadingMCParticle(const char *opt="")
virtual Bool_t AcceptObject(const TObject *obj, UInt_t &rejectionReason) const
Container for MC-true particles within the EMCAL framework.
virtual AliAODMCParticle * GetMCParticleWithLabel(Int_t lab) const
const AliMCParticleIterableContainer accepted() const
AliMCParticleIterableContainer::iterator rbegin() const