AliPhysics  2797316 (2797316)
 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;
7 
8 #include <TArrayC.h>
9 
10 #include "AliAODMCParticle.h"
11 #include "AliParticleContainer.h"
12 
13 #if !(defined(__CINT__) || defined(__MAKECINT__))
16 #endif
17 
25  public:
26 
28  AliMCParticleContainer(const char *name);
30 
31  virtual Bool_t ApplyMCParticleCuts(const AliAODMCParticle* vp, UInt_t &rejectionReason) const;
32  virtual Bool_t AcceptObject(Int_t i, UInt_t &rejectionReason) const { return AcceptMCParticle(i, rejectionReason);}
33  virtual Bool_t AcceptObject(const TObject* obj, UInt_t &rejectionReason) const { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(obj), rejectionReason);}
34  virtual Bool_t AcceptParticle(Int_t i, UInt_t &rejectionReason) const { return AcceptMCParticle(i, rejectionReason);}
35  virtual Bool_t AcceptParticle(const AliVParticle* vp, UInt_t &rejectionReason) const { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(vp), rejectionReason);}
36  virtual Bool_t AcceptMCParticle(const AliAODMCParticle* vp, UInt_t &rejectionReason) const;
37  virtual Bool_t AcceptMCParticle(Int_t i, UInt_t &rejectionReason) const;
38  virtual AliAODMCParticle *GetMCParticleWithLabel(Int_t lab) const;
39  virtual AliAODMCParticle *GetAcceptMCParticleWithLabel(Int_t lab) ;
40  virtual AliAODMCParticle *GetLeadingMCParticle(const char* opt="") { return static_cast<AliAODMCParticle*>(GetLeadingParticle(opt)); }
41  virtual AliAODMCParticle *GetMCParticle(Int_t i=-1) const;
42  virtual AliAODMCParticle *GetAcceptMCParticle(Int_t i=-1) const;
43  virtual AliAODMCParticle *GetNextAcceptMCParticle() ;
44  virtual AliAODMCParticle *GetNextMCParticle() ;
45  virtual AliVParticle *GetParticle(Int_t i=-1) const { return GetMCParticle(i) ; }
46  virtual AliVParticle *GetAcceptParticle(Int_t i=-1) const { return GetAcceptMCParticle(i) ; }
47  virtual AliVParticle *GetNextAcceptParticle() { return GetNextAcceptMCParticle() ; }
48  virtual AliVParticle *GetNextParticle() { return GetNextMCParticle() ; }
49 
50  void SetMCFlag(UInt_t m) { fMCFlag = m ; }
51  void SelectPhysicalPrimaries(Bool_t s) { if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ; }
52 
53  const char* GetTitle() const;
54 
55 #if !(defined(__CINT__) || defined(__MAKECINT__))
56  const AliMCParticleIterableContainer all() const;
58 
61 #endif
62 
63  protected:
64  UInt_t fMCFlag;
65 
66  private:
67  AliMCParticleContainer(const AliMCParticleContainer& obj); // copy constructor
68  AliMCParticleContainer& operator=(const AliMCParticleContainer& other); // assignment
69 
71  ClassDef(AliMCParticleContainer,1);
73 };
74 
75 #endif
76 
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
const AliMCParticleIterableMomentumContainer accepted_momentum() const
virtual Bool_t AcceptParticle(const AliVParticle *vp, UInt_t &rejectionReason) const
virtual AliAODMCParticle * GetNextMCParticle()
virtual AliAODMCParticle * GetAcceptMCParticle(Int_t i=-1) const
virtual Bool_t ApplyMCParticleCuts(const AliAODMCParticle *vp, UInt_t &rejectionReason) const
virtual AliVParticle * GetParticle(Int_t i=-1) const
const AliMCParticleIterableContainer all() const
UInt_t fMCFlag
select MC particles with flags
Container for particles within the EMCAL framework.
virtual Bool_t AcceptMCParticle(const AliAODMCParticle *vp, UInt_t &rejectionReason) const
virtual Bool_t AcceptObject(Int_t i, UInt_t &rejectionReason) const
virtual AliVParticle * GetNextAcceptParticle()
virtual AliVParticle * GetAcceptParticle(Int_t i=-1) const
virtual AliAODMCParticle * GetAcceptMCParticleWithLabel(Int_t lab)
virtual AliVParticle * GetLeadingParticle(const char *opt="")
virtual AliAODMCParticle * GetNextAcceptMCParticle()
const char * GetTitle() const
const AliMCParticleIterableMomentumContainer all_momentum() const
void SelectPhysicalPrimaries(Bool_t s)
virtual AliAODMCParticle * GetLeadingMCParticle(const char *opt="")
EMCALIterableContainer::AliEmcalIterableContainerT< AliAODMCParticle, EMCALIterableContainer::operator_star_object< AliAODMCParticle > > AliMCParticleIterableContainer
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
EMCALIterableContainer::AliEmcalIterableContainerT< AliAODMCParticle, EMCALIterableContainer::operator_star_pair< AliAODMCParticle > > AliMCParticleIterableMomentumContainer