1#ifndef DCHAIN_COMBINATORICLIST_H
2#define DCHAIN_COMBINATORICLIST_H
35template<
class Cand
idateClass >
38 typedef typename CandidateClass::DecayEvidence
DecayClass;
53#ifndef _combinatoriclist_vector_
58#define _combinatoriclist_vector_ std::vector<const ConjugateList< CandidateClass >* >
62template<
class Cand
idateClass>
63class CombinatoricList;
65template<
class Cand
idateClass>
68template<
class Cand
idateClass>
69CombinatoricList< CandidateClass >
operator*(
70 const ConjugateList< CandidateClass >& lhs ,
71 const ConjugateList< CandidateClass >& rhs ) ;
73template<
class Cand
idateClass>
74CombinatoricList< CandidateClass >
operator*(
75 const CombinatoricList< CandidateClass >& lhs ,
76 const ConjugateList< CandidateClass >& rhs ) ;
78template<
class Cand
idateClass>
79CombinatoricList< CandidateClass >
operator*(
80 const ConjugateList< CandidateClass >& lhs ,
81 const CombinatoricList< CandidateClass >& rhs ) ;
83template<
class Cand
idateClass>
84CombinatoricList< CandidateClass >
operator*(
85 const CombinatoricList< CandidateClass >& lhs ,
86 const CombinatoricList< CandidateClass >& rhs ) ;
95template <
class Cand
idateClass >
159 template<
class TAnalyze>
160 void iterate(
const TAnalyze& analyze)
const {
165 template <
class TAnalyzer>
172 template<
class TAnalyze>
224 void determineConjugation()
const ;
229 mutable bool m_listFilled ;
230 bool m_conjugationKnown ;
238template<
class Cand
idateClass>
240CombinatoricList< CandidateClass >
247template<
class Cand
idateClass>
256template<
class Cand
idateClass>
265template<
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()
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)