Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

dchain::NeutralVisibleList< Neutral, CandidateClass > Class Template Reference

#include <NeutralVisibleList.h>

Inheritance diagram for dchain::NeutralVisibleList< Neutral, CandidateClass >:

dchain::ConjugateList< CandidateClass > dchain::ConjugateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > DCNeutralVisibleList< Neutral, CandidateClass > DCNeutralVisibleList< Neutral, CandidateClass > List of all members.

Public Types

typedef dchain::WholeItr<
Neutral > 
const_iterator
typedef dchain::WholeItr<
Neutral > 
const_iterator
typedef dchain::PartialCandidateItr<
CandidateClass > 
const_partial_iterator
typedef dchain::PartialCandidateItr<
CandidateClass > 
const_partial_iterator
typedef dchain::MuteWholeItr<
Neutral > 
iterator
typedef dchain::MuteWholeItr<
Neutral > 
iterator
typedef NeutralVisibleList<
Neutral, CandidateClass > 
self_type
typedef NeutralVisibleList<
Neutral, CandidateClass > 
self_type
typedef Neutral value_type
typedef Neutral value_type

Public Member Functions

template<class THolder, class TSelect>
bool attempt_insert (THolder &pPossible, const TSelect &aSelect)
template<class THolder, class TSelect>
bool attempt_insert (THolder &pPossible, const TSelect &aSelect)
virtual const_iterator begin () const
virtual iterator begin ()
virtual const_iterator begin () const
virtual iterator begin ()
const_partial_iterator conjugate_partial_begin () const
const_partial_iterator conjugate_partial_begin () const
const_partial_iterator conjugate_partial_end () const
const_partial_iterator conjugate_partial_end () const
template<class TAnalyzer>
void conjugation_iterate (const TAnalyzer &analyzer) const
template<class TAnalyzer>
void conjugation_iterate (const TAnalyzer &analyzer) const
virtual bool empty () const
virtual bool empty () const
virtual const_iterator end () const
virtual iterator end ()
virtual const_iterator end () const
virtual iterator end ()
void erase ()
void erase ()
void eraseContents ()
void eraseContents ()
template<class Iterator, class TMaker, class TSelector>
void fill (Iterator first, Iterator last, const TMaker &aMaker, const TSelector &aSel=SelectAll< Neutral >())
template<class TMaker, class TSelector>
void fill (const LabeledParticleList< Neutral, CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
template<class Iterator, class TMaker, class TSelector>
void fill (Iterator first, Iterator last, const TMaker &aMaker, const TSelector &aSel=SelectAll< Neutral >())
template<class TMaker, class TSelector>
void fill (const LabeledParticleList< Neutral, CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
template<class THolder>
void insert (THolder &pPossible)
template<class THolder>
void insert (THolder &pPossible)
bool isConjugateOf (const ConjugateList< CandidateClass > &aList) const
bool isConjugateOf (const ConjugateList< CandidateClass > &aList) const
virtual bool isSelfConjugate () const
virtual bool isSelfConjugate () const
template<class TAnalyzer>
void iterate (const TAnalyzer &analyze) const
template<class TAnalyze>
void iterate (TAnalyze &analyze) const
template<class TAnalyze>
void iterate (const TAnalyze &analyze) const
template<class TAnalyze>
void iterate (TAnalyze &analyze) const
template<class TAnalyze>
void iterate (const TAnalyze &analyze) const
virtual conjugation::Label label () const
virtual conjugation::Label label () const
template<class WitnessIterator, class TSelector>
 NeutralVisibleList (WitnessIterator first, WitnessIterator last, const TSelector &aFunctionalObject)
template<class WitnessIterator>
 NeutralVisibleList (WitnessIterator first, WitnessIterator last)
template<class TSelector>
 NeutralVisibleList (const self_type &aOtherList, const TSelector &aSel)
 NeutralVisibleList (const self_type &aOtherList)
 NeutralVisibleList ()
template<class WitnessIterator, class TSelector>
 NeutralVisibleList (WitnessIterator first, WitnessIterator last, const TSelector &aFunctionalObject)
template<class WitnessIterator>
 NeutralVisibleList (WitnessIterator first, WitnessIterator last)
template<class TSelector>
 NeutralVisibleList (const self_type &aOtherList, const TSelector &aSel)
 NeutralVisibleList (const self_type &aOtherList)
 NeutralVisibleList ()
template<class Witness>
const self_typeoperator= (const Witness &aWitnessList)
const self_typeoperator= (const self_type &aOtherList)
template<class Witness>
const self_typeoperator= (const Witness &aWitnessList)
const self_typeoperator= (const self_type &aOtherList)
template<class TSelector>
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
template<class TSelector>
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
virtual const_partial_iterator partial_begin () const
virtual const_partial_iterator partial_begin () const
virtual const_partial_iterator partial_end () const
virtual const_partial_iterator partial_end () const
template<class TAnalyzer>
void partial_iterate (const TAnalyzer &analyze) const
template<class TAnalyzer>
void partial_iterate (const TAnalyzer &analyze) const
int partial_size () const
int partial_size () const
const_iterator particle_begin () const
iterator particle_begin ()
const_iterator particle_begin () const
iterator particle_begin ()
const_iterator particle_end () const
iterator particle_end ()
const_iterator particle_end () const
iterator particle_end ()
template<class TSelect>
SelectiveInserter< self_type,
TSelect > 
selectiveInserter (const TSelect &iSelect)
 creates an insert iterator that filters based on iSelect
template<class TSelect>
SelectiveInserter< self_type,
TSelect > 
selectiveInserter (const TSelect &iSelect)
 creates an insert iterator that filters based on iSelect
virtual int size () const
virtual int size () const
virtual ~NeutralVisibleList ()
virtual ~NeutralVisibleList ()

Protected Member Functions

virtual const dchain::LabeledParticleList<
Neutral, CandidateClass > & 
labeledCandidateList () const
virtual dchain::LabeledParticleList<
Neutral, CandidateClass > & 
labeledCandidateList ()
virtual const dchain::LabeledParticleList<
Neutral, CandidateClass > & 
labeledCandidateList () const
virtual dchain::LabeledParticleList<
Neutral, CandidateClass > & 
labeledCandidateList ()
void setLabel (const conjugation::Label aLabel)
void setLabel (const conjugation::Label aLabel)

Private Attributes

MutableReferenceHolder< dchain::LabeledParticleList<
Neutral, CandidateClass > > 
m_list
MutableReferenceHolder< dchain::LabeledParticleList<
Neutral, CandidateClass > > 
m_list

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
class dchain::NeutralVisibleList< Neutral, CandidateClass >


Member Typedef Documentation

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef dchain::WholeItr< Neutral > dchain::NeutralVisibleList< Neutral, CandidateClass >::const_iterator
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef dchain::WholeItr< Neutral > dchain::NeutralVisibleList< Neutral, CandidateClass >::const_iterator
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class CandidateClass>
typedef dchain::PartialCandidateItr< CandidateClass > dchain::ConjugateList< CandidateClass >::const_partial_iterator [inherited]
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, and dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
typedef dchain::PartialCandidateItr< CandidateClass > dchain::ConjugateList< CandidateClass >::const_partial_iterator [inherited]
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, and dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef dchain::MuteWholeItr< Neutral > dchain::NeutralVisibleList< Neutral, CandidateClass >::iterator
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef dchain::MuteWholeItr< Neutral > dchain::NeutralVisibleList< Neutral, CandidateClass >::iterator
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef NeutralVisibleList<Neutral,CandidateClass> dchain::NeutralVisibleList< Neutral, CandidateClass >::self_type
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef NeutralVisibleList<Neutral,CandidateClass> dchain::NeutralVisibleList< Neutral, CandidateClass >::self_type
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef Neutral dchain::NeutralVisibleList< Neutral, CandidateClass >::value_type
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCNeutralVisibleList< Neutral, CandidateClass >, DCNeutralVisibleList< Neutral, CandidateClass >, DCNeutralVisibleList< Neutral, Neutral::CandidateClass >, and DCNeutralVisibleList< Neutral, Neutral::CandidateClass >.

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
typedef Neutral dchain::NeutralVisibleList< Neutral, CandidateClass >::value_type
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCNeutralVisibleList< Neutral, CandidateClass >, DCNeutralVisibleList< Neutral, CandidateClass >, DCNeutralVisibleList< Neutral, Neutral::CandidateClass >, and DCNeutralVisibleList< Neutral, Neutral::CandidateClass >.


Constructor & Destructor Documentation

template<class Neutral, class CandidateClass>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList  ) 
 

00105                      :
00106    dchain::ConjugateList< CandidateClass >( dchain::conjugation::kNone ) ,
00107    m_list( (new dchain::LabeledParticleList< Neutral , CandidateClass >) )
00108 {
00109 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList const self_type aOtherList  ) 
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TSelector>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList const self_type aOtherList,
const TSelector &  aSel
[inline]
 

00118                                                    :
00119          ConjugateList< CandidateClass >( dchain::conjugation::kNone ),
00120          m_list(new LabeledParticleList<Neutral,CandidateClass>) {
00121          fill(*(aOtherList.m_list),
00122               typename MakerTrait<Neutral>::maker_type(),
00123               aSel);
00124       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class WitnessIterator>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList WitnessIterator  first,
WitnessIterator  last
[inline]
 

00127                                                                       : 
00128          ConjugateList< CandidateClass >( dchain::conjugation::kNone ),
00129          m_list( new LabeledParticleList<Neutral,CandidateClass> ) {
00130          fill(first, last, typename MakerTrait<Neutral>::maker_type() ); }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class WitnessIterator, class TSelector>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList WitnessIterator  first,
WitnessIterator  last,
const TSelector &  aFunctionalObject
[inline]
 

00135          : 
00136          ConjugateList< CandidateClass >( dchain::conjugation::kNone ),
00137          m_list( new LabeledParticleList<Neutral,CandidateClass> )
00138       {
00139          fill(first, last, 
00140               typename MakerTrait<Neutral>::maker_type(), aFunctionalObject); }

template<class Neutral, class CandidateClass>
dchain::NeutralVisibleList< Neutral, CandidateClass >::~NeutralVisibleList  )  [virtual]
 

00126 {
00127 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList  ) 
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList const self_type aOtherList  ) 
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TSelector>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList const self_type aOtherList,
const TSelector &  aSel
[inline]
 

00118                                                    :
00119          ConjugateList< CandidateClass >( dchain::conjugation::kNone ),
00120          m_list(new LabeledParticleList<Neutral,CandidateClass>) {
00121          fill(*(aOtherList.m_list),
00122               typename MakerTrait<Neutral>::maker_type(),
00123               aSel);
00124       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class WitnessIterator>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList WitnessIterator  first,
WitnessIterator  last
[inline]
 

00127                                                                       : 
00128          ConjugateList< CandidateClass >( dchain::conjugation::kNone ),
00129          m_list( new LabeledParticleList<Neutral,CandidateClass> ) {
00130          fill(first, last, typename MakerTrait<Neutral>::maker_type() ); }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class WitnessIterator, class TSelector>
dchain::NeutralVisibleList< Neutral, CandidateClass >::NeutralVisibleList WitnessIterator  first,
WitnessIterator  last,
const TSelector &  aFunctionalObject
[inline]
 

00135          : 
00136          ConjugateList< CandidateClass >( dchain::conjugation::kNone ),
00137          m_list( new LabeledParticleList<Neutral,CandidateClass> )
00138       {
00139          fill(first, last, 
00140               typename MakerTrait<Neutral>::maker_type(), aFunctionalObject); }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
virtual dchain::NeutralVisibleList< Neutral, CandidateClass >::~NeutralVisibleList  )  [virtual]
 


Member Function Documentation

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class THolder, class TSelect>
bool dchain::NeutralVisibleList< Neutral, CandidateClass >::attempt_insert THolder &  pPossible,
const TSelect &  aSelect
[inline]
 

00196                                                    {
00197          bool returnValue = (aSelect)(*pPossible);
00198          if (returnValue) {
00199             this->insert(pPossible);
00200          }
00201          return returnValue;
00202       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class THolder, class TSelect>
bool dchain::NeutralVisibleList< Neutral, CandidateClass >::attempt_insert THolder &  pPossible,
const TSelect &  aSelect
[inline]
 

00196                                                    {
00197          bool returnValue = (aSelect)(*pPossible);
00198          if (returnValue) {
00199             this->insert(pPossible);
00200          }
00201          return returnValue;
00202       }

template<class CandidateClass>
virtual const_iterator dchain::CandidateList< CandidateClass >::begin  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
virtual iterator dchain::CandidateList< CandidateClass >::begin  )  [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
CandidateList< CandidateClass >::const_iterator dchain::CandidateList< CandidateClass >::begin  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00152 {
00153 // do this casting to make sure const 'begin' function is called
00154    return ( static_cast<const dchain::LabeledCandidateList< CandidateClass >*>(&labeledCandidateList())->begin() );
00155 }

template<class CandidateClass>
CandidateList< CandidateClass >::iterator dchain::CandidateList< CandidateClass >::begin  )  [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00116 {
00117    return ( labeledCandidateList().begin() ) ;
00118 }

template<class CandidateClass>
const_partial_iterator dchain::ConjugateList< CandidateClass >::conjugate_partial_begin  )  const [inherited]
 

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::conjugate_partial_begin  )  const [inherited]
 

00153 {
00154    return ( this->labeledCandidateList().begin( otherLabel( m_label ) ) ) ;
00155 }

template<class CandidateClass>
const_partial_iterator dchain::ConjugateList< CandidateClass >::conjugate_partial_end  )  const [inherited]
 

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::conjugate_partial_end  )  const [inherited]
 

00159 {
00160    return ( this->labeledCandidateList().end( otherLabel( m_label ) ) ) ;
00161 }

template<class CandidateClass>
template<class TAnalyzer>
void dchain::ConjugateList< CandidateClass >::conjugation_iterate const TAnalyzer &  analyzer  )  const [inline, inherited]
 

TAnalyzer takes two arguments 1) const CandidateClass& 2) a bool which is 'true' if the candiate matches the present conjugation

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, and dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00118       {
00119          const_iterator finished ( this->end() ) ;
00120          for ( const_iterator entry ( this->begin() ) ;
00121                entry != finished ;
00122                ++entry ) {
00123             analyze( (*entry)() , (*entry).label() == m_label ) ;
00124          }
00125       }

template<class CandidateClass>
template<class TAnalyzer>
void dchain::ConjugateList< CandidateClass >::conjugation_iterate const TAnalyzer &  analyzer  )  const [inline, inherited]
 

TAnalyzer takes two arguments 1) const CandidateClass& 2) a bool which is 'true' if the candiate matches the present conjugation

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, and dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00118       {
00119          const_iterator finished ( this->end() ) ;
00120          for ( const_iterator entry ( this->begin() ) ;
00121                entry != finished ;
00122                ++entry ) {
00123             analyze( (*entry)() , (*entry).label() == m_label ) ;
00124          }
00125       }

template<class CandidateClass>
virtual bool dchain::CandidateList< CandidateClass >::empty  )  const [virtual, inherited]
 

template<class CandidateClass>
bool dchain::CandidateList< CandidateClass >::empty  )  const [virtual, inherited]
 

00136 {
00137    return ( labeledCandidateList().empty() ) ;
00138 }

template<class CandidateClass>
virtual const_iterator dchain::CandidateList< CandidateClass >::end  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
virtual iterator dchain::CandidateList< CandidateClass >::end  )  [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
CandidateList< CandidateClass >::const_iterator dchain::CandidateList< CandidateClass >::end  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00161 {
00162 // do this casting to make sure const 'end' function is called
00163    return ( static_cast<const dchain::LabeledCandidateList< CandidateClass >*>(&labeledCandidateList())->end() );
00164 }

template<class CandidateClass>
CandidateList< CandidateClass >::iterator dchain::CandidateList< CandidateClass >::end  )  [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00124 {
00125    return ( labeledCandidateList().end() ) ;
00126 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::erase  )  [inline]
 

00210                    {
00211          eraseContents();
00212       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::erase  )  [inline]
 

00210                    {
00211          eraseContents();
00212       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::eraseContents  ) 
 

template<class Neutral, class CandidateClass>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::eraseContents  ) 
 

00167 {
00168    m_list->erase( m_list->begin() ,
00169                   m_list->end() ) ;
00170 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class Iterator, class TMaker, class TSelector>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::fill Iterator  first,
Iterator  last,
const TMaker &  aMaker,
const TSelector &  aSel = SelectAll<Neutral>()
[inline]
 

00233                                                                {
00234          std::transform(first,last,
00235                         selectiveInserter(aSel),
00236                         aMaker);
00237       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TMaker, class TSelector>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::fill const LabeledParticleList< Neutral, CandidateClass > &  aList,
const TMaker &  aMaker,
const TSelector &  aSel
[inline]
 

00218                                         {
00219 
00220          for( const_iterator entry(aList.begin()); entry != aList.end(); ++entry){
00221             //NOTE: even though this is really just calling the copy constructor
00222             //it is best to use the maker since it allows further control
00223             const Neutral& from((*entry)());
00224             typename ResultTypeTrait<TMaker>::type localCopy( aMaker(from) );
00225             
00226             attempt_insert(localCopy,aSel);
00227          }
00228  
00229       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class Iterator, class TMaker, class TSelector>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::fill Iterator  first,
Iterator  last,
const TMaker &  aMaker,
const TSelector &  aSel = SelectAll<Neutral>()
[inline]
 

00233                                                                {
00234          std::transform(first,last,
00235                         selectiveInserter(aSel),
00236                         aMaker);
00237       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TMaker, class TSelector>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::fill const LabeledParticleList< Neutral, CandidateClass > &  aList,
const TMaker &  aMaker,
const TSelector &  aSel
[inline]
 

00218                                         {
00219 
00220          for( const_iterator entry(aList.begin()); entry != aList.end(); ++entry){
00221             //NOTE: even though this is really just calling the copy constructor
00222             //it is best to use the maker since it allows further control
00223             const Neutral& from((*entry)());
00224             typename ResultTypeTrait<TMaker>::type localCopy( aMaker(from) );
00225             
00226             attempt_insert(localCopy,aSel);
00227          }
00228  
00229       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class THolder>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::insert THolder &  pPossible  )  [inline]
 

00204                                       {
00205          m_list->push_back( LabeledParticle< Neutral >( pPossible ,
00206                                                         conjugation::kNone ) ) ;
00207       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class THolder>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::insert THolder &  pPossible  )  [inline]
 

00204                                       {
00205          m_list->push_back( LabeledParticle< Neutral >( pPossible ,
00206                                                         conjugation::kNone ) ) ;
00207       }

template<class CandidateClass>
bool dchain::ConjugateList< CandidateClass >::isConjugateOf const ConjugateList< CandidateClass > &  aList  )  const [inherited]
 

template<class CandidateClass>
bool dchain::ConjugateList< CandidateClass >::isConjugateOf const ConjugateList< CandidateClass > &  aList  )  const [inherited]
 

00128 {
00129    return ( ( &(this->labeledCandidateList()) == &(aList.labeledCandidateList()) ) &&
00130             ( label() == otherLabel( aList.label() ) ) ) ;
00131 }

template<class CandidateClass>
virtual bool dchain::ConjugateList< CandidateClass >::isSelfConjugate  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
bool dchain::ConjugateList< CandidateClass >::isSelfConjugate  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00122 {
00123    return ( conjugation::kNone == m_label ) ;
00124 }

template<class CandidateClass>
template<class TAnalyzer>
void dchain::CandidateList< CandidateClass >::iterate const TAnalyzer &  analyze  )  const [inline, inherited]
 

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, and dchain::ChosenConjugateList< NeutralNC, CandidateClass >.

00102                                                         {
00103             const_iterator finished ( end() );
00104             for ( const_iterator entry ( begin() ) ;
00105                   entry != finished ;
00106                   ++entry ) {
00107                analyze( (*entry)() ) ;
00108             }
00109          }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TAnalyze>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::iterate TAnalyze &  analyze  )  const [inline]
 

00180                                              {
00181          const_iterator finished ( particle_end() ) ;
00182          for ( const_iterator entry ( particle_begin() ) ;
00183                entry != finished ;
00184                ++entry ) {
00185             analyze( (*entry)() ) ;
00186          }
00187       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TAnalyze>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::iterate const TAnalyze &  analyze  )  const [inline]
 

00170                                                    {
00171          const_iterator finished ( particle_end() ) ;
00172          for ( const_iterator entry ( particle_begin() ) ;
00173                entry != finished ;
00174                ++entry ) {
00175             analyze( (*entry)() ) ;
00176          }
00177       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TAnalyze>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::iterate TAnalyze &  analyze  )  const [inline]
 

00180                                              {
00181          const_iterator finished ( particle_end() ) ;
00182          for ( const_iterator entry ( particle_begin() ) ;
00183                entry != finished ;
00184                ++entry ) {
00185             analyze( (*entry)() ) ;
00186          }
00187       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TAnalyze>
void dchain::NeutralVisibleList< Neutral, CandidateClass >::iterate const TAnalyze &  analyze  )  const [inline]
 

00170                                                    {
00171          const_iterator finished ( particle_end() ) ;
00172          for ( const_iterator entry ( particle_begin() ) ;
00173                entry != finished ;
00174                ++entry ) {
00175             analyze( (*entry)() ) ;
00176          }
00177       }

template<class CandidateClass>
virtual conjugation::Label dchain::ConjugateList< CandidateClass >::label  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
conjugation::Label dchain::ConjugateList< CandidateClass >::label  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00166 {
00167    return ( m_label ) ;
00168 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
virtual const dchain::LabeledParticleList< Neutral, CandidateClass >& dchain::NeutralVisibleList< Neutral, CandidateClass >::labeledCandidateList  )  const [protected, virtual]
 

Implements dchain::CandidateList< CandidateClass >.

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
virtual dchain::LabeledParticleList< Neutral, CandidateClass >& dchain::NeutralVisibleList< Neutral, CandidateClass >::labeledCandidateList  )  [protected, virtual]
 

Implements dchain::CandidateList< CandidateClass >.

template<class Neutral, class CandidateClass>
const dchain::LabeledParticleList< Neutral, CandidateClass > & dchain::NeutralVisibleList< Neutral, CandidateClass >::labeledCandidateList  )  const [protected, virtual]
 

Implements dchain::CandidateList< CandidateClass >.

00193 {
00194    return ( *m_list ) ;
00195 }

template<class Neutral, class CandidateClass>
dchain::LabeledParticleList< Neutral, CandidateClass > & dchain::NeutralVisibleList< Neutral, CandidateClass >::labeledCandidateList  )  [protected, virtual]
 

Implements dchain::CandidateList< CandidateClass >.

00160 {
00161    return ( *m_list ) ;
00162 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class Witness>
const self_type& dchain::NeutralVisibleList< Neutral, CandidateClass >::operator= const Witness &  aWitnessList  )  [inline]
 

Reimplemented in DCFillableNeutralList< Neutral >, and DCFillableNeutralList< Neutral >.

00147                                                               {
00148          eraseContents();
00149          fill(aWitnessList.begin(), aWitnessList.end(),
00150               typename MakerTrait<Neutral>::maker_type(),
00151               SelectAll<Neutral>() );
00152          return ( *this ) ;
00153       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
const self_type& dchain::NeutralVisibleList< Neutral, CandidateClass >::operator= const self_type aOtherList  ) 
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class Witness>
const self_type& dchain::NeutralVisibleList< Neutral, CandidateClass >::operator= const Witness &  aWitnessList  )  [inline]
 

Reimplemented in DCFillableNeutralList< Neutral >, and DCFillableNeutralList< Neutral >.

00147                                                               {
00148          eraseContents();
00149          fill(aWitnessList.begin(), aWitnessList.end(),
00150               typename MakerTrait<Neutral>::maker_type(),
00151               SelectAll<Neutral>() );
00152          return ( *this ) ;
00153       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
const self_type& dchain::NeutralVisibleList< Neutral, CandidateClass >::operator= const self_type aOtherList  ) 
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TSelector>
FillListWithSelection<self_type, TSelector> dchain::NeutralVisibleList< Neutral, CandidateClass >::operator[] const TSelector &  iSel  )  [inline]
 

00157                                                                                     {
00158          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00159       }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TSelector>
FillListWithSelection<self_type, TSelector> dchain::NeutralVisibleList< Neutral, CandidateClass >::operator[] const TSelector &  iSel  )  [inline]
 

00157                                                                                     {
00158          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00159       }

template<class CandidateClass>
virtual const_partial_iterator dchain::ConjugateList< CandidateClass >::partial_begin  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::partial_begin  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00141 {
00142    return ( this->labeledCandidateList().begin( m_label ) ) ;
00143 }

template<class CandidateClass>
virtual const_partial_iterator dchain::ConjugateList< CandidateClass >::partial_end  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::partial_end  )  const [virtual, inherited]
 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >.

00147 {
00148    return ( this->labeledCandidateList().end( m_label ) ) ;
00149 }

template<class CandidateClass>
template<class TAnalyzer>
void dchain::ConjugateList< CandidateClass >::partial_iterate const TAnalyzer &  analyze  )  const [inline, inherited]
 

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, and dchain::ChosenConjugateList< NeutralNC, CandidateClass >.

00128                                                              {
00129          const_partial_iterator finished ( partial_end() ) ;
00130          for ( const_partial_iterator entry ( partial_begin() ) ;
00131                entry != finished ;
00132                ++entry ) {
00133             analyze( (*entry)() ) ;
00134          }
00135       }

template<class CandidateClass>
template<class TAnalyzer>
void dchain::ConjugateList< CandidateClass >::partial_iterate const TAnalyzer &  analyze  )  const [inline, inherited]
 

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, and dchain::ChosenConjugateList< NeutralNC, CandidateClass >.

00128                                                              {
00129          const_partial_iterator finished ( partial_end() ) ;
00130          for ( const_partial_iterator entry ( partial_begin() ) ;
00131                entry != finished ;
00132                ++entry ) {
00133             analyze( (*entry)() ) ;
00134          }
00135       }

template<class CandidateClass>
int dchain::ConjugateList< CandidateClass >::partial_size  )  const [inherited]
 

template<class CandidateClass>
int dchain::ConjugateList< CandidateClass >::partial_size  )  const [inherited]
 

00135 {
00136    return ( this->labeledCandidateList().size( m_label ) ) ;
00137 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
const_iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_begin  )  const
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_begin  ) 
 

template<class Neutral, class CandidateClass>
NeutralVisibleList< Neutral, CandidateClass >::const_iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_begin  )  const
 

00178 {
00179 // Need to cast to 'const' to get the right function call
00180   return ( (*(const dchain::LabeledParticleList< Neutral , CandidateClass >*)(m_list.pointer())).begin() ) ;
00181 }

template<class Neutral, class CandidateClass>
NeutralVisibleList< Neutral, CandidateClass >::iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_begin  ) 
 

00148 {
00149    return ( m_list->begin() ) ;
00150 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
const_iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_end  )  const
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_end  ) 
 

template<class Neutral, class CandidateClass>
NeutralVisibleList< Neutral, CandidateClass >::const_iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_end  )  const
 

00185 {
00186 // Need to cast to 'const' to get the right function call
00187   return ( (*(const dchain::LabeledParticleList< Neutral , CandidateClass >*)(m_list.pointer())).end() ) ;
00188 }

template<class Neutral, class CandidateClass>
NeutralVisibleList< Neutral, CandidateClass >::iterator dchain::NeutralVisibleList< Neutral, CandidateClass >::particle_end  ) 
 

00154 {
00155    return ( m_list->end() ) ;
00156 }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TSelect>
SelectiveInserter<self_type,TSelect> dchain::NeutralVisibleList< Neutral, CandidateClass >::selectiveInserter const TSelect &  iSelect  )  [inline]
 

creates an insert iterator that filters based on iSelect

00191                                                                                      {
00192          return SelectiveInserter<self_type,TSelect>(*this,iSelect); }

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
template<class TSelect>
SelectiveInserter<self_type,TSelect> dchain::NeutralVisibleList< Neutral, CandidateClass >::selectiveInserter const TSelect &  iSelect  )  [inline]
 

creates an insert iterator that filters based on iSelect

00191                                                                                      {
00192          return SelectiveInserter<self_type,TSelect>(*this,iSelect); }

template<class CandidateClass>
void dchain::ConjugateList< CandidateClass >::setLabel const conjugation::Label  aLabel  )  [protected, inherited]
 

Reimplemented in FillableCDDecayList.

template<class CandidateClass>
void dchain::ConjugateList< CandidateClass >::setLabel const conjugation::Label  aLabel  )  [protected, inherited]
 

Reimplemented in FillableCDDecayList.

00112 {
00113    m_label = aLabel ;
00114 }

template<class CandidateClass>
virtual int dchain::CandidateList< CandidateClass >::size  )  const [virtual, inherited]
 

template<class CandidateClass>
int dchain::CandidateList< CandidateClass >::size  )  const [virtual, inherited]
 

00144 {
00145    return ( labeledCandidateList().size() ) ;
00146 }


Member Data Documentation

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
MutableReferenceHolder< dchain::LabeledParticleList< Neutral , CandidateClass > > dchain::NeutralVisibleList< Neutral, CandidateClass >::m_list [private]
 

template<class Neutral, class CandidateClass = typename Neutral::CandidateClass>
MutableReferenceHolder< dchain::LabeledParticleList< Neutral , CandidateClass > > dchain::NeutralVisibleList< Neutral, CandidateClass >::m_list [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:17:04 2011 for BOSS6.5.5 by  doxygen 1.3.9.1