#include <LabeledParticleList.h>
Inheritance diagram for dchain::LabeledParticleList< ParticleClass, CandidateClass >:
Public Types | |
typedef MuteWholeItr< ParticleClass > | iterator |
typedef WholeItr< ParticleClass > | const_iterator |
typedef PartialItr< ParticleClass > | const_partial_iterator |
typedef LabeledCandidate< CandidateClass > | value_type |
Public Member Functions | |
LabeledParticleList () | |
virtual | ~LabeledParticleList () |
LabeledParticle< ParticleClass > & | operator[] (const int aIndex) |
iterator | begin () |
iterator | end () |
void | push_back (const LabeledParticle< ParticleClass > &aEntry) |
virtual void | erase_elements (int aStart, int aFinish) |
const LabeledParticle< ParticleClass > & | operator[] (const int aIndex) const |
virtual bool | empty () const |
virtual bool | empty (const typename conjugation::Label aLabel) const |
virtual int | size () const |
virtual int | size (const typename conjugation::Label aLabel) const |
const_iterator | begin () const |
const_partial_iterator | begin (const typename conjugation::Label aLabel) const |
const_iterator | end () const |
const_partial_iterator | end (const typename conjugation::Label aLabel) const |
void | erase (iterator aStart, iterator aFinish) |
void | addLink () const |
void | dropLink () const |
Protected Member Functions | |
virtual LabeledCandidate< CandidateClass > & | labeledCandidateClass (const int aIndex) |
virtual LabeledParticle< ParticleClass > & | labeledParticleClass (const int aIndex) |
virtual const LabeledCandidate< CandidateClass > & | labeledCandidateClass (const int aIndex) const |
virtual const LabeledParticle< ParticleClass > & | labeledParticleClass (const int aIndex) const |
Private Member Functions | |
LabeledParticleList (const LabeledParticleList< ParticleClass, CandidateClass > &) | |
const LabeledParticleList< ParticleClass, CandidateClass > & | operator= (const LabeledParticleList< ParticleClass, typename ParticleClass::CandidateClass > &) |
Private Attributes | |
_labeledparticlelist_vector_ & | m_list |
Friends | |
class | dchain::MuteWholeCandidateItr< CandidateClass > |
class | dchain::WholeCandidateItr< CandidateClass > |
class | dchain::PartialCandidateItr< CandidateClass > |
Definition at line 111 of file LabeledParticleList.h.
typedef WholeItr< ParticleClass > dchain::LabeledParticleList< ParticleClass, CandidateClass >::const_iterator |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 119 of file LabeledParticleList.h.
typedef PartialItr< ParticleClass > dchain::LabeledParticleList< ParticleClass, CandidateClass >::const_partial_iterator |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 120 of file LabeledParticleList.h.
typedef MuteWholeItr< ParticleClass > dchain::LabeledParticleList< ParticleClass, CandidateClass >::iterator |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 118 of file LabeledParticleList.h.
typedef LabeledCandidate<CandidateClass> dchain::LabeledCandidateList< CandidateClass >::value_type [inherited] |
Definition at line 103 of file LabeledCandidateList.h.
dchain::LabeledParticleList< ParticleClass, CandidateClass >::LabeledParticleList | ( | ) |
Definition at line 106 of file LabeledParticleList.cc.
00106 : 00107 m_list( *(new _labeledparticlelist_vector_ ) ) 00108 { 00109 }
dchain::LabeledParticleList< ParticleClass, CandidateClass >::~LabeledParticleList | ( | ) | [virtual] |
Definition at line 117 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00118 { 00119 delete( &m_list ) ; 00120 }
dchain::LabeledParticleList< ParticleClass, CandidateClass >::LabeledParticleList | ( | const LabeledParticleList< ParticleClass, CandidateClass > & | ) | [private] |
void dchain::ReferenceCount::addLink | ( | ) | const [inline, inherited] |
Definition at line 107 of file ReferenceCount.h.
References dchain::ReferenceCount::m_linkCount.
00108 { 00109 //if (m_linkCount==0xFFFFFFFF) { 00110 // throw TooManyReferencesException(); 00111 //} 00112 ++m_linkCount ; 00113 }
LabeledParticleList< ParticleClass, CandidateClass >::const_partial_iterator dchain::LabeledParticleList< ParticleClass, CandidateClass >::begin | ( | const typename conjugation::Label | aLabel | ) | const |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 272 of file LabeledParticleList.cc.
00273 { 00274 return ( const_partial_iterator( this , 0 , aLabel ) ) ; 00275 }
LabeledParticleList< ParticleClass, CandidateClass >::const_iterator dchain::LabeledParticleList< ParticleClass, CandidateClass >::begin | ( | ) | const |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 264 of file LabeledParticleList.cc.
00265 { 00266 return ( const_iterator( this , 0 ) ) ; 00267 }
LabeledParticleList< ParticleClass, CandidateClass >::iterator dchain::LabeledParticleList< ParticleClass, CandidateClass >::begin | ( | ) |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 144 of file LabeledParticleList.cc.
Referenced by dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >::fill(), dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >::fill(), and dchain::ChargedVisibleList< Charged, Charged::CandidateClass >::fill().
00145 { 00146 return ( iterator( this , 0 ) ) ; 00147 }
void dchain::ReferenceCount::dropLink | ( | ) | const [inline, inherited] |
Definition at line 115 of file ReferenceCount.h.
References dchain::ReferenceCount::m_linkCount.
00116 { 00117 --m_linkCount ; 00118 if ( 0 == m_linkCount ) { 00119 // It is necessary to throw away the 'const' so that the object 00120 // can be deleted 00121 delete const_cast<ReferenceCount*>(this) ; 00122 } 00123 }
bool dchain::LabeledParticleList< ParticleClass, CandidateClass >::empty | ( | const typename conjugation::Label | aLabel | ) | const [virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 214 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00215 { 00216 // for efficiency, check to see if the whole list is empty first 00217 if ( m_list.empty() ) { 00218 return ( !false ) ; 00219 } 00220 return ( const_partial_iterator( this , 0 , aLabel ) == 00221 const_partial_iterator( this , m_list.size() , aLabel ) ) ; 00222 }
bool dchain::LabeledParticleList< ParticleClass, CandidateClass >::empty | ( | ) | const [virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 206 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00207 { 00208 return ( m_list.empty() ) ; 00209 }
LabeledParticleList< ParticleClass, CandidateClass >::const_partial_iterator dchain::LabeledParticleList< ParticleClass, CandidateClass >::end | ( | const typename conjugation::Label | aLabel | ) | const |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 288 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00289 { 00290 return ( const_partial_iterator( this , m_list.size() , aLabel ) ) ; 00291 }
LabeledParticleList< ParticleClass, CandidateClass >::const_iterator dchain::LabeledParticleList< ParticleClass, CandidateClass >::end | ( | ) | const |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 280 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00281 { 00282 return ( const_iterator( this , m_list.size() ) ) ; 00283 }
LabeledParticleList< ParticleClass, CandidateClass >::iterator dchain::LabeledParticleList< ParticleClass, CandidateClass >::end | ( | ) |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 152 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
Referenced by dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >::fill(), dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >::fill(), and dchain::ChargedVisibleList< Charged, Charged::CandidateClass >::fill().
void dchain::LabeledCandidateList< CandidateClass >::erase | ( | iterator | aStart, | |
iterator | aFinish | |||
) | [inherited] |
Definition at line 135 of file LabeledCandidateList.cc.
References dchain::LabeledCandidateList< CandidateClass >::erase_elements(), and dchain::MuteWholeCandidateItr< CandidateClass >::index().
00137 { 00138 erase_elements( aStart.index() , 00139 aFinish.index() ) ; 00140 }
void dchain::LabeledParticleList< ParticleClass, CandidateClass >::erase_elements | ( | int | aStart, | |
int | aFinish | |||
) | [virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 168 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
const LabeledCandidate< CandidateClass > & dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledCandidateClass | ( | const int | aIndex | ) | const [protected, virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 296 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass().
00297 { 00298 return ( labeledParticleClass( aIndex ) ) ; 00299 }
LabeledCandidate< CandidateClass > & dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledCandidateClass | ( | const int | aIndex | ) | [protected, virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 178 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass().
00179 { 00180 return ( labeledParticleClass( aIndex ) ) ; 00181 }
const LabeledParticle< ParticleClass > & dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass | ( | const int | aIndex | ) | const [protected, virtual] |
Implements dchain::IndexedLabeledParticles< ParticleClass, CandidateClass >.
Definition at line 304 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00305 { 00306 return ( m_list[ aIndex ] ) ; 00307 }
LabeledParticle< ParticleClass > & dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass | ( | const int | aIndex | ) | [protected, virtual] |
Implements dchain::IndexedLabeledParticles< ParticleClass, CandidateClass >.
Definition at line 186 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
Referenced by dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledCandidateClass(), and dchain::LabeledParticleList< ParticleClass, CandidateClass >::operator[]().
00187 { 00188 return ( m_list[ aIndex ] ) ; 00189 }
const LabeledParticleList< ParticleClass , CandidateClass >& dchain::LabeledParticleList< ParticleClass, CandidateClass >::operator= | ( | const LabeledParticleList< ParticleClass, typename ParticleClass::CandidateClass > & | ) | [private] |
const LabeledParticle< ParticleClass > & dchain::LabeledParticleList< ParticleClass, CandidateClass >::operator[] | ( | const int | aIndex | ) | const |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 198 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass().
00199 { 00200 return ( labeledParticleClass( aIndex ) ) ; 00201 }
LabeledParticle< ParticleClass > & dchain::LabeledParticleList< ParticleClass, CandidateClass >::operator[] | ( | const int | aIndex | ) |
Reimplemented from dchain::LabeledCandidateList< CandidateClass >.
Definition at line 137 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass().
00137 { 00138 return ( labeledParticleClass( aIndex ) ) ; 00139 }
void dchain::LabeledParticleList< ParticleClass, CandidateClass >::push_back | ( | const LabeledParticle< ParticleClass > & | aEntry | ) |
Definition at line 160 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
Referenced by dchain::FillDecayList< DecayClass, CandidateClass >::doIt().
00161 { 00162 m_list.push_back( aEntry ) ; 00163 }
int dchain::LabeledParticleList< ParticleClass, CandidateClass >::size | ( | const typename conjugation::Label | aLabel | ) | const [virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 235 of file LabeledParticleList.cc.
References first, and dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00236 { 00237 // for efficiency, check to see if the whole list is empty first 00238 if ( m_list.empty() ) { 00239 return ( 0 ) ; 00240 } 00241 int result( 0 ) ; 00242 /* Currently the "count" is done explicilty because of deficiencies 00243 in the SunOS5 compiler! 00244 count( _labeledparticlelist_vector_::const_iterator( m_list.begin() ) , 00245 _labeledparticlelist_vector_::const_iterator( m_list.end() ) , 00246 aLabel , 00247 result ) ; 00248 */ 00249 typename _labeledparticlelist_vector_::const_iterator first( m_list.begin() ) ; 00250 typename _labeledparticlelist_vector_::const_iterator last( m_list.end() ) ; 00251 while (first != last) { 00252 if ( *first == aLabel ) { 00253 first++ ; 00254 result++ ; 00255 } 00256 } 00257 00258 return ( result ) ; 00259 }
int dchain::LabeledParticleList< ParticleClass, CandidateClass >::size | ( | ) | const [virtual] |
Implements dchain::LabeledCandidateList< CandidateClass >.
Definition at line 227 of file LabeledParticleList.cc.
References dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list.
00228 { 00229 return ( m_list.size() ) ; 00230 }
friend class dchain::MuteWholeCandidateItr< CandidateClass > [friend, inherited] |
Definition at line 45 of file IndexedLabeledCandidates.h.
friend class dchain::PartialCandidateItr< CandidateClass > [friend, inherited] |
Definition at line 47 of file IndexedLabeledCandidates.h.
friend class dchain::WholeCandidateItr< CandidateClass > [friend, inherited] |
Definition at line 46 of file IndexedLabeledCandidates.h.
_labeledparticlelist_vector_& dchain::LabeledParticleList< ParticleClass, CandidateClass >::m_list [private] |
Definition at line 168 of file LabeledParticleList.h.
Referenced by dchain::LabeledParticleList< ParticleClass, CandidateClass >::empty(), dchain::LabeledParticleList< ParticleClass, CandidateClass >::end(), dchain::LabeledParticleList< ParticleClass, CandidateClass >::erase_elements(), dchain::LabeledParticleList< ParticleClass, CandidateClass >::labeledParticleClass(), dchain::LabeledParticleList< ParticleClass, CandidateClass >::push_back(), dchain::LabeledParticleList< ParticleClass, CandidateClass >::size(), and dchain::LabeledParticleList< ParticleClass, CandidateClass >::~LabeledParticleList().