1#ifndef DCHAIN_NEUTRALNCVISIBLELIST_H
2#define DCHAIN_NEUTRALNCVISIBLELIST_H
46template <
class DecayClass >
class MuteWholeItr ;
47template <
class DecayClass >
class WholeItr ;
48template <
class DecayClass >
class PartialItr ;
53 return static_cast<int>(iNeutralNC.isBar());
58 return static_cast<int>(iNeutralNC->isBar());
63 return static_cast<int>(iNeutralNC->isBar());
66 template<
class TPtr,
class TRef>
78template <
class NeutralNC ,
class Cand
idateClass =
typename NeutralNC::Cand
idateClass >
96 template<
class TSelector>
98 const TSelector& aSel):
103 fill(*(aOtherList.m_list),
113 template<
class Witness>
116 fill(aWitnessList.begin(), aWitnessList.end(),
123 template<
class TSelector>
142 template<
class TAnalyze>
143 void iterate(
const TAnalyze& analyze)
const {
148 analyze( (*entry)() ) ;
152 template<
class TAnalyze>
158 analyze( (*entry)() ) ;
163 template<
class TSelect>
167 template <
class THolder,
class TSelect>
169 const TSelect& aSelect) {
170 bool returnValue = (aSelect)(*pPossible);
177 template <
class THolder>
194 template<
class TMaker,
class TSelector>
196 const TMaker& aMaker,
197 const TSelector& aSel) {
202 const NeutralNC& from((*entry)());
209 template<
class Iterator,
class TMaker,
class TSelector>
210 void fill(Iterator first, Iterator last,
211 const TMaker& aMaker,
213 std::transform(first,last,
248 template<
class TIList,
class TSelector,
class T,
class U>
250 const TSelector& iSel,
252 oList.
fill(iList.begin(), iList.end(),
dchain::PartialItr< NeutralNC > const_partial_iterator
iterator particle_begin()
SelectiveInserter< self_type, TSelect > selectiveInserter(const TSelect &iSelect)
creates an insert iterator that filters based on iSelect
bool attempt_insert(THolder &pPossible, const TSelect &aSelect)
NeutralNCVisibleList(const self_type &aOtherList, const TSelector &aSel)
ChosenConjugateList< NeutralNC, CandidateClass > & operator()()
virtual dchain::LabeledParticleList< NeutralNC, CandidateClass > & labeledCandidateList()
void fill(Iterator first, Iterator last, const TMaker &aMaker, const TSelector &aSel=SelectAll< NeutralNC >())
void insert(THolder &pPossible)
ChosenConjugateList< NeutralNC, CandidateClass > & bar()
void iterate(TAnalyze &analyze) const
const self_type & operator=(const Witness &aWitnessList)
void fill(const LabeledParticleList< NeutralNC, CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
void iterate(const TAnalyze &analyze) const
FillListWithSelection< self_type, TSelector > operator[](const TSelector &iSel)
dchain::WholeItr< NeutralNC > const_iterator
dchain::MuteWholeItr< NeutralNC > iterator
NeutralNCVisibleList< NeutralNC, CandidateClass > self_type
virtual ~NeutralNCVisibleList()
void fill_using_selector(const TIList &iList, const TSelector &iSel, ChargedVisibleList< T, U > &oList)
int is_bar(const T &iNeutralNC)