dchain::DecayList< DecayClass, CandidateClass > Class Template Reference

#include <DecayList.h>

Inheritance diagram for dchain::DecayList< DecayClass, CandidateClass >:

dchain::ConjugateList< CandidateClass > dchain::CandidateList< CandidateClass > DCDecayList< DecayClass, CandidateClass > dchain::CombinatoricList< CandidateClass > List of all members.

Public Types

typedef MuteWholeItr< DecayClass > iterator
typedef WholeItr< DecayClass > const_iterator
typedef PartialItr< DecayClass > const_partial_iterator
typedef DecayClass value_type
typedef DecayList< DecayClass,
CandidateClass > 
self_type

Public Member Functions

 DecayList ()
 DecayList (const self_type &aOtherList)
virtual ~DecayList ()
template<class TDecay>
const self_typeoperator= (const DecayList< TDecay, CandidateClass > &aOtherList)
const self_typeoperator= (const CombinatoricList< CandidateClass > &aOtherList)
const self_typeoperator= (const DecayList< DecayClass, CandidateClass > &aOtherList)
template<class TList>
void operator+= (const TList &aOtherList)
template<class TSelector>
FillListWithSelection< self_type,
TSelector > 
operator[] (const TSelector &iSel)
virtual iterator particle_begin ()
virtual iterator particle_end ()
const DecayList< DecayClass,
CandidateClass > 
bar () const
const DecayList< DecayClass,
CandidateClass > & 
operator() () const
virtual const_iterator particle_begin () const
virtual const_iterator particle_end () const
virtual const_partial_iterator partial_particle_begin () const
virtual const_partial_iterator partial_particle_end () const
template<class TAnalyze>
void iterate (const TAnalyze &analyze) const
template<class TAnalyzer>
void conjugation_iterate (const TAnalyzer &analyzer) const
template<class TAnalyze>
void iterate (TAnalyze &analyze) const
template<class TAnalyze>
void partial_iterate (TAnalyze &analyze) const
void eraseContents ()
void erase ()
 DecayList (LabeledParticleList< DecayClass, CandidateClass > &aLabeledDecayList, conjugation::Label aLabel)
template<class TSelect>
bool attempt_insert (DecayClass *pPossible, const conjugation::Label aLabel, const TSelect &aSelect)
template<class THolder>
void insert (THolder &pPossible, const conjugation::Label aLabel)
template<class TDecayList, class TSelector>
void fill (const TDecayList &aList, const TSelector &aSel=SelectAll< DecayClass >())
virtual bool isSelfConjugate () const
bool isConjugateOf (const ConjugateList< CandidateClass > &aList) const
int partial_size () const
virtual const_partial_iterator partial_begin () const
virtual const_partial_iterator partial_end () const
template<class TAnalyzer>
void partial_iterate (const TAnalyzer &analyze) const
const_partial_iterator conjugate_partial_begin () const
const_partial_iterator conjugate_partial_end () const
virtual conjugation::Label label () const
virtual iterator begin ()
virtual const_iterator begin () const
virtual iterator end ()
virtual const_iterator end () const
virtual bool empty () const
virtual int size () const
template<class TAnalyzer>
void iterate (const TAnalyzer &analyze) const

Protected Member Functions

virtual LabeledCandidateList<
CandidateClass > & 
labeledCandidateList ()
virtual LabeledParticleList<
DecayClass, CandidateClass > & 
labeledParticleList ()
virtual const LabeledCandidateList<
CandidateClass > & 
labeledCandidateList () const
virtual const LabeledParticleList<
DecayClass, CandidateClass > & 
labeledParticleList () const
void setLabel (const conjugation::Label aLabel)

Private Attributes

MutableReferenceHolder< LabeledParticleList<
DecayClass, CandidateClass > > 
m_list

Friends

DecayList< DecayClass, CandidateClass > operator+ (const DecayList< DecayClass, CandidateClass > &iList1, const DecayList< DecayClass, CandidateClass > &iList2)

Detailed Description

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
class dchain::DecayList< DecayClass, CandidateClass >

Definition at line 74 of file DecayList.h.


Member Typedef Documentation

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
typedef WholeItr< DecayClass > dchain::DecayList< DecayClass, CandidateClass >::const_iterator

Reimplemented from dchain::ConjugateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 84 of file DecayList.h.

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
typedef PartialItr< DecayClass > dchain::DecayList< DecayClass, CandidateClass >::const_partial_iterator

Reimplemented from dchain::ConjugateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 85 of file DecayList.h.

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
typedef MuteWholeItr< DecayClass > dchain::DecayList< DecayClass, CandidateClass >::iterator

Reimplemented from dchain::ConjugateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 83 of file DecayList.h.

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
typedef DecayList< DecayClass , CandidateClass > dchain::DecayList< DecayClass, CandidateClass >::self_type

Definition at line 89 of file DecayList.h.

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
typedef DecayClass dchain::DecayList< DecayClass, CandidateClass >::value_type

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in DCDecayList< DecayClass, CandidateClass >.

Definition at line 87 of file DecayList.h.


Constructor & Destructor Documentation

template<class DecayClass, class CandidateClass>
dchain::DecayList< DecayClass, CandidateClass >::DecayList (  ) 

Definition at line 116 of file DecayList.cc.

00116                                                     :
00117    ConjugateList< CandidateClass >( conjugation::kNone ) ,
00118    m_list( (new LabeledParticleList< DecayClass , CandidateClass >) )
00119 {
00120 }

template<class DecayClass, class CandidateClass>
dchain::DecayList< DecayClass, CandidateClass >::DecayList ( const self_type aOtherList  ) 

Definition at line 123 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::fill().

00123                                                                                                                :
00124    ConjugateList< CandidateClass >( conjugation::kNone ) ,
00125    m_list( (new LabeledParticleList< DecayClass , CandidateClass >) )
00126 {
00127    fill( aOtherList, SelectAll<DecayClass>() ) ;
00128 }

template<class DecayClass, class CandidateClass>
dchain::DecayList< DecayClass, CandidateClass >::~DecayList (  )  [virtual]

Definition at line 139 of file DecayList.cc.

00140 {
00141 }

template<class DecayClass, class CandidateClass>
dchain::DecayList< DecayClass, CandidateClass >::DecayList ( LabeledParticleList< DecayClass, CandidateClass > &  aLabeledDecayList,
conjugation::Label  aLabel 
)

Definition at line 132 of file DecayList.cc.

00132                                                                                                                                                 :
00133    ConjugateList< CandidateClass >( aLabel ) ,
00134    m_list( &aLabeledList ) 
00135 {
00136 }


Member Function Documentation

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class TSelect>
bool dchain::DecayList< DecayClass, CandidateClass >::attempt_insert ( DecayClass *  pPossible,
const conjugation::Label  aLabel,
const TSelect &  aSelect 
) [inline]

Definition at line 206 of file DecayList.h.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::fill(), and dchain::operator+().

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 DecayClass, class CandidateClass>
const DecayList< DecayClass, CandidateClass > dchain::DecayList< DecayClass, CandidateClass >::bar (  )  const

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 199 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list, and dchain::otherLabel().

00200 {
00201    return ( DecayList< DecayClass , CandidateClass >( *m_list ,
00202                                       otherLabel( this->label() ) ) ) ;
00203 }

template<class CandidateClass>
CandidateList< CandidateClass >::const_iterator dchain::CandidateList< CandidateClass >::begin (  )  const [virtual, inherited]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 151 of file CandidateList.cc.

References dchain::CandidateList< CandidateClass >::begin(), and dchain::CandidateList< CandidateClass >::labeledCandidateList().

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 >.

Definition at line 115 of file CandidateList.cc.

References dchain::CandidateList< CandidateClass >::labeledCandidateList().

Referenced by dchain::CandidateList< CandidateClass >::begin(), and dchain::CandidateList< NeutralNC::CandidateClass >::iterate().

00116 {
00117    return ( labeledCandidateList().begin() ) ;
00118 }

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::conjugate_partial_begin (  )  const [inherited]

Definition at line 152 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label, and dchain::otherLabel().

Referenced by dchain::CombinatoricList< CandidateClass >::fill().

00153 {
00154    return ( this->labeledCandidateList().begin( otherLabel( m_label ) ) ) ;
00155 }

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::conjugate_partial_end (  )  const [inherited]

Definition at line 158 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label, and dchain::otherLabel().

Referenced by dchain::CombinatoricList< CandidateClass >::fill().

00159 {
00160    return ( this->labeledCandidateList().end( otherLabel( m_label ) ) ) ;
00161 }

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class TAnalyzer>
void dchain::DecayList< DecayClass, CandidateClass >::conjugation_iterate ( const TAnalyzer &  analyzer  )  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::ConjugateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 154 of file DecayList.h.

Referenced by dchain::CombinatoricList< CandidateClass >::conjugation_iterate().

00155       {
00156          const_iterator finished ( particle_end() ) ;
00157          for ( const_iterator entry ( particle_begin() ) ;
00158                entry != finished ;
00159                ++entry ) {
00160             analyze( (*entry)() , (*entry).label() == this->label() ) ;
00161          }
00162       }

template<class CandidateClass>
bool dchain::CandidateList< CandidateClass >::empty (  )  const [virtual, inherited]

Definition at line 135 of file CandidateList.cc.

References dchain::CandidateList< CandidateClass >::labeledCandidateList().

00136 {
00137    return ( labeledCandidateList().empty() ) ;
00138 }

template<class CandidateClass>
CandidateList< CandidateClass >::const_iterator dchain::CandidateList< CandidateClass >::end (  )  const [virtual, inherited]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 160 of file CandidateList.cc.

References dchain::CandidateList< CandidateClass >::end(), and dchain::CandidateList< CandidateClass >::labeledCandidateList().

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 >.

Definition at line 123 of file CandidateList.cc.

References dchain::CandidateList< CandidateClass >::labeledCandidateList().

Referenced by dchain::CandidateList< CandidateClass >::end(), and dchain::CandidateList< NeutralNC::CandidateClass >::iterate().

00124 {
00125    return ( labeledCandidateList().end() ) ;
00126 }

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
void dchain::DecayList< DecayClass, CandidateClass >::erase (  )  [inline]

Definition at line 187 of file DecayList.h.

Referenced by DCDecayList< DecayClass, CandidateClass >::operator=().

00187                 {
00188       eraseContents();
00189    }

template<class DecayClass, class CandidateClass>
void dchain::DecayList< DecayClass, CandidateClass >::eraseContents (  ) 

Definition at line 243 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::erase().

00244 {
00245    m_list->erase( m_list->begin() ,
00246                  m_list->end() ) ;
00247 }

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

Definition at line 227 of file DecayList.h.

Referenced by dchain::DecayList< DecayClass, CandidateClass >::DecayList(), dchain::operator+(), dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::operator+=(), dchain::DecayList< DecayClass, CandidateClass >::operator=(), and dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::operator=().

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 DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class THolder>
void dchain::DecayList< DecayClass, CandidateClass >::insert ( THolder &  pPossible,
const conjugation::Label  aLabel 
) [inline]

Definition at line 218 of file DecayList.h.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::attempt_insert().

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]

Definition at line 127 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::label(), dchain::CandidateList< CandidateClass >::labeledCandidateList(), and dchain::otherLabel().

Referenced by dchain::CombinatoricList< CandidateClass >::determineConjugation().

00128 {
00129    return ( ( &(this->labeledCandidateList()) == &(aList.labeledCandidateList()) ) &&
00130             ( label() == otherLabel( aList.label() ) ) ) ;
00131 }

template<class CandidateClass>
bool dchain::ConjugateList< CandidateClass >::isSelfConjugate (  )  const [virtual, inherited]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 121 of file ConjugateList.cc.

References dchain::conjugation::kNone, and dchain::ConjugateList< CandidateClass >::m_label.

Referenced by dchain::operator+(), and operator+().

00122 {
00123    return ( conjugation::kNone == m_label ) ;
00124 }

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, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, and dchain::ChosenConjugateList< NeutralNC, CandidateClass >.

Definition at line 102 of file CandidateList.h.

00102                                                         {
00103             const_iterator finished ( end() );
00104             for ( const_iterator entry ( begin() ) ;
00105                   entry != finished ;
00106                   ++entry ) {
00107                analyze( (*entry)() ) ;
00108             }
00109          }

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

Definition at line 165 of file DecayList.h.

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 144 of file DecayList.h.

Referenced by dchain::CombinatoricList< CandidateClass >::iterate().

00144                                                    {
00145          const_iterator finished ( particle_end() ) ;
00146          for ( const_iterator entry ( particle_begin() ) ;
00147                entry != finished ;
00148                ++entry ) {
00149             analyze( (*entry).particle() ) ;
00150          }
00151       }

template<class CandidateClass>
conjugation::Label dchain::ConjugateList< CandidateClass >::label (  )  const [virtual, inherited]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 165 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::conjugation_iterate(), dchain::ChosenConjugateList< NeutralNC, CandidateClass >::conjugation_iterate(), dchain::ChosenChargeList< Charged, Charged::CandidateClass >::conjugation_iterate(), and dchain::ConjugateList< CandidateClass >::isConjugateOf().

00166 {
00167    return ( m_label ) ;
00168 }

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

Implements dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 251 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

00252 {
00253    return ( *m_list ) ;
00254 }

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

Implements dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 182 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

00183 {
00184    return ( *m_list ) ;
00185 }

template<class DecayClass, class CandidateClass>
const LabeledParticleList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::labeledParticleList (  )  const [protected, virtual]

Definition at line 258 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

00259 {
00260    return ( *m_list ) ;
00261 }

template<class DecayClass, class CandidateClass>
dchain::LabeledParticleList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::labeledParticleList (  )  [protected, virtual]

Definition at line 188 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

Referenced by dchain::CombinatoricList< CandidateClass >::bar(), and dchain::CombinatoricList< CandidateClass >::fill().

00189 {
00190    return ( *m_list ) ;
00191 }

template<class DecayClass, class CandidateClass>
const DecayList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::operator() (  )  const

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 206 of file DecayList.cc.

00207 {
00208    return ( *this ) ;
00209 }

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class TList>
void dchain::DecayList< DecayClass, CandidateClass >::operator+= ( const TList &  aOtherList  )  [inline]

Reimplemented in DCDecayList< DecayClass, CandidateClass >.

Definition at line 112 of file DecayList.h.

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 DecayClass, class CandidateClass>
const DecayList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::operator= ( const DecayList< DecayClass, CandidateClass > &  aOtherList  ) 

Definition at line 148 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::fill(), and dchain::DecayList< DecayClass, CandidateClass >::m_list.

00149 {
00150    //std::cout << "@DecayList::operator=() ... (DecayList)" << std::endl;
00151    m_list->erase( m_list->begin() ,
00152                   m_list->end() ) ;
00153    fill( aOtherList, SelectAll<DecayClass>() ) ;
00154    return ( *this ) ;
00155 }

template<class DecayClass, class CandidateClass>
const DecayList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::operator= ( const CombinatoricList< CandidateClass > &  aOtherList  ) 

Reimplemented in dchain::CombinatoricList< CandidateClass >, and DCDecayList< DecayClass, CandidateClass >.

Definition at line 158 of file DecayList.cc.

00159 {
00160    //std::cout << "@DecayList::operator=() ... (CombinatoricList)" << std::endl;
00161    return ( *this = static_cast<const DecayList<typename DCCandidateTraits<CandidateClass>::DecayClass, CandidateClass>& >(aOtherList) ) ;
00162 }

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class TDecay>
const self_type& dchain::DecayList< DecayClass, CandidateClass >::operator= ( const DecayList< TDecay, CandidateClass > &  aOtherList  )  [inline]

Reimplemented in DCDecayList< DecayClass, CandidateClass >.

Definition at line 100 of file DecayList.h.

00100                                                                                            {
00101          m_list->erase( m_list->begin() ,
00102                m_list->end() ) ;
00103          fill( aOtherList, SelectAll<DecayClass>() ) ;
00104          return ( *this ) ;
00105       }

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

Definition at line 125 of file DecayList.h.

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

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::partial_begin (  )  const [virtual, inherited]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 140 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label.

Referenced by dchain::ConjugateList< NeutralNC::CandidateClass >::partial_iterate().

00141 {
00142    return ( this->labeledCandidateList().begin( m_label ) ) ;
00143 }

template<class CandidateClass>
ConjugateList< CandidateClass >::const_partial_iterator dchain::ConjugateList< CandidateClass >::partial_end (  )  const [virtual, inherited]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 146 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label.

Referenced by dchain::ConjugateList< NeutralNC::CandidateClass >::partial_iterate().

00147 {
00148    return ( this->labeledCandidateList().end( m_label ) ) ;
00149 }

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, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, and dchain::ChosenConjugateList< NeutralNC, CandidateClass >.

Definition at line 128 of file ConjugateList.h.

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 DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class TAnalyze>
void dchain::DecayList< DecayClass, CandidateClass >::partial_iterate ( TAnalyze &  analyze  )  const [inline]

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 176 of file DecayList.h.

Referenced by dchain::CombinatoricList< CandidateClass >::partial_iterate().

00177       {
00178          const_partial_iterator finished ( partial_particle_end() ) ;
00179          for ( const_partial_iterator entry ( partial_particle_begin() ) ;
00180                entry != finished ;
00181                ++entry ) {
00182             analyze( (*entry).particle() ) ;
00183          }
00184       }

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 227 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::partial_iterate().

00228 {
00229 // Need to cast to 'const' to get the right function call
00230          return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).begin( this->label() ) ) ;
00231 }

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 234 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::partial_iterate().

00235 {
00236 // Need to cast to 'const' to get the right function call
00237          return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).end( this->label() ) ) ;
00238 }

template<class CandidateClass>
int dchain::ConjugateList< CandidateClass >::partial_size (  )  const [inherited]

Definition at line 134 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label.

00135 {
00136    return ( this->labeledCandidateList().size( m_label ) ) ;
00137 }

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 212 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

00213 {
00214 // Need to cast to 'const' to get the right function call
00215    //std::cout << "@DecayList::particle_begin() -- const_iterator" << std::endl;
00216    return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).begin() ) ;
00217 }

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 169 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::conjugation_iterate(), NeutralDReconstruction::execute(), DsReconstruction::execute(), ChargedDReconstruction::execute(), and dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::iterate().

00170 {
00171    //std::cout << "@DecayList::particle_begin() -- iterator" << std::endl;
00172    return ( m_list->begin() ) ;
00173 }

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 220 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

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

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

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 176 of file DecayList.cc.

References dchain::DecayList< DecayClass, CandidateClass >::m_list.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::conjugation_iterate(), NeutralDReconstruction::execute(), DsReconstruction::execute(), ChargedDReconstruction::execute(), and dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::iterate().

00177 {
00178    return ( m_list->end() ) ;
00179 }

template<class CandidateClass>
void dchain::ConjugateList< CandidateClass >::setLabel ( const conjugation::Label  aLabel  )  [protected, inherited]

Definition at line 111 of file ConjugateList.cc.

References dchain::ConjugateList< CandidateClass >::m_label.

Referenced by dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::fill().

00112 {
00113    m_label = aLabel ;
00114 }

template<class CandidateClass>
int dchain::CandidateList< CandidateClass >::size (  )  const [virtual, inherited]

Definition at line 143 of file CandidateList.cc.

References dchain::CandidateList< CandidateClass >::labeledCandidateList().

Referenced by NeutralDReconstruction::execute(), DsReconstruction::execute(), and ChargedDReconstruction::execute().

00144 {
00145    return ( labeledCandidateList().size() ) ;
00146 }


Friends And Related Function Documentation

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
DecayList< DecayClass, CandidateClass > operator+ ( const DecayList< DecayClass, CandidateClass > &  iList1,
const DecayList< DecayClass, CandidateClass > &  iList2 
) [friend]


Member Data Documentation

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

Definition at line 247 of file DecayList.h.

Referenced by dchain::DecayList< DecayClass, CandidateClass >::bar(), dchain::DecayList< DecayClass, CandidateClass >::eraseContents(), dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::insert(), dchain::DecayList< DecayClass, CandidateClass >::labeledCandidateList(), dchain::DecayList< DecayClass, CandidateClass >::labeledParticleList(), dchain::DecayList< DecayClass, CandidateClass >::operator=(), dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >::operator=(), dchain::DecayList< DecayClass, CandidateClass >::partial_particle_begin(), dchain::DecayList< DecayClass, CandidateClass >::partial_particle_end(), dchain::DecayList< DecayClass, CandidateClass >::particle_begin(), and dchain::DecayList< DecayClass, CandidateClass >::particle_end().


Generated on Tue Nov 29 23:36:27 2016 for BOSS_7.0.2 by  doxygen 1.4.7