AliPhysics  75b74d3 (75b74d3)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AliParticleContainer.h
Go to the documentation of this file.
1 #ifndef ALIPARTICLECONTAINER_H
2 #define ALIPARTICLECONTAINER_H
3 
4 #include <AliVParticle.h>
5 
6 class AliVEvent;
7 class AliTLorentzVector;
8 
9 #include "AliEmcalContainer.h"
10 
17  public:
18 
20  AliParticleContainer(const char *name);
21  virtual ~AliParticleContainer(){;}
22 
23  virtual Bool_t ApplyParticleCuts(const AliVParticle* vp);
24  virtual Bool_t ApplyKinematicCuts(const AliTLorentzVector& mom);
25  virtual Bool_t AcceptObject(Int_t i) { return AcceptParticle(i);}
26  virtual Bool_t AcceptObject(const TObject* obj) { return AcceptParticle(dynamic_cast<const AliVParticle*>(obj));}
27  virtual Bool_t AcceptParticle(const AliVParticle* vp) ;
28  virtual Bool_t AcceptParticle(Int_t i) ;
29  Double_t GetParticlePtCut() const { return GetMinPt() ; }
30  Double_t GetParticleEtaMin() const { return GetMinEta() ; }
31  Double_t GetParticleEtaMax() const { return GetMaxEta() ; }
32  Double_t GetParticlePhiMin() const { return GetMinPhi() ; }
33  Double_t GetParticlePhiMax() const { return GetMaxPhi() ; }
34  void SetParticlePtCut(Double_t cut) { SetMinPt(cut) ; }
35  void SetParticleEtaLimits(Double_t min, Double_t max) { SetEtaLimits(min, max); }
36  void SetParticlePhiLimits(Double_t min, Double_t max) { SetPhiLimits(min, max); }
37  virtual AliVParticle *GetLeadingParticle(const char* opt="") ;
38  virtual AliVParticle *GetParticle(Int_t i=-1) const;
39  virtual AliVParticle *GetAcceptParticle(Int_t i=-1) ;
40  virtual AliVParticle *GetNextAcceptParticle() ;
41  virtual AliVParticle *GetNextParticle() ;
42  virtual Bool_t GetMomentum(TLorentzVector &mom, const AliVParticle* part, Double_t mass);
43  virtual Bool_t GetMomentum(TLorentzVector &mom, const AliVParticle* part);
44  virtual Bool_t GetMomentum(TLorentzVector &mom, Int_t i);
45  virtual Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i);
46  virtual Bool_t GetNextMomentum(TLorentzVector &mom);
47  virtual Bool_t GetNextAcceptMomentum(TLorentzVector &mom);
48  Int_t GetNParticles() const {return GetNEntries();}
49  Int_t GetNAcceptedParticles() ;
50 
51  void SetClassName(const char *clname);
53  void SetCharge(Short_t c) { fCharge = c ; }
54  void SelectHIJING(Bool_t s) { if (s) fGeneratorIndex = 0; else fGeneratorIndex = -1; }
55  void SetGeneratorIndex(Short_t i) { fGeneratorIndex = i ; }
56 
57  const char* GetTitle() const;
58 
59  protected:
60 
62  Short_t fCharge;
63  Short_t fGeneratorIndex;
64 
65  private:
66  AliParticleContainer(const AliParticleContainer& obj); // copy constructor
67  AliParticleContainer& operator=(const AliParticleContainer& other); // assignment
68 
70  ClassDef(AliParticleContainer,9);
72 
73 };
74 
75 #endif
76 
void SetParticlePtCut(Double_t cut)
virtual AliVParticle * GetNextAcceptParticle()
Double_t GetMinPhi() const
const char * GetTitle() const
AliParticleContainer & operator=(const AliParticleContainer &other)
Double_t GetMaxEta() const
void SetClassName(const char *clname)
Double_t mass
Int_t GetNParticles() const
void SetMinPt(Double_t min)
virtual Bool_t ApplyParticleCuts(const AliVParticle *vp)
void SetEtaLimits(Double_t min, Double_t max)
Double_t GetParticleEtaMin() const
virtual Bool_t GetNextMomentum(TLorentzVector &mom)
Container for particles within the EMCAL framework.
virtual Bool_t GetNextAcceptMomentum(TLorentzVector &mom)
Double_t GetMaxPhi() const
virtual Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i)
Double_t GetMinEta() const
Double_t GetMinPt() const
virtual AliVParticle * GetLeadingParticle(const char *opt="")
virtual AliVParticle * GetParticle(Int_t i=-1) const
virtual Bool_t GetMomentum(TLorentzVector &mom, const AliVParticle *part, Double_t mass)
Base class for container structures within the EMCAL framework.
Short_t fCharge
require minimum distance to edge of TPC sector edge
Double_t GetParticlePtCut() const
Short_t fGeneratorIndex
select particles with charge=fCharge
void SetParticleEtaLimits(Double_t min, Double_t max)
virtual Bool_t ApplyKinematicCuts(const AliTLorentzVector &mom)
Double_t GetParticlePhiMax() const
Double_t GetParticleEtaMax() const
void SetGeneratorIndex(Short_t i)
virtual Bool_t AcceptObject(const TObject *obj)
Double_t GetParticlePhiMin() const
Int_t GetNEntries() const
void SetPhiLimits(Double_t min, Double_t max)
virtual Bool_t AcceptObject(Int_t i)
virtual AliVParticle * GetAcceptParticle(Int_t i=-1)
void SetParticlePhiLimits(Double_t min, Double_t max)
void SetMinDistanceTPCSectorEdge(Double_t min)
virtual Bool_t AcceptParticle(const AliVParticle *vp)
virtual AliVParticle * GetNextParticle()