AliPhysics  9d9c621 (9d9c621)
 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 
19  public:
20 
22  AliMCParticleContainer(const char *name);
23  virtual ~AliMCParticleContainer(){;}
24 
25  virtual Bool_t ApplyMCParticleCuts(const AliAODMCParticle* vp, UInt_t &rejectionReason) const;
26  virtual Bool_t AcceptObject(Int_t i, UInt_t &rejectionReason) const { return AcceptMCParticle(i, rejectionReason);}
27  virtual Bool_t AcceptObject(const TObject* obj, UInt_t &rejectionReason) const { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(obj), rejectionReason);}
28  virtual Bool_t AcceptParticle(Int_t i, UInt_t &rejectionReason) const { return AcceptMCParticle(i, rejectionReason);}
29  virtual Bool_t AcceptParticle(const AliVParticle* vp, UInt_t &rejectionReason) const { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(vp), rejectionReason);}
30  virtual Bool_t AcceptMCParticle(const AliAODMCParticle* vp, UInt_t &rejectionReason) const;
31  virtual Bool_t AcceptMCParticle(Int_t i, UInt_t &rejectionReason) const;
32  virtual AliAODMCParticle *GetMCParticleWithLabel(Int_t lab) const;
33  virtual AliAODMCParticle *GetAcceptMCParticleWithLabel(Int_t lab) ;
34  virtual AliAODMCParticle *GetLeadingMCParticle(const char* opt="") { return static_cast<AliAODMCParticle*>(GetLeadingParticle(opt)); }
35  virtual AliAODMCParticle *GetMCParticle(Int_t i=-1) const;
36  virtual AliAODMCParticle *GetAcceptMCParticle(Int_t i=-1) const;
37  virtual AliAODMCParticle *GetNextAcceptMCParticle() ;
38  virtual AliAODMCParticle *GetNextMCParticle() ;
39  virtual AliVParticle *GetParticle(Int_t i=-1) const { return GetMCParticle(i) ; }
40  virtual AliVParticle *GetAcceptParticle(Int_t i=-1) const { return GetAcceptMCParticle(i) ; }
41  virtual AliVParticle *GetNextAcceptParticle() { return GetNextAcceptMCParticle() ; }
42  virtual AliVParticle *GetNextParticle() { return GetNextMCParticle() ; }
43 
44  void SetMCFlag(UInt_t m) { fMCFlag = m ; }
45  void SelectPhysicalPrimaries(Bool_t s) { if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ; }
46 
47  const char* GetTitle() const;
48 
49  protected:
50  UInt_t fMCFlag;
51 
52  private:
53  AliMCParticleContainer(const AliMCParticleContainer& obj); // copy constructor
54  AliMCParticleContainer& operator=(const AliMCParticleContainer& other); // assignment
55 
57  ClassDef(AliMCParticleContainer,1);
58 
59 };
60 
61 #endif
62 
Container for particles within the EMCAL framework.
Container for MC-true particles within the EMCAL framework.