#include <NeutralVisibleList.h>
Inheritance diagram for dchain::NeutralVisibleList< Neutral, CandidateClass >:
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_type & | operator= (const Witness &aWitnessList) |
const self_type & | operator= (const self_type &aOtherList) |
template<class Witness> | |
const self_type & | operator= (const Witness &aWitnessList) |
const self_type & | operator= (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 |
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
|
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
|
|
|
|
|
|
00105 : 00106 dchain::ConjugateList< CandidateClass >( dchain::conjugation::kNone ) , 00107 m_list( (new dchain::LabeledParticleList< Neutral , CandidateClass >) ) 00108 { 00109 }
|
|
|
|
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 }
|
|
00127 : 00128 ConjugateList< CandidateClass >( dchain::conjugation::kNone ), 00129 m_list( new LabeledParticleList<Neutral,CandidateClass> ) { 00130 fill(first, last, typename MakerTrait<Neutral>::maker_type() ); }
|
|
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); }
|
|
00126 { 00127 }
|
|
|
|
|
|
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 }
|
|
00127 : 00128 ConjugateList< CandidateClass >( dchain::conjugation::kNone ), 00129 m_list( new LabeledParticleList<Neutral,CandidateClass> ) { 00130 fill(first, last, typename MakerTrait<Neutral>::maker_type() ); }
|
|
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); }
|
|
|
|
00196 { 00197 bool returnValue = (aSelect)(*pPossible); 00198 if (returnValue) { 00199 this->insert(pPossible); 00200 } 00201 return returnValue; 00202 }
|
|
00196 { 00197 bool returnValue = (aSelect)(*pPossible); 00198 if (returnValue) { 00199 this->insert(pPossible); 00200 } 00201 return returnValue; 00202 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
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 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. 00116 { 00117 return ( labeledCandidateList().begin() ) ; 00118 }
|
|
|
|
00153 { 00154 return ( this->labeledCandidateList().begin( otherLabel( m_label ) ) ) ; 00155 }
|
|
|
|
00159 { 00160 return ( this->labeledCandidateList().end( otherLabel( m_label ) ) ) ; 00161 }
|
|
|
|
|
|
00136 { 00137 return ( labeledCandidateList().empty() ) ; 00138 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
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 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. 00124 { 00125 return ( labeledCandidateList().end() ) ; 00126 }
|
|
00210 { 00211 eraseContents(); 00212 }
|
|
00210 { 00211 eraseContents(); 00212 }
|
|
|
|
|
|
00233 { 00234 std::transform(first,last, 00235 selectiveInserter(aSel), 00236 aMaker); 00237 }
|
|
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 }
|
|
00233 { 00234 std::transform(first,last, 00235 selectiveInserter(aSel), 00236 aMaker); 00237 }
|
|
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 }
|
|
00204 { 00205 m_list->push_back( LabeledParticle< Neutral >( pPossible , 00206 conjugation::kNone ) ) ; 00207 }
|
|
00204 { 00205 m_list->push_back( LabeledParticle< Neutral >( pPossible , 00206 conjugation::kNone ) ) ; 00207 }
|
|
|
|
00128 { 00129 return ( ( &(this->labeledCandidateList()) == &(aList.labeledCandidateList()) ) && 00130 ( label() == otherLabel( aList.label() ) ) ) ; 00131 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. 00122 {
00123 return ( conjugation::kNone == m_label ) ;
00124 }
|
|
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 }
|
|
00180 { 00181 const_iterator finished ( particle_end() ) ; 00182 for ( const_iterator entry ( particle_begin() ) ; 00183 entry != finished ; 00184 ++entry ) { 00185 analyze( (*entry)() ) ; 00186 } 00187 }
|
|
00170 { 00171 const_iterator finished ( particle_end() ) ; 00172 for ( const_iterator entry ( particle_begin() ) ; 00173 entry != finished ; 00174 ++entry ) { 00175 analyze( (*entry)() ) ; 00176 } 00177 }
|
|
00180 { 00181 const_iterator finished ( particle_end() ) ; 00182 for ( const_iterator entry ( particle_begin() ) ; 00183 entry != finished ; 00184 ++entry ) { 00185 analyze( (*entry)() ) ; 00186 } 00187 }
|
|
00170 { 00171 const_iterator finished ( particle_end() ) ; 00172 for ( const_iterator entry ( particle_begin() ) ; 00173 entry != finished ; 00174 ++entry ) { 00175 analyze( (*entry)() ) ; 00176 } 00177 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. 00166 {
00167 return ( m_label ) ;
00168 }
|
|
Implements dchain::CandidateList< CandidateClass >. |
|
Implements dchain::CandidateList< CandidateClass >. |
|
Implements dchain::CandidateList< CandidateClass >. 00193 {
00194 return ( *m_list ) ;
00195 }
|
|
Implements dchain::CandidateList< CandidateClass >. 00160 {
00161 return ( *m_list ) ;
00162 }
|
|
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 }
|
|
|
|
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 }
|
|
|
|
00157 { 00158 return FillListWithSelection<self_type,TSelector>(*this, iSel); 00159 }
|
|
00157 { 00158 return FillListWithSelection<self_type,TSelector>(*this, iSel); 00159 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. 00141 { 00142 return ( this->labeledCandidateList().begin( m_label ) ) ; 00143 }
|
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. |
|
Reimplemented in dchain::CombinatoricList< CandidateClass >, and dchain::CombinatoricList< CandidateClass >. 00147 { 00148 return ( this->labeledCandidateList().end( m_label ) ) ; 00149 }
|
|
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 }
|
|
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 }
|
|
|
|
00135 { 00136 return ( this->labeledCandidateList().size( m_label ) ) ; 00137 }
|
|
|
|
|
|
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 }
|
|
00148 { 00149 return ( m_list->begin() ) ; 00150 }
|
|
|
|
|
|
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 }
|
|
00154 { 00155 return ( m_list->end() ) ; 00156 }
|
|
creates an insert iterator that filters based on iSelect
00191 { 00192 return SelectiveInserter<self_type,TSelect>(*this,iSelect); }
|
|
creates an insert iterator that filters based on iSelect
00191 { 00192 return SelectiveInserter<self_type,TSelect>(*this,iSelect); }
|
|
Reimplemented in FillableCDDecayList. |
|
Reimplemented in FillableCDDecayList. 00112 { 00113 m_label = aLabel ; 00114 }
|
|
|
|
00144 { 00145 return ( labeledCandidateList().size() ) ; 00146 }
|
|
|
|
|