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

dchain::ChargedVisibleList< Charged, CandidateClass > Class Template Reference

#include <ChargedVisibleList.h>

Inheritance diagram for dchain::ChargedVisibleList< Charged, CandidateClass >:

dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > DCChargedVisibleList< Charged, CandidateClass > DCChargedVisibleList< Charged, CandidateClass > List of all members.

Public Types

typedef WholeItr< Charged > const_iterator
typedef WholeItr< Charged > const_iterator
typedef PartialItr< Charged > const_partial_iterator
typedef PartialItr< Charged > const_partial_iterator
typedef MuteWholeItr< Charged > iterator
typedef MuteWholeItr< Charged > iterator
typedef ChargedVisibleList<
Charged, CandidateClass > 
self_type
typedef ChargedVisibleList<
Charged, CandidateClass > 
self_type
typedef Charged value_type
typedef Charged 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 ()
template<class WitnessIterator, class TSelector>
 ChargedVisibleList (WitnessIterator first, WitnessIterator last, const TSelector &aFunctionalObject)
template<class WitnessIterator>
 ChargedVisibleList (WitnessIterator first, WitnessIterator last)
template<class TSelector>
 ChargedVisibleList (const self_type &aOtherList, const TSelector &aSel)
 ChargedVisibleList (const self_type &aOtherList)
 ChargedVisibleList ()
template<class WitnessIterator, class TSelector>
 ChargedVisibleList (WitnessIterator first, WitnessIterator last, const TSelector &aFunctionalObject)
template<class WitnessIterator>
 ChargedVisibleList (WitnessIterator first, WitnessIterator last)
template<class TSelector>
 ChargedVisibleList (const self_type &aOtherList, const TSelector &aSel)
 ChargedVisibleList (const self_type &aOtherList)
 ChargedVisibleList ()
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< Charged >())
template<class TMaker, class TSelector>
void fill (const LabeledParticleList< Charged, 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< Charged >())
template<class TMaker, class TSelector>
void fill (const LabeledParticleList< Charged, CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
template<class THolder>
void insert (THolder &pPossible)
template<class THolder>
void insert (THolder &pPossible)
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
ChosenChargeList< Charged,
CandidateClass > & 
minus () const
ChosenChargeList< Charged,
CandidateClass > & 
minus () const
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)
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 ()
ChosenChargeList< Charged,
CandidateClass > & 
plus () const
ChosenChargeList< Charged,
CandidateClass > & 
plus () const
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 ~ChargedVisibleList ()
virtual ~ChargedVisibleList ()

Protected Member Functions

virtual const LabeledParticleList<
Charged, CandidateClass > & 
labeledCandidateList () const
virtual LabeledParticleList<
Charged, CandidateClass > & 
labeledCandidateList ()
virtual const LabeledParticleList<
Charged, CandidateClass > & 
labeledCandidateList () const
virtual LabeledParticleList<
Charged, CandidateClass > & 
labeledCandidateList ()

Private Attributes

MutableReferenceHolder< LabeledParticleList<
Charged, CandidateClass > > 
m_list
MutableReferenceHolder< LabeledParticleList<
Charged, CandidateClass > > 
m_list
ChosenChargeList< Charged,
CandidateClass > * 
m_minusList
ChosenChargeList< Charged,
CandidateClass > * 
m_minusList
ChosenChargeList< Charged,
CandidateClass > * 
m_plusList
ChosenChargeList< Charged,
CandidateClass > * 
m_plusList

Static Private Attributes

const conjugation::Label kMinus = conjugation::kTails
const conjugation::Label kPlus = conjugation::kHeads

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
class dchain::ChargedVisibleList< Charged, CandidateClass >


Member Typedef Documentation

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef WholeItr< Charged > dchain::ChargedVisibleList< Charged, CandidateClass >::const_iterator
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef WholeItr< Charged > dchain::ChargedVisibleList< Charged, CandidateClass >::const_iterator
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef PartialItr< Charged > dchain::ChargedVisibleList< Charged, CandidateClass >::const_partial_iterator
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef PartialItr< Charged > dchain::ChargedVisibleList< Charged, CandidateClass >::const_partial_iterator
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef MuteWholeItr< Charged > dchain::ChargedVisibleList< Charged, CandidateClass >::iterator
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef MuteWholeItr< Charged > dchain::ChargedVisibleList< Charged, CandidateClass >::iterator
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef ChargedVisibleList<Charged,CandidateClass> dchain::ChargedVisibleList< Charged, CandidateClass >::self_type
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef ChargedVisibleList<Charged,CandidateClass> dchain::ChargedVisibleList< Charged, CandidateClass >::self_type
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef Charged dchain::ChargedVisibleList< Charged, CandidateClass >::value_type
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
typedef Charged dchain::ChargedVisibleList< Charged, CandidateClass >::value_type
 

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, and DCChargedVisibleList< Charged, Charged::CandidateClass >.


Constructor & Destructor Documentation

template<class Charged, class CandidateClass>
dchain::ChargedVisibleList< Charged, CandidateClass >::ChargedVisibleList  ) 
 

inserts into the list only if the the selector returns true

00119                     :
00120    m_list( (new LabeledParticleList< Charged , CandidateClass >) ),
00121    m_plusList(0),
00122    m_minusList(0)
00123 {
00124 }
template < class Charged , class CandidateClass >

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
dchain::ChargedVisibleList< Charged, CandidateClass >::ChargedVisibleList const self_type aOtherList  ) 
 

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

00159                                                  :
00160          m_list( new LabeledParticleList<Charged,CandidateClass> ),
00161          m_plusList(0),
00162          m_minusList(0)
00163       {
00164          fill(*(aOtherList.m_list), 
00165               typename MakerTrait<Charged>::maker_type(), 
00166               aSel);
00167       }

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

00170                                                                       : 
00171          m_list( new LabeledParticleList<Charged,CandidateClass> ),
00172          m_plusList(0),
00173          m_minusList(0)
00174       {
00175          fill(first, last, typename MakerTrait<Charged>::maker_type() ); }

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

00179                                                                  :
00180          m_list( new LabeledParticleList<Charged,CandidateClass> ),
00181          m_plusList(0),
00182          m_minusList(0)
00183       {
00184          fill(first, last, 
00185               typename MakerTrait<Charged>::maker_type(), aFunctionalObject); }

template<class Charged, class CandidateClass>
dchain::ChargedVisibleList< Charged, CandidateClass >::~ChargedVisibleList  )  [virtual]
 

00138 {
00139    delete m_plusList;
00140    delete m_minusList;
00141 }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
dchain::ChargedVisibleList< Charged, CandidateClass >::ChargedVisibleList  ) 
 

inserts into the list only if the the selector returns true

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
dchain::ChargedVisibleList< Charged, CandidateClass >::ChargedVisibleList const self_type aOtherList  ) 
 

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

00159                                                  :
00160          m_list( new LabeledParticleList<Charged,CandidateClass> ),
00161          m_plusList(0),
00162          m_minusList(0)
00163       {
00164          fill(*(aOtherList.m_list), 
00165               typename MakerTrait<Charged>::maker_type(), 
00166               aSel);
00167       }

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

00170                                                                       : 
00171          m_list( new LabeledParticleList<Charged,CandidateClass> ),
00172          m_plusList(0),
00173          m_minusList(0)
00174       {
00175          fill(first, last, typename MakerTrait<Charged>::maker_type() ); }

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

00179                                                                  :
00180          m_list( new LabeledParticleList<Charged,CandidateClass> ),
00181          m_plusList(0),
00182          m_minusList(0)
00183       {
00184          fill(first, last, 
00185               typename MakerTrait<Charged>::maker_type(), aFunctionalObject); }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
virtual dchain::ChargedVisibleList< Charged, CandidateClass >::~ChargedVisibleList  )  [virtual]
 


Member Function Documentation

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

00244                                                    {
00245          //std::cout << " @ ChargedVisibleList::attempt_insert() " << __LINE__ << std::endl;
00246          bool returnValue = (aSelect)(*pPossible);
00247          if (returnValue) {
00248             this->insert(pPossible);
00249          }
00250          return returnValue;
00251       }

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

00244                                                    {
00245          //std::cout << " @ ChargedVisibleList::attempt_insert() " << __LINE__ << std::endl;
00246          bool returnValue = (aSelect)(*pPossible);
00247          if (returnValue) {
00248             this->insert(pPossible);
00249          }
00250          return returnValue;
00251       }

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>
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 Charged, class CandidateClass = typename Charged::CandidateClass>
void dchain::ChargedVisibleList< Charged, CandidateClass >::erase  )  [inline]
 

00266                    {
00267          eraseContents();
00268       }

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

00266                    {
00267          eraseContents();
00268       }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
void dchain::ChargedVisibleList< Charged, CandidateClass >::eraseContents  ) 
 

template<class Charged, class CandidateClass>
void dchain::ChargedVisibleList< Charged, CandidateClass >::eraseContents  ) 
 

00204 {
00205    m_list->erase( m_list->begin() ,
00206                   m_list->end() ) ;
00207 }

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

00288                                                                {
00289          //std::cout << " @ ChargedVisibleList::fill() " << __LINE__ << std::endl;
00290          //std::cout << "size before transform: " << m_list->size() << std::endl;
00291          std::transform(first,last,
00292                         selectiveInserter(aSel),
00293                         aMaker);
00294          //std::cout << "size after transform: " << m_list->size() << std::endl;
00295       }

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

00273                                         {
00274 
00275          for( const_iterator entry(aList.begin()); entry != aList.end(); ++entry){
00276             //NOTE: even though this is really just calling the copy constructor
00277             //it is best to use the maker since it allows further control
00278             const Charged& from((*entry)());
00279             typename ResultTypeTrait<TMaker>::type localCopy( aMaker(from) );
00280             
00281             attempt_insert(localCopy,aSel);
00282          }
00283  
00284       }

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

00288                                                                {
00289          //std::cout << " @ ChargedVisibleList::fill() " << __LINE__ << std::endl;
00290          //std::cout << "size before transform: " << m_list->size() << std::endl;
00291          std::transform(first,last,
00292                         selectiveInserter(aSel),
00293                         aMaker);
00294          //std::cout << "size after transform: " << m_list->size() << std::endl;
00295       }

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

00273                                         {
00274 
00275          for( const_iterator entry(aList.begin()); entry != aList.end(); ++entry){
00276             //NOTE: even though this is really just calling the copy constructor
00277             //it is best to use the maker since it allows further control
00278             const Charged& from((*entry)());
00279             typename ResultTypeTrait<TMaker>::type localCopy( aMaker(from) );
00280             
00281             attempt_insert(localCopy,aSel);
00282          }
00283  
00284       }

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

00254                                       {
00255          if (0 < charge_sign(pPossible)) {
00256             m_list->push_back( LabeledParticle< Charged >( pPossible ,
00257                                                           kPlus ) ) ;
00258          }
00259          else {
00260             m_list->push_back( LabeledParticle< Charged >( pPossible ,
00261                                                           kMinus ) ) ;
00262          }
00263       }

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

00254                                       {
00255          if (0 < charge_sign(pPossible)) {
00256             m_list->push_back( LabeledParticle< Charged >( pPossible ,
00257                                                           kPlus ) ) ;
00258          }
00259          else {
00260             m_list->push_back( LabeledParticle< Charged >( pPossible ,
00261                                                           kMinus ) ) ;
00262          }
00263       }

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 Charged, class CandidateClass = typename Charged::CandidateClass>
template<class TAnalyze>
void dchain::ChargedVisibleList< Charged, CandidateClass >::iterate TAnalyze &  analyze  )  const [inline]
 

00228                                              {
00229          const_iterator finished ( particle_end() ) ;
00230          for ( const_iterator entry ( particle_begin() ) ;
00231                entry != finished ;
00232                ++entry ) {
00233             analyze( (*entry)() ) ;
00234          }
00235       }

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

00218                                                    {
00219          const_iterator finished ( particle_end() ) ;
00220          for ( const_iterator entry ( particle_begin() ) ;
00221                entry != finished ;
00222                ++entry ) {
00223             analyze( (*entry)() ) ;
00224          }
00225       }

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

00228                                              {
00229          const_iterator finished ( particle_end() ) ;
00230          for ( const_iterator entry ( particle_begin() ) ;
00231                entry != finished ;
00232                ++entry ) {
00233             analyze( (*entry)() ) ;
00234          }
00235       }

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

00218                                                    {
00219          const_iterator finished ( particle_end() ) ;
00220          for ( const_iterator entry ( particle_begin() ) ;
00221                entry != finished ;
00222                ++entry ) {
00223             analyze( (*entry)() ) ;
00224          }
00225       }

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

Implements dchain::CandidateList< CandidateClass >.

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

Implements dchain::CandidateList< CandidateClass >.

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

Implements dchain::CandidateList< CandidateClass >.

00231 {
00232    return ( *m_list ) ;
00233 }

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

Implements dchain::CandidateList< CandidateClass >.

00197 {
00198    return ( *m_list ) ;
00199 }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
ChosenChargeList< Charged , CandidateClass >& dchain::ChargedVisibleList< Charged, CandidateClass >::minus  )  const
 

template<class Charged, class CandidateClass>
ChosenChargeList< Charged, CandidateClass > & dchain::ChargedVisibleList< Charged, CandidateClass >::minus  )  const
 

00187 {
00188    if ( m_minusList == 0 ) {
00189       m_minusList = new ChosenChargeList< Charged , CandidateClass >( *m_list , kMinus );
00190    }
00191    return (*m_minusList);
00192 }

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

Reimplemented in DCFillableChargedList< Charged >, and DCFillableChargedList< Charged >.

00192                                                               {
00193          eraseContents();
00194          fill(aWitnessList.begin(), aWitnessList.end(),
00195               typename MakerTrait<Charged>::maker_type(),
00196               SelectAll<Charged>() );
00197          return ( *this ) ;
00198       }

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

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

Reimplemented in DCFillableChargedList< Charged >, and DCFillableChargedList< Charged >.

00192                                                               {
00193          eraseContents();
00194          fill(aWitnessList.begin(), aWitnessList.end(),
00195               typename MakerTrait<Charged>::maker_type(),
00196               SelectAll<Charged>() );
00197          return ( *this ) ;
00198       }

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

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

00202                                                                                     {
00203          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00204       }

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

00202                                                                                     {
00203          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00204       }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
const_iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_begin  )  const
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_begin  ) 
 

template<class Charged, class CandidateClass>
ChargedVisibleList< Charged, CandidateClass >::const_iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_begin  )  const
 

00215 {
00216 // Need to cast to 'const' to get the right function call
00217   return ( (*(const LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).begin() ) ;
00218 }

template<class Charged, class CandidateClass>
ChargedVisibleList< Charged, CandidateClass >::iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_begin  ) 
 

00163 {
00164    return ( m_list->begin() ) ;
00165 }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
const_iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_end  )  const
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_end  ) 
 

template<class Charged, class CandidateClass>
ChargedVisibleList< Charged, CandidateClass >::const_iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_end  )  const
 

00222 {
00223 // Need to cast to 'const' to get the right function call
00224   return ( (*(const LabeledParticleList< Charged , CandidateClass >*)(m_list.pointer())).end() ) ;
00225 }

template<class Charged, class CandidateClass>
ChargedVisibleList< Charged, CandidateClass >::iterator dchain::ChargedVisibleList< Charged, CandidateClass >::particle_end  ) 
 

00170 {
00171    return ( m_list->end() ) ;
00172 }

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
ChosenChargeList< Charged , CandidateClass >& dchain::ChargedVisibleList< Charged, CandidateClass >::plus  )  const
 

template<class Charged, class CandidateClass>
ChosenChargeList< Charged, CandidateClass > & dchain::ChargedVisibleList< Charged, CandidateClass >::plus  )  const
 

00177 {
00178    if ( m_plusList == 0 ) {
00179       m_plusList = new ChosenChargeList< Charged, CandidateClass >( *m_list, kPlus );
00180    }
00181    return (*m_plusList);
00182 }

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

creates an insert iterator that filters based on iSelect

00239                                                                                      {
00240          return SelectiveInserter<self_type,TSelect>(*this,iSelect); }

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

creates an insert iterator that filters based on iSelect

00239                                                                                      {
00240          return SelectiveInserter<self_type,TSelect>(*this,iSelect); }

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 Charged, class CandidateClass = typename Charged::CandidateClass>
const conjugation::Label dchain::ChargedVisibleList< Charged, CandidateClass >::kMinus = conjugation::kTails [static, private]
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
const conjugation::Label dchain::ChargedVisibleList< Charged, CandidateClass >::kPlus = conjugation::kHeads [static, private]
 

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

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

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
ChosenChargeList< Charged, CandidateClass >* dchain::ChargedVisibleList< Charged, CandidateClass >::m_minusList [mutable, private]
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
ChosenChargeList< Charged, CandidateClass >* dchain::ChargedVisibleList< Charged, CandidateClass >::m_minusList [mutable, private]
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
ChosenChargeList< Charged, CandidateClass >* dchain::ChargedVisibleList< Charged, CandidateClass >::m_plusList [mutable, private]
 

template<class Charged, class CandidateClass = typename Charged::CandidateClass>
ChosenChargeList< Charged, CandidateClass >* dchain::ChargedVisibleList< Charged, CandidateClass >::m_plusList [mutable, private]
 


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