#include <DCNeutralVisibleList.h>
Inheritance diagram for DCNeutralVisibleList< 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 |
DCNeutralVisibleList (const DCNeutralVisibleList< Neutral, CandidateClass > &aOtherList, DCSelectionFunction< Neutral > &aFunctionalObject) | |
DCNeutralVisibleList (DCSelectionFunction< Neutral > &aFunctionalObject) | |
DCNeutralVisibleList (const DCNeutralVisibleList< Neutral, CandidateClass > &aOtherList, bool(*pFunction)(Neutral &)=0) | |
DCNeutralVisibleList (bool(*pFunction)(Neutral &)=0) | |
DCNeutralVisibleList (const DCNeutralVisibleList< Neutral, CandidateClass > &aOtherList, DCSelectionFunction< Neutral > &aFunctionalObject) | |
DCNeutralVisibleList (DCSelectionFunction< Neutral > &aFunctionalObject) | |
DCNeutralVisibleList (const DCNeutralVisibleList< Neutral, CandidateClass > &aOtherList, bool(*pFunction)(Neutral &)=0) | |
DCNeutralVisibleList (bool(*pFunction)(Neutral &)=0) | |
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 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 |
const DCNeutralVisibleList< Neutral, CandidateClass > & | operator= (const DCNeutralVisibleList< Neutral, CandidateClass > &aOtherList) |
const DCNeutralVisibleList< Neutral, CandidateClass > & | operator= (const DCNeutralVisibleList< Neutral, CandidateClass > &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 | ~DCNeutralVisibleList () |
virtual | ~DCNeutralVisibleList () |
Protected Member Functions | |
template<class Iterator> | |
void | fill (Iterator first, Iterator last) |
void | fill (const dchain::LabeledParticleList< Neutral, CandidateClass > &aList) |
template<class Iterator> | |
void | fill (Iterator first, Iterator last) |
void | fill (const dchain::LabeledParticleList< Neutral, CandidateClass > &aList) |
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 | |
bool(* | m_function )(Neutral &) |
bool(* | m_function )(Neutral &) |
dchain::DCUnaryAdapter< DCSelectionFunction< Neutral > > | m_functionalObject |
dchain::DCUnaryAdapter< DCSelectionFunction< Neutral > > | m_functionalObject |
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
|
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
Reimplemented from dchain::ConjugateList< CandidateClass >. |
|
|
|
|
|
Reimplemented from dchain::NeutralVisibleList< Neutral, CandidateClass >. |
|
Reimplemented from dchain::NeutralVisibleList< Neutral, CandidateClass >. |
|
00109 : 00110 m_function( pFunction ) , 00111 m_functionalObject( 0 ) 00112 { 00113 }
|
|
00118 : 00119 dchain::NeutralVisibleList< Neutral, CandidateClass >( aOtherList, pFunction ) , 00120 m_function( pFunction ) , 00121 m_functionalObject( 0 ) 00122 { 00123 }
|
|
00127 : 00128 m_function( 0 ) , 00129 m_functionalObject( &aFunctionalObject ) 00130 { 00131 }
|
|
00136 : 00137 dchain::NeutralVisibleList< Neutral,CandidateClass >( aOtherList, aFunctionalObject), 00138 m_function( 0 ) , 00139 m_functionalObject( &aFunctionalObject ) 00140 { 00141 }
|
|
00146 { 00147 }
|
|
|
|
|
|
|
|
|
|
|
|
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 }
|
|
|
|
00167 { 00168 m_list->erase( m_list->begin() , 00169 m_list->end() ) ; 00170 }
|
|
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 }
|
|
00130 { 00131 if ( 0 != m_function ) { 00132 fill(first,last, dchain::NewMaker<Neutral>(), m_function); 00133 } else if (m_functionalObject) { 00134 fill(first,last,dchain::NewMaker<Neutral>(),m_functionalObject); 00135 } else { 00136 fill(first,last, dchain::NewMaker<Neutral>(), dchain::SelectAll<Neutral>()); 00137 } 00138 }
|
|
|
|
00130 { 00131 if ( 0 != m_function ) { 00132 fill(first,last, dchain::NewMaker<Neutral>(), m_function); 00133 } else if (m_functionalObject) { 00134 fill(first,last,dchain::NewMaker<Neutral>(),m_functionalObject); 00135 } else { 00136 fill(first,last, dchain::NewMaker<Neutral>(), dchain::SelectAll<Neutral>()); 00137 } 00138 }
|
|
00163 { 00164 if ( 0 != m_function ) { 00165 fill(aList, dchain::NewMaker<Neutral>(), m_function); 00166 } else if (m_functionalObject) { 00167 fill(aList,dchain::NewMaker<Neutral>(), m_functionalObject); 00168 } else { 00169 fill(aList, dchain::NewMaker<Neutral>(), dchain::SelectAll<Neutral>()); 00170 } 00171 }
|
|
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 }
|
|
|
|
00155 { 00156 this->eraseContents() ; 00157 fill( aOtherList.labeledCandidateList() ) ; 00158 return ( *this ) ; 00159 }
|
|
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 }
|
|
|
|
|
|
|
|
|