1#ifndef DCHAIN_COMBINATORICLIST_H
2#define DCHAIN_COMBINATORICLIST_H
38template<
class Cand
idateClass >
41 typedef typename CandidateClass::DecayEvidence
DecayClass;
56#ifndef _combinatoriclist_vector_
61#define _combinatoriclist_vector_ std::vector<const ConjugateList< CandidateClass >* >
65template<
class Cand
idateClass>
66class CombinatoricList;
68template<
class Cand
idateClass>
71template<
class Cand
idateClass>
72CombinatoricList< CandidateClass >
operator*(
73 const ConjugateList< CandidateClass >& lhs ,
74 const ConjugateList< CandidateClass >& rhs ) ;
76template<
class Cand
idateClass>
77CombinatoricList< CandidateClass >
operator*(
78 const CombinatoricList< CandidateClass >& lhs ,
79 const ConjugateList< CandidateClass >& rhs ) ;
81template<
class Cand
idateClass>
82CombinatoricList< CandidateClass >
operator*(
83 const ConjugateList< CandidateClass >& lhs ,
84 const CombinatoricList< CandidateClass >& rhs ) ;
86template<
class Cand
idateClass>
87CombinatoricList< CandidateClass >
operator*(
88 const CombinatoricList< CandidateClass >& lhs ,
89 const CombinatoricList< CandidateClass >& rhs ) ;
98template <
class Cand
idateClass >
162 template<
class TAnalyze>
163 void iterate(
const TAnalyze& analyze)
const {
168 template <
class TAnalyzer>
175 template<
class TAnalyze>
227 void determineConjugation()
const ;
232 mutable bool m_listFilled ;
233 bool m_conjugationKnown ;
241template<
class Cand
idateClass>
243 CombinatoricList< CandidateClass >
250template<
class Cand
idateClass>
259template<
class Cand
idateClass>
268template<
class Cand
idateClass>
#define _combinatoriclist_vector_
void fill(NTuple::Array< double > &nt_p4, const HepLorentzVector &p4)
CandidateClass::DecayEvidence DecayClass
virtual dchain::DecayList< DecayClass, CandidateClass >::iterator particle_end()
dchain::DecayList< DecayClass, CandidateClass >::const_iterator const_iterator
DCCandidateTraits< CandidateClass >::DecayClass DecayClass
virtual const dchain::DecayList< DecayClass, CandidateClass > bar() const
void iterate(const TAnalyze &analyze) const
virtual const_partial_iterator partial_particle_end() const
void partial_iterate(TAnalyze &analyze) const
virtual dchain::DecayList< DecayClass, CandidateClass >::iterator particle_begin()
CombinatoricList< CandidateClass > & operator=(const CombinatoricList< CandidateClass > &aOtherList)
virtual dchain::CandidateList< CandidateClass >::iterator end()
virtual const_partial_iterator partial_particle_begin() const
void conjugation_iterate(const TAnalyzer &analyze) const
virtual bool isSelfConjugate() const
virtual dchain::CandidateList< CandidateClass >::iterator begin()
virtual dchain::LabeledCandidateList< CandidateClass > & labeledCandidateList()
virtual ~CombinatoricList()
virtual dchain::CandidateList< CandidateClass >::const_partial_iterator partial_end() const
virtual const dchain::DecayList< DecayClass, CandidateClass > & operator()() const
dchain::DecayList< DecayClass, CandidateClass >::const_partial_iterator const_partial_iterator
virtual conjugation::Label label() const
virtual dchain::CandidateList< CandidateClass >::const_partial_iterator partial_begin() const
dchain::DecayList< DecayClass, CandidateClass >::iterator iterator
void iterate(const TAnalyze &analyze) const
void partial_iterate(TAnalyze &analyze) const
void conjugation_iterate(const TAnalyzer &analyzer) const
CombinatoricList< CandidateClass > operator*(const ConjugateList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)