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

dchain::CombinatoricList< CandidateClass > Class Template Reference

#include <CombinatoricList.h>

Inheritance diagram for dchain::CombinatoricList< CandidateClass >:

dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass > dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass > dchain::ConjugateList< CandidateClass > dchain::ConjugateList< CandidateClass > dchain::ConjugateList< CandidateClass > dchain::ConjugateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > dchain::CandidateList< CandidateClass > List of all members.

Public Types

typedef dchain::DecayList<
DecayClass, CandidateClass
>::const_iterator 
const_iterator
typedef dchain::DecayList<
DecayClass, CandidateClass
>::const_iterator 
const_iterator
typedef dchain::DecayList<
DecayClass, CandidateClass
>::const_partial_iterator 
const_partial_iterator
typedef dchain::DecayList<
DecayClass, CandidateClass
>::const_partial_iterator 
const_partial_iterator
typedef DCCandidateTraits<
CandidateClass >::DecayClass 
DecayClass
typedef DCCandidateTraits<
CandidateClass >::DecayClass 
DecayClass
typedef dchain::DecayList<
DecayClass, CandidateClass
>::iterator 
iterator
typedef dchain::DecayList<
DecayClass, CandidateClass
>::iterator 
iterator
typedef DecayList< DCCandidateTraits<
CandidateClass >::DecayClass,
CandidateClass > 
self_type
typedef DecayList< DCCandidateTraits<
CandidateClass >::DecayClass,
CandidateClass > 
self_type
typedef DCCandidateTraits<
CandidateClass >::DecayClass 
value_type
typedef DCCandidateTraits<
CandidateClass >::DecayClass 
value_type

Public Member Functions

bool attempt_insert (DCCandidateTraits< CandidateClass >::DecayClass *pPossible, const conjugation::Label aLabel, const TSelect &aSelect)
bool attempt_insert (DCCandidateTraits< CandidateClass >::DecayClass *pPossible, const conjugation::Label aLabel, const TSelect &aSelect)
virtual const dchain::DecayList<
DecayClass, CandidateClass > 
bar () const
virtual const dchain::DecayList<
DecayClass, CandidateClass > 
bar () const
virtual dchain::CandidateList<
CandidateClass >::const_iterator 
begin () const
virtual dchain::CandidateList<
CandidateClass >::iterator 
begin ()
virtual dchain::CandidateList<
CandidateClass >::const_iterator 
begin () const
virtual dchain::CandidateList<
CandidateClass >::iterator 
begin ()
 CombinatoricList (const CombinatoricList< CandidateClass > &aOtherList)
 CombinatoricList (const ConjugateList< CandidateClass > &aList)
 CombinatoricList (const CombinatoricList< CandidateClass > &aOtherList)
 CombinatoricList (const ConjugateList< CandidateClass > &aList)
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 &analyze) const
template<class TAnalyzer>
void conjugation_iterate (const TAnalyzer &analyze) const
virtual bool empty () const
virtual bool empty () const
virtual dchain::CandidateList<
CandidateClass >::const_iterator 
end () const
virtual dchain::CandidateList<
CandidateClass >::iterator 
end ()
virtual dchain::CandidateList<
CandidateClass >::const_iterator 
end () const
virtual dchain::CandidateList<
CandidateClass >::iterator 
end ()
void erase ()
void erase ()
void eraseContents ()
void eraseContents ()
void fill (const TDecayList &aList, const TSelector &aSel=SelectAll< DCCandidateTraits< CandidateClass >::DecayClass >())
void insert (THolder &pPossible, const conjugation::Label aLabel)
void insert (THolder &pPossible, const conjugation::Label aLabel)
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
void iterate (TAnalyze &analyze) const
template<class TAnalyze>
void iterate (const TAnalyze &analyze) const
template<class TAnalyze>
void iterate (const TAnalyze &analyze) const
virtual conjugation::Label label () const
virtual conjugation::Label label () const
virtual const dchain::DecayList<
DecayClass, CandidateClass > & 
operator() () const
virtual const dchain::DecayList<
DecayClass, CandidateClass > & 
operator() () const
void operator+= (const TList &aOtherList)
void operator+= (const TList &aOtherList)
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
virtual dchain::CandidateList<
CandidateClass >::const_partial_iterator 
partial_begin () const
virtual dchain::CandidateList<
CandidateClass >::const_partial_iterator 
partial_begin () const
virtual dchain::CandidateList<
CandidateClass >::const_partial_iterator 
partial_end () const
virtual dchain::CandidateList<
CandidateClass >::const_partial_iterator 
partial_end () const
template<class TAnalyzer>
void partial_iterate (const TAnalyzer &analyze) const
template<class TAnalyze>
void partial_iterate (TAnalyze &analyze) const
template<class TAnalyze>
void partial_iterate (TAnalyze &analyze) const
virtual const_partial_iterator partial_particle_begin () const
virtual const_partial_iterator partial_particle_begin () const
virtual const_partial_iterator partial_particle_end () const
virtual const_partial_iterator partial_particle_end () const
int partial_size () const
int partial_size () const
virtual const_iterator particle_begin () const
virtual dchain::DecayList<
DecayClass, CandidateClass
>::iterator 
particle_begin ()
virtual const_iterator particle_begin () const
virtual dchain::DecayList<
DecayClass, CandidateClass
>::iterator 
particle_begin ()
virtual const_iterator particle_end () const
virtual dchain::DecayList<
DecayClass, CandidateClass
>::iterator 
particle_end ()
virtual const_iterator particle_end () const
virtual dchain::DecayList<
DecayClass, CandidateClass
>::iterator 
particle_end ()
virtual int size () const
virtual int size () const
virtual ~CombinatoricList ()
virtual ~CombinatoricList ()

Protected Member Functions

 CombinatoricList (const CombinatoricList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
 CombinatoricList (const ConjugateList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
 CombinatoricList (const CombinatoricList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
 CombinatoricList (const ConjugateList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
 CombinatoricList (const CombinatoricList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
 CombinatoricList (const ConjugateList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
 CombinatoricList (const CombinatoricList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
 CombinatoricList (const ConjugateList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
virtual const dchain::LabeledCandidateList<
CandidateClass > & 
labeledCandidateList () const
virtual dchain::LabeledCandidateList<
CandidateClass > & 
labeledCandidateList ()
virtual const dchain::LabeledCandidateList<
CandidateClass > & 
labeledCandidateList () const
virtual dchain::LabeledCandidateList<
CandidateClass > & 
labeledCandidateList ()
virtual const LabeledParticleList<
DCCandidateTraits< CandidateClass
>::DecayClass, CandidateClass > & 
labeledParticleList () const
virtual LabeledParticleList<
DCCandidateTraits< CandidateClass
>::DecayClass, CandidateClass > & 
labeledParticleList ()
virtual const LabeledParticleList<
DCCandidateTraits< CandidateClass
>::DecayClass, CandidateClass > & 
labeledParticleList () const
virtual LabeledParticleList<
DCCandidateTraits< CandidateClass
>::DecayClass, CandidateClass > & 
labeledParticleList ()
void setLabel (const conjugation::Label aLabel)
void setLabel (const conjugation::Label aLabel)

Private Member Functions

 CombinatoricList (void)
 CombinatoricList (void)
void determineConjugation () const
void determineConjugation () const
void fill () const
void fill () const
const CombinatoricList< CandidateClass > & operator= (const CombinatoricList< CandidateClass > &aOtherList)
const CombinatoricList< CandidateClass > & operator= (const CombinatoricList< CandidateClass > &aOtherList)

Private Attributes

bool m_conjugationKnown
bool m_listFilled
_combinatoriclist_vector_ & m_listOfLists
_combinatoriclist_vector_ & m_listOfLists

Friends

class dchain::DecayList< DecayClass , CandidateClass >
CombinatoricList< CandidateClass > operator * (const CombinatoricList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const ConjugateList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const CombinatoricList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const ConjugateList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const CombinatoricList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const ConjugateList< CandidateClass > &lhs, const CombinatoricList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const CombinatoricList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)
CombinatoricList< CandidateClass > operator * (const ConjugateList< CandidateClass > &lhs, const ConjugateList< CandidateClass > &rhs)

template<class CandidateClass>
class dchain::CombinatoricList< CandidateClass >


Member Typedef Documentation

template<class CandidateClass>
typedef dchain::DecayList< DecayClass , CandidateClass >::const_iterator dchain::CombinatoricList< CandidateClass >::const_iterator
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
typedef dchain::DecayList< DecayClass , CandidateClass >::const_iterator dchain::CombinatoricList< CandidateClass >::const_iterator
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
typedef dchain::DecayList< DecayClass , CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::const_partial_iterator
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
typedef dchain::DecayList< DecayClass , CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::const_partial_iterator
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
typedef DCCandidateTraits<CandidateClass>::DecayClass dchain::CombinatoricList< CandidateClass >::DecayClass
 

template<class CandidateClass>
typedef DCCandidateTraits<CandidateClass>::DecayClass dchain::CombinatoricList< CandidateClass >::DecayClass
 

template<class CandidateClass>
typedef dchain::DecayList< DecayClass , CandidateClass >::iterator dchain::CombinatoricList< CandidateClass >::iterator
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
typedef dchain::DecayList< DecayClass , CandidateClass >::iterator dchain::CombinatoricList< CandidateClass >::iterator
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

typedef DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass > dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::self_type [inherited]
 

typedef DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass > dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::self_type [inherited]
 

typedef DCCandidateTraits< CandidateClass >::DecayClass dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::value_type [inherited]
 

Reimplemented from dchain::CandidateList< CandidateClass >.

typedef DCCandidateTraits< CandidateClass >::DecayClass dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::value_type [inherited]
 

Reimplemented from dchain::CandidateList< CandidateClass >.


Constructor & Destructor Documentation

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::~CombinatoricList  )  [virtual]
 

00356 {
00357    delete &m_listOfLists ;
00358 }

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const ConjugateList< CandidateClass > &  aList  ) 
 

00290                                                                                                    :
00291    m_listOfLists( *(new _combinatoriclist_vector_( 1 ,
00292                                                    &aList ) ) ) ,
00293    m_listFilled( false ) ,
00294    m_conjugationKnown( false )
00295 {
00296 }

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const ConjugateList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[protected]
 

00300                                                                                  :
00301    m_listOfLists( *(new _combinatoriclist_vector_( 1 ,
00302                                                    &lhs ) ) ) ,
00303    m_listFilled( false ) ,
00304    m_conjugationKnown( false )
00305 {
00306    //std::cout << "@CombinatoricList::CombinatoricList() 11" << std::endl;
00307    //typedef typename ConjugateList< CandidateClass >::const_partial_iterator test_it;
00308    //std::cout << "lhs ...................... : " << std::endl;
00309    //for ( test_it it = lhs.partial_begin(); it != lhs.partial_end(); it++ ) {
00310    //   std::cout << (*it)().footPrint() << std::endl;
00311    //}
00312    //std::cout << "rhs ...................... : " << std::endl;
00313    //for ( test_it it = rhs.partial_begin(); it != rhs.partial_end(); it++ ) {
00314    //   std::cout << (*it)().footPrint() << std::endl;
00315    //}
00316    m_listOfLists.push_back( &rhs ) ;
00317 }

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const CombinatoricList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[protected]
 

00321                                                                                  :
00322    m_listOfLists( *(new _combinatoriclist_vector_( lhs.m_listOfLists ) ) ) ,
00323    m_listFilled( false ) ,
00324    m_conjugationKnown( false )
00325 {
00326    m_listOfLists.push_back( &rhs ) ;
00327 }

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const ConjugateList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[protected]
 

00331                                                                                     :
00332    m_listOfLists( *(new _combinatoriclist_vector_( 1 ,
00333                                                    &lhs ) ) ) ,
00334    m_listFilled( false ) ,
00335    m_conjugationKnown( false )
00336 {
00337    m_listOfLists.insert( m_listOfLists.end() ,
00338                          (rhs.m_listOfLists).begin() ,
00339                          (rhs.m_listOfLists).end() ) ;
00340 }

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const CombinatoricList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[protected]
 

00344                                                                                     :
00345    m_listOfLists( *(new _combinatoriclist_vector_( lhs.m_listOfLists ) ) ) ,
00346    m_listFilled( false ) ,
00347    m_conjugationKnown( false )
00348 {
00349    m_listOfLists.insert( m_listOfLists.end() ,
00350                          (rhs.m_listOfLists).begin() ,
00351                          (rhs.m_listOfLists).end() ) ;
00352 }

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList void   )  [private]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const CombinatoricList< CandidateClass > &  aOtherList  ) 
 

00281                                                                                                    :
00282    m_listOfLists( *(new _combinatoriclist_vector_() ) ),
00283    m_listFilled( iRHS.m_listFilled ) ,
00284    m_conjugationKnown( iRHS.m_conjugationKnown )
00285 {
00286    m_listOfLists.swap(const_cast<CombinatoricList<CandidateClass>&>(iRHS).m_listOfLists);
00287 }

template<class CandidateClass>
virtual dchain::CombinatoricList< CandidateClass >::~CombinatoricList  )  [virtual]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const ConjugateList< CandidateClass > &  aList  ) 
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const ConjugateList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[protected]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const CombinatoricList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[protected]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const ConjugateList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[protected]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const CombinatoricList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[protected]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList void   )  [private]
 

template<class CandidateClass>
dchain::CombinatoricList< CandidateClass >::CombinatoricList const CombinatoricList< CandidateClass > &  aOtherList  ) 
 


Member Function Documentation

bool dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::attempt_insert DCCandidateTraits< CandidateClass >::DecayClass *  pPossible,
const conjugation::Label  aLabel,
const TSelect &  aSelect
[inline, inherited]
 

00208                                      {
00209          ReferenceHolder<DecayClass> pHolder( pPossible );
00210          bool returnValue = aSelect(*pPossible);
00211          if (returnValue) {
00212             this->insert(pPossible,aLabel);
00213          }
00214          return returnValue;
00215       }

bool dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::attempt_insert DCCandidateTraits< CandidateClass >::DecayClass *  pPossible,
const conjugation::Label  aLabel,
const TSelect &  aSelect
[inline, inherited]
 

00208                                      {
00209          ReferenceHolder<DecayClass> pHolder( pPossible );
00210          bool returnValue = aSelect(*pPossible);
00211          if (returnValue) {
00212             this->insert(pPossible,aLabel);
00213          }
00214          return returnValue;
00215       }

template<class CandidateClass>
virtual const dchain::DecayList< DecayClass , CandidateClass > dchain::CombinatoricList< CandidateClass >::bar  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
const dchain::DecayList< typename CombinatoricList< CandidateClass >::DecayClass, CandidateClass > dchain::CombinatoricList< CandidateClass >::bar  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00414 {
00415    fill() ;
00416 // Need to cast away 'const' to get the right type of LabelList returned
00417    return ( dchain::DecayList< DecayClass , CandidateClass >(
00418       (*(CombinatoricList< CandidateClass >*)this).labeledParticleList() ,
00419       otherLabel( label() ) ) ) ;
00420 }

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

Reimplemented from dchain::CandidateList< CandidateClass >.

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

Reimplemented from dchain::CandidateList< CandidateClass >.

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

Reimplemented from dchain::CandidateList< CandidateClass >.

00443 {
00444    fill() ;
00445    return ( dchain::DecayList< DecayClass , CandidateClass >::begin() ) ;
00446 }

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

Reimplemented from dchain::CandidateList< CandidateClass >.

00373 {
00374    fill() ;
00375    return ( dchain::DecayList< DecayClass , CandidateClass >::begin() ) ;
00376 }

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::CombinatoricList< CandidateClass >::conjugation_iterate const TAnalyzer &  analyze  )  const [inline]
 

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

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
template<class TAnalyzer>
void dchain::CombinatoricList< CandidateClass >::conjugation_iterate const TAnalyzer &  analyze  )  const [inline]
 

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

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
void dchain::CombinatoricList< CandidateClass >::determineConjugation  )  const [private]
 

template<class CandidateClass>
void dchain::CombinatoricList< CandidateClass >::determineConjugation  )  const [private]
 

00520 {
00521    if ( m_conjugationKnown ) {
00522       return ;
00523    }
00524    _combinatoriclist_vector_ unConjugatedLists ;
00525    typename _combinatoriclist_vector_::const_iterator finishedTesting ( m_listOfLists.end() ) ;
00526    for ( typename _combinatoriclist_vector_::const_iterator list( m_listOfLists.begin() ) ;
00527          list != finishedTesting ;
00528          ++list ) {
00529       if ( ! (*(*list)).isSelfConjugate() ) {
00530          bool noMatchFound( !false ) ;
00531          typename _combinatoriclist_vector_::iterator matchToCheck( unConjugatedLists.begin() ) ;
00532          typename _combinatoriclist_vector_::iterator finishedMatching ( unConjugatedLists.end() ) ;
00533          while ( noMatchFound &&
00534                  ( matchToCheck != finishedMatching ) ) {
00535             if ( (*(*list)).isConjugateOf( (*(*matchToCheck)) ) ) {
00536                unConjugatedLists.erase( matchToCheck ) ;
00537                noMatchFound = false ;
00538             }
00539             ++matchToCheck ;
00540          }
00541          if ( noMatchFound ) {
00542             unConjugatedLists.push_back( *list ) ;
00543          }
00544       }
00545    }
00546    if ( 0 == unConjugatedLists.size() ) {
00547 // have to cast away 'const' to set the real value of the label
00548       (*(CombinatoricList< CandidateClass >*)this).setLabel( conjugation::kNone ) ;
00549    }
00550    else {
00551 // have to cast away 'const' to set the real value of the label
00552       (*(CombinatoricList< CandidateClass >*)this).setLabel( kBaseLabel ) ;
00553    }
00554 // have to cast away 'const' to set the real value of the flag
00555    (*(CombinatoricList< CandidateClass >*)this).m_conjugationKnown = !false ;
00556 }

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 dchain::CandidateList< CandidateClass >::const_iterator dchain::CombinatoricList< CandidateClass >::end  )  const [virtual]
 

Reimplemented from dchain::CandidateList< CandidateClass >.

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

Reimplemented from dchain::CandidateList< CandidateClass >.

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

Reimplemented from dchain::CandidateList< CandidateClass >.

00450 {
00451    fill() ;
00452    return ( dchain::DecayList< DecayClass , CandidateClass >::end() ) ;
00453 }

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

Reimplemented from dchain::CandidateList< CandidateClass >.

00380 {
00381    fill() ;
00382    return ( dchain::DecayList< DecayClass , CandidateClass >::end() ) ;
00383 }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::erase  )  [inline, inherited]
 

00187                 {
00188       eraseContents();
00189    }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::erase  )  [inline, inherited]
 

00187                 {
00188       eraseContents();
00189    }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::eraseContents  )  [inherited]
 

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::eraseContents  )  [inherited]
 

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::fill const TDecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass > &  aList,
const TSelector &  aSel = SelectAll<DecayClass>()
[inline, inherited]
 

00227                                                                                             {
00228          //std::cout << "@DecayList::fill()" << std::endl;
00229          setLabel( aList.label() ) ;
00230          typename TDecayList::const_iterator finished( aList.particle_end() ) ;
00231          for ( typename TDecayList::const_iterator entry( aList.particle_begin() ) ;
00232                entry != finished ;
00233                ++entry ) {
00234             //std::cout << "@ DecayList::fill()" << std::endl;
00235             DecayClass* localCopy = new DecayClass( (*entry).particle() ) ;
00236             attempt_insert( localCopy ,
00237                   (*entry).label(),
00238                   aSel ) ;
00239          }
00240       }

template<class CandidateClass>
void dchain::CombinatoricList< CandidateClass >::fill  )  const [private]
 

template<class CandidateClass>
void dchain::CombinatoricList< CandidateClass >::fill  )  const [private]
 

00560 {
00561    //std::cout << "@CombinatoricList::fill(), filled = " << m_listFilled << std::endl;
00562    if ( m_listFilled ) {
00563       return ;
00564    }
00565 //
00566 // Create CombinatoricLoop lists for `primary' half of the list.
00567 // If list is not self-conjugate, fill CombinatoricLoop lists for `conjugate'
00568 //   half of the list as well.
00569 //
00570    const short kPrimary = 0 ;
00571    const short kConjugate = 1 ;
00572    const short kEndLoopType = 2 ;
00573    _combinatoricloop_vector_ loopList[ 2 ] ;
00574    typename _combinatoricloop_vector_::iterator initialLoop[ 2 ] ;
00575    typename _combinatoricloop_vector_::iterator secondLoop[ 2 ] ;
00576    typename _combinatoricloop_vector_::iterator endLoop[ 2 ] ;
00577    for ( short loopType( kPrimary ) ;
00578          loopType != kEndLoopType ;
00579          ++loopType ) {
00580       if ( ( kConjugate != loopType ) ||
00581            ( ! isSelfConjugate() ) ) {
00582          loopList[ loopType ].reserve( m_listOfLists.size() ) ;
00583          typename _combinatoriclist_vector_::const_iterator finishedBuilding( m_listOfLists.end() ) ;
00584          for ( typename _combinatoriclist_vector_::const_iterator listForLoop( m_listOfLists.begin() ) ;
00585                listForLoop != finishedBuilding ;
00586                ++listForLoop ) {
00587             CombinatoricLoop< CandidateClass >* newLoop ;
00588             if ( kPrimary == loopType ) {
00589                newLoop = new CombinatoricLoop< CandidateClass >( (*(*listForLoop)).partial_begin() ,
00590                                                              (*(*listForLoop)).partial_end() ,
00591                                                              loopList[ loopType ] ) ;
00592             }
00593             else {
00594                newLoop = new CombinatoricLoop< CandidateClass >( (*(*listForLoop)).conjugate_partial_begin() ,
00595                                                              (*(*listForLoop)).conjugate_partial_end() ,
00596                                                              loopList[ loopType ] ) ;
00597             }
00598             loopList[ loopType ].push_back( newLoop ) ;
00599          }
00600          initialLoop[ loopType ] = loopList[ loopType ].begin() ;
00601          secondLoop[ loopType ] = initialLoop[ loopType ] + 1 ;
00602          endLoop[ loopType ] = loopList[ loopType ].end() ;
00603       }
00604    }
00605 //
00606 // do loop through initial ConjugateList
00607 //
00608    conjugation::Label conjugationLabel = kBaseLabel;
00609    if( isSelfConjugate() ) {
00610       conjugationLabel = conjugation::kNone;
00611    } 
00612       
00613    FillDecayList< DecayClass , CandidateClass >::fill(
00614       *(*initialLoop[ kPrimary ]),
00615       secondLoop[ kPrimary ] ,
00616       endLoop[ kPrimary ] ,
00617       conjugationLabel,
00618       const_cast<CombinatoricList< CandidateClass >*>(this)->labeledParticleList() );
00619 
00620    if( !isSelfConjugate() ) {
00621       FillDecayList< DecayClass , CandidateClass >::fill(
00622          *(*initialLoop[ kConjugate ]),
00623          secondLoop[ kConjugate ] ,
00624          endLoop[ kConjugate ] ,
00625          otherLabel(conjugationLabel),
00626          const_cast<CombinatoricList< CandidateClass >*>(this)->labeledParticleList() );
00627    }
00628    /*
00629 #if defined(THIS_IS_NEVER_TRUE)
00630    conjugation::Label entryLabel[ 2 ] ;
00631    if ( ! isSelfConjugate() ) {
00632       entryLabel[ 0 ] = kBaseLabel ;
00633       entryLabel[ 1 ] = otherLabel( kBaseLabel ) ;
00634    }
00635    else {
00636       entryLabel[ 0 ] = conjugation::kNone ;
00637    }
00638    const ConjugateList< CandidateClass >& initialList( (*(*(m_listOfLists.begin()))) ) ;
00639    typename dchain::CandidateList< CandidateClass >::const_partial_iterator initialListEntry[ 2 ] ;
00640    initialListEntry[ kPrimary ] = initialList.partial_begin() ;
00641    if ( ! isSelfConjugate() ) {
00642       initialListEntry[ kConjugate ] = initialList.conjugate_partial_begin() ;
00643    }
00644    typename dchain::CandidateList< CandidateClass >::const_iterator finished( initialList.end() ) ;
00645    for ( typename dchain::CandidateList< CandidateClass >::const_iterator entry( initialList.begin() ) ;
00646          entry != finished ;
00647          ++entry ) {
00648 //
00649 // if entry is in `primary' half of list build all decays for this
00650 //   entry, otherwise, if list is not self-conjugate build all decays
00651 //   for this `conjugate' entry
00652 //
00653       short entryType( kConjugate ) ;
00654       if ( &(*entry) == &(*initialListEntry[ kPrimary ]) ) {
00655          entryType = kPrimary ;
00656       }
00657       if ( ( kConjugate != entryType ) ||
00658            ( ! isSelfConjugate() ) ) {
00659          (*(*initialLoop[ entryType ])).setCurrentIterator( initialListEntry[ entryType ] ) ;
00660          ReferenceHolder<DecayClass> initialDecay( new DecayClass( (*initialListEntry[ entryType ]).labeledClass() ) );
00661 //
00662 // Note: need to cast way `const' to make sure a non-const LabeledParticleList
00663 //         is returned 
00664 //
00665          typename FillDecayList<DecayClass, CandidateClass>::ChildList childList(initialDecay.pointer());
00666 
00667          FillDecayList< DecayClass , CandidateClass >::
00668             doIt( secondLoop[ entryType ] ,
00669                   endLoop[ entryType ] ,
00670                   childList,
00671                   entryLabel[ entryType ] ,
00672                   (*(CombinatoricList< CandidateClass >*)this).labeledParticleList()
00673                   //this->labeledParticleList()
00674                   ) ;
00675          ++initialListEntry[ entryType ] ;
00676       }
00677    }
00678 #endif
00679    */
00680 //
00681 // delete contents of CombinatoricLoop lists.
00682 //
00683    for ( short halfType( kPrimary ) ;
00684          halfType != kEndLoopType ;
00685          ++halfType ) {
00686       if ( ( kConjugate != halfType ) ||
00687            ( ! isSelfConjugate() ) ) {
00688          typename _combinatoricloop_vector_::iterator finishedDeletion( loopList[ halfType ].end() ) ;
00689          for ( typename _combinatoricloop_vector_::iterator loopInList( loopList[ halfType ].begin() ) ;
00690                loopInList != finishedDeletion ;
00691                ++loopInList ) {
00692             delete *loopInList ;
00693          }
00694       }
00695    }
00696    m_listFilled = !false ;
00697 }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::insert THolder &  pPossible,
const conjugation::Label  aLabel
[inline, inherited]
 

00219                                            {
00220          m_list->push_back( LabeledParticle< DecayClass >( pPossible ,
00221                   aLabel ) ) ;
00222       }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::insert THolder &  pPossible,
const conjugation::Label  aLabel
[inline, inherited]
 

00219                                            {
00220          m_list->push_back( LabeledParticle< DecayClass >( pPossible ,
00221                   aLabel ) ) ;
00222       }

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::CombinatoricList< CandidateClass >::isSelfConjugate  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class CandidateClass>
bool dchain::CombinatoricList< CandidateClass >::isSelfConjugate  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

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          }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::iterate TAnalyze &  analyze  )  const [inline, inherited]
 

00165                                              {
00166          const_iterator finished ( particle_end() ) ;
00167          for ( const_iterator entry ( particle_begin() ) ;
00168                entry != finished ;
00169                ++entry ) {
00170             analyze( (*entry).particle() ) ;
00171          }
00172       }

template<class CandidateClass>
template<class TAnalyze>
void dchain::CombinatoricList< CandidateClass >::iterate const TAnalyze &  analyze  )  const [inline]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00160                                                    {
00161          fill();
00162          dchain::DecayList<DecayClass,CandidateClass>::iterate(analyze);
00163       }

template<class CandidateClass>
template<class TAnalyze>
void dchain::CombinatoricList< CandidateClass >::iterate const TAnalyze &  analyze  )  const [inline]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00160                                                    {
00161          fill();
00162          dchain::DecayList<DecayClass,CandidateClass>::iterate(analyze);
00163       }

template<class CandidateClass>
virtual conjugation::Label dchain::CombinatoricList< CandidateClass >::label  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class CandidateClass>
conjugation::Label dchain::CombinatoricList< CandidateClass >::label  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class CandidateClass>
virtual const dchain::LabeledCandidateList< CandidateClass >& dchain::CombinatoricList< CandidateClass >::labeledCandidateList  )  const [protected, virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
virtual dchain::LabeledCandidateList< CandidateClass >& dchain::CombinatoricList< CandidateClass >::labeledCandidateList  )  [protected, virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
const dchain::LabeledCandidateList< CandidateClass > & dchain::CombinatoricList< CandidateClass >::labeledCandidateList  )  const [protected, virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
dchain::LabeledCandidateList< CandidateClass > & dchain::CombinatoricList< CandidateClass >::labeledCandidateList  )  [protected, virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

virtual const LabeledParticleList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >& dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::labeledParticleList  )  const [protected, virtual, inherited]
 

virtual LabeledParticleList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >& dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::labeledParticleList  )  [protected, virtual, inherited]
 

virtual const LabeledParticleList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >& dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::labeledParticleList  )  const [protected, virtual, inherited]
 

virtual LabeledParticleList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >& dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::labeledParticleList  )  [protected, virtual, inherited]
 

template<class CandidateClass>
virtual const dchain::DecayList< DecayClass , CandidateClass >& dchain::CombinatoricList< CandidateClass >::operator()  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
const dchain::DecayList< typename CombinatoricList< CandidateClass >::DecayClass, CandidateClass > & dchain::CombinatoricList< CandidateClass >::operator()  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00425 {
00426    fill() ;
00427 // // Need to cast away 'const' to get the right type of LabelList returned
00428 //    return ( dchain::DecayList< DecayClass , CandidateClass >( (*(CombinatoricList< CandidateClass >*)this).labeledDecayList() ,
00429 //                                 label() ) ) ;
00430    return ( *this ) ;
00431 }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::operator+= const TList &  aOtherList  )  [inline, inherited]
 

00112                                                 {
00113 
00114          if(this->size() != 0 ) {
00115             //only check compatable conjugation if something already in
00116             // this list, otherwise could have problem with default value
00117             bool can_only_add_lists_with_same_conjugation =
00118                this->isSelfConjugate()== aOtherList.isSelfConjugate();
00119             assert(can_only_add_lists_with_same_conjugation);
00120          }
00121          fill(aOtherList);
00122       }

void dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::operator+= const TList &  aOtherList  )  [inline, inherited]
 

00112                                                 {
00113 
00114          if(this->size() != 0 ) {
00115             //only check compatable conjugation if something already in
00116             // this list, otherwise could have problem with default value
00117             bool can_only_add_lists_with_same_conjugation =
00118                this->isSelfConjugate()== aOtherList.isSelfConjugate();
00119             assert(can_only_add_lists_with_same_conjugation);
00120          }
00121          fill(aOtherList);
00122       }

template<class CandidateClass>
const CombinatoricList< CandidateClass >& dchain::CombinatoricList< CandidateClass >::operator= const CombinatoricList< CandidateClass > &  aOtherList  )  [private]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
const CombinatoricList< CandidateClass >& dchain::CombinatoricList< CandidateClass >::operator= const CombinatoricList< CandidateClass > &  aOtherList  )  [private]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

FillListWithSelection<self_type, TSelector> dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::operator[] const TSelector &  iSel  )  [inline, inherited]
 

00125                                                                                     {
00126          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00127       }

FillListWithSelection<self_type, TSelector> dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass , CandidateClass >::operator[] const TSelector &  iSel  )  [inline, inherited]
 

00125                                                                                     {
00126          return FillListWithSelection<self_type,TSelector>(*this, iSel);
00127       }

template<class CandidateClass>
virtual dchain::CandidateList< CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_begin  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class CandidateClass>
dchain::CandidateList< CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_begin  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

00457 {
00458    fill() ;
00459    return ( dchain::DecayList< DecayClass , CandidateClass >::partial_begin() ) ;
00460 }

template<class CandidateClass>
virtual dchain::CandidateList< CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_end  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

template<class CandidateClass>
dchain::CandidateList< CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_end  )  const [virtual]
 

Reimplemented from dchain::ConjugateList< CandidateClass >.

00464 {
00465    fill() ;
00466    return ( dchain::DecayList< DecayClass , CandidateClass >::partial_end() ) ;
00467 }

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 TAnalyze>
void dchain::CombinatoricList< CandidateClass >::partial_iterate TAnalyze &  analyze  )  const [inline]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
template<class TAnalyze>
void dchain::CombinatoricList< CandidateClass >::partial_iterate TAnalyze &  analyze  )  const [inline]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
virtual const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_particle_begin  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
dchain::DecayList< typename DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_particle_begin  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
virtual const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_particle_end  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
dchain::DecayList< typename DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::const_partial_iterator dchain::CombinatoricList< CandidateClass >::partial_particle_end  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

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 CandidateClass>
virtual const_iterator dchain::CombinatoricList< CandidateClass >::particle_begin  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
virtual dchain::DecayList< DecayClass , CandidateClass >::iterator dchain::CombinatoricList< CandidateClass >::particle_begin  )  [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
dchain::DecayList< typename DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::const_iterator dchain::CombinatoricList< CandidateClass >::particle_begin  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00472 {
00473    //std::cout << "@CombinatoricList::particle_begin() -- iterator" << std::endl;
00474    fill() ;
00475    return ( dchain::DecayList< DecayClass , CandidateClass >::particle_begin() ) ;
00476 }

template<class CandidateClass>
dchain::DecayList< typename DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::iterator dchain::CombinatoricList< CandidateClass >::particle_begin  )  [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00387 {
00388    //std::cout << "@CombinatoricList::particle_begin() -- iterator" << std::endl;
00389    fill() ;
00390    return ( dchain::DecayList< DecayClass , CandidateClass >::particle_begin() ) ;
00391 }

template<class CandidateClass>
virtual const_iterator dchain::CombinatoricList< CandidateClass >::particle_end  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
virtual dchain::DecayList< DecayClass , CandidateClass >::iterator dchain::CombinatoricList< CandidateClass >::particle_end  )  [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

template<class CandidateClass>
dchain::DecayList< typename DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::const_iterator dchain::CombinatoricList< CandidateClass >::particle_end  )  const [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00481 {
00482    //std::cout << "@CombinatoricList::particle_end() -- const_iterator" << std::endl;
00483    fill() ;
00484    return ( dchain::DecayList< DecayClass , CandidateClass >::particle_end() ) ;
00485 }

template<class CandidateClass>
dchain::DecayList< typename DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::iterator dchain::CombinatoricList< CandidateClass >::particle_end  )  [virtual]
 

Reimplemented from dchain::DecayList< DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

00394                                                                                                                                                            {
00395    //std::cout << "@CombinatoricList::particle_end() -- iterator" << std::endl;
00396    fill() ;
00397    return ( dchain::DecayList< DecayClass , CandidateClass >::particle_end() ) ;
00398 }

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 }


Friends And Related Function Documentation

template<class CandidateClass>
dchain::DecayList< DecayClass , CandidateClass > [friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const CombinatoricList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const ConjugateList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const CombinatoricList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const ConjugateList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const CombinatoricList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const ConjugateList< CandidateClass > &  lhs,
const CombinatoricList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const CombinatoricList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[friend]
 

template<class CandidateClass>
CombinatoricList< CandidateClass > operator * const ConjugateList< CandidateClass > &  lhs,
const ConjugateList< CandidateClass > &  rhs
[friend]
 


Member Data Documentation

template<class CandidateClass>
bool dchain::CombinatoricList< CandidateClass >::m_conjugationKnown [private]
 

template<class CandidateClass>
bool dchain::CombinatoricList< CandidateClass >::m_listFilled [mutable, private]
 

template<class CandidateClass>
_combinatoriclist_vector_& dchain::CombinatoricList< CandidateClass >::m_listOfLists [private]
 

template<class CandidateClass>
_combinatoriclist_vector_& dchain::CombinatoricList< CandidateClass >::m_listOfLists [private]
 


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