AliPhysics  75b74d3 (75b74d3)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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);
26  virtual Bool_t AcceptObject(Int_t i) { return AcceptMCParticle(i);}
27  virtual Bool_t AcceptObject(const TObject* obj) { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(obj));}
28  virtual Bool_t AcceptParticle(Int_t i) { return AcceptMCParticle(i);}
29  virtual Bool_t AcceptParticle(const AliVParticle* vp) { return AcceptMCParticle(dynamic_cast<const AliAODMCParticle*>(vp));}
30  virtual Bool_t AcceptMCParticle(const AliAODMCParticle* vp) ;
31  virtual Bool_t AcceptMCParticle(Int_t i) ;
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) ;
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) { return GetAcceptMCParticle(i) ; }
41  virtual AliVParticle *GetNextAcceptParticle() { return GetNextAcceptMCParticle() ; }
42  virtual AliVParticle *GetNextParticle() { return GetNextMCParticle() ; }
43  virtual Bool_t GetMomentum(TLorentzVector &mom, const AliAODMCParticle* part, Double_t mass);
44  virtual Bool_t GetMomentum(TLorentzVector &mom, const AliAODMCParticle* part);
45  virtual Bool_t GetMomentum(TLorentzVector &mom, Int_t i);
46  virtual Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i);
47  virtual Bool_t GetNextMomentum(TLorentzVector &mom);
48  virtual Bool_t GetNextAcceptMomentum(TLorentzVector &mom);
49 
50  void SetClassName(const char *clname);
51  void SetMCFlag(UInt_t m) { fMCFlag = m ; }
52  void SelectPhysicalPrimaries(Bool_t s) { if (s) fMCFlag |= AliAODMCParticle::kPhysicalPrim ; }
53 
54  const char* GetTitle() const;
55 
56  protected:
57  UInt_t fMCFlag;
58 
59  private:
60  AliMCParticleContainer(const AliMCParticleContainer& obj); // copy constructor
61  AliMCParticleContainer& operator=(const AliMCParticleContainer& other); // assignment
62 
64  ClassDef(AliMCParticleContainer,1);
65 
66 };
67 
68 #endif
69 
Double_t mass
Container for particles within the EMCAL framework.
Container for MC-true particles within the EMCAL framework.