1 #ifndef ALIPARTICLECONTAINER_H
2 #define ALIPARTICLECONTAINER_H
8 #include <AliVParticle.h>
11 class AliTLorentzVector;
57 AliVParticle,std::ptrdiff_t,
58 AliVParticle **, AliVParticle *&>
116 class all_iterator :
public std::iterator<std::bidirectional_iterator_tag,
117 AliVParticle,std::ptrdiff_t,
118 AliVParticle **, AliVParticle *&>
146 virtual Bool_t
ApplyParticleCuts(
const AliVParticle* vp, UInt_t &rejectionReason)
const;
147 virtual Bool_t
ApplyKinematicCuts(
const AliTLorentzVector& mom, UInt_t &rejectionReason)
const;
149 virtual Bool_t
AcceptObject(
const TObject* obj, UInt_t &rejectionReason)
const {
return AcceptParticle(dynamic_cast<const AliVParticle*>(obj), rejectionReason);}
150 virtual Bool_t
AcceptParticle(
const AliVParticle* vp, UInt_t &rejectionReason)
const ;
151 virtual Bool_t
AcceptParticle(Int_t i, UInt_t &rejectionReason)
const ;
161 virtual AliVParticle *
GetParticle(Int_t i=-1)
const;
167 virtual Bool_t
GetMomentum(TLorentzVector &mom, Int_t i)
const;
185 all_iterator
begin()
const;
186 all_iterator
end()
const;
187 all_iterator
rbegin()
const;
188 all_iterator
rend()
const;
all_iterator begin() const
accept_iterator & operator++()
void SetParticlePtCut(Double_t cut)
virtual AliVParticle * GetNextAcceptParticle()
int fCurrentPos
Current position inside the container.
virtual Bool_t AcceptObject(Int_t i, UInt_t &rejectionReason) const
virtual ~AliParticleContainer()
all_iterator & operator++()
all_iterator & operator--()
virtual Bool_t GetMomentum(TLorentzVector &mom, Int_t i) const
Double_t GetMinPhi() const
all_iterator rend() const
const char * GetTitle() const
accept_iterator accept_begin() const
accept_iterator accept_rbegin() const
AliParticleContainer & operator=(const AliParticleContainer &other)
Double_t GetMaxEta() const
Int_t GetNParticles() const
virtual Bool_t ApplyParticleCuts(const AliVParticle *vp, UInt_t &rejectionReason) const
void SetMinPt(Double_t min)
virtual Bool_t AcceptObject(const TObject *obj, UInt_t &rejectionReason) const
TArrayI fAcceptIndices
Indices of accepted clusters.
void SetEtaLimits(Double_t min, Double_t max)
Double_t GetParticleEtaMin() const
all_iterator rbegin() const
virtual Bool_t GetNextMomentum(TLorentzVector &mom)
Container for particles within the EMCAL framework.
virtual Bool_t GetNextAcceptMomentum(TLorentzVector &mom)
bool fForward
Direction, expressed in forward direction.
Double_t GetMaxPhi() const
AliVParticle * operator*() const
stl iterator over all clusters
Double_t GetMinEta() const
AliVParticle * operator*() const
bool operator!=(const all_iterator &other) const
Double_t GetMinPt() const
virtual AliVParticle * GetLeadingParticle(const char *opt="")
virtual AliVParticle * GetParticle(Int_t i=-1) const
Base class for container structures within the EMCAL framework.
const AliParticleContainer * fkContainer
Container iterated over.
virtual AliVParticle * GetAcceptParticle(Int_t i=-1) const
accept_iterator accept_rend() const
Short_t fCharge
select particles with charge=fCharge
int fCurrentPos
Current position inside the container.
accept_iterator accept_end() const
virtual Bool_t AcceptParticle(const AliVParticle *vp, UInt_t &rejectionReason) const
stl iterator over accepted clusters
Double_t fMinDistanceTPCSectorEdge
require minimum distance to edge of TPC sector edge
Double_t GetParticlePtCut() const
Short_t fGeneratorIndex
select MC particles with generator index (default = -1 = switch off selection)
const AliParticleContainer * fkContainer
Container iterated over.
void SetCharge(Short_t c)
bool fForward
Direction, expressed in forward direction.
void SetParticleEtaLimits(Double_t min, Double_t max)
Double_t GetParticlePhiMax() const
virtual Bool_t GetMomentumFromParticle(TLorentzVector &mom, const AliVParticle *part, Double_t mass) const
Double_t GetParticleEtaMax() const
void SetGeneratorIndex(Short_t i)
Double_t GetParticlePhiMin() const
accept_iterator & operator--()
virtual Bool_t ApplyKinematicCuts(const AliTLorentzVector &mom, UInt_t &rejectionReason) const
bool operator!=(const accept_iterator &other) const
accept_iterator & operator=(const accept_iterator &other)
int TestParticleContainerIterator(const AliParticleContainer *const cont, int iteratorType=0, bool verbose=false)
Int_t GetNEntries() const
void SetPhiLimits(Double_t min, Double_t max)
Int_t GetNAcceptedParticles() const
void SetParticlePhiLimits(Double_t min, Double_t max)
void SetMinDistanceTPCSectorEdge(Double_t min)
all_iterator & operator=(const all_iterator &other)
virtual Bool_t GetAcceptMomentum(TLorentzVector &mom, Int_t i) const
virtual AliVParticle * GetNextParticle()
void SelectHIJING(Bool_t s)