AliPhysics  67e0feb (67e0feb)
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  virtual TString GetDefaultArrayName(const AliVEvent * const ev) const { return "mcparticles"; }
65 
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 TString GetDefaultArrayName(const AliVEvent *const ev) const
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
int Int_t
Definition: External.C:63
virtual AliVParticle * GetNextAcceptParticle()
unsigned int UInt_t
Definition: External.C:33
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="")
bool Bool_t
Definition: External.C:53
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