dchain::ConjugateList< CandidateClass > Class Template Reference

#include <ConjugateList.h>

Inheritance diagram for dchain::ConjugateList< CandidateClass >:

dchain::CandidateList< CandidateClass > dchain::ChosenChargeList< Charged, CandidateClass > dchain::ChosenConjugateList< Conjugate, CandidateClass > dchain::DecayList< DecayClass, CandidateClass > dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass > dchain::NeutralVisibleList< Neutral, CandidateClass > DCDecayList< DecayClass, CandidateClass > dchain::CombinatoricList< CandidateClass > DCNeutralVisibleList< Neutral, CandidateClass > List of all members.

Public Types

typedef dchain::MuteWholeCandidateItr<
CandidateClass > 
iterator
typedef dchain::WholeCandidateItr<
CandidateClass > 
const_iterator
typedef dchain::PartialCandidateItr<
CandidateClass > 
const_partial_iterator
typedef dchain::LabeledCandidate<
CandidateClass > 
value_type

Public Member Functions

 ConjugateList (const conjugation::Label aLabel)
virtual ~ConjugateList ()
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 conjugation_iterate (const TAnalyzer &analyzer) 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

void setLabel (const conjugation::Label aLabel)
virtual dchain::LabeledCandidateList<
CandidateClass > & 
labeledCandidateList ()=0
virtual const dchain::LabeledCandidateList<
CandidateClass > & 
labeledCandidateList () const =0

Private Member Functions

 ConjugateList ()
 ConjugateList (const ConjugateList &)
const ConjugateListoperator= (const ConjugateList &)

Private Attributes

conjugation::Label m_label

Friends

class DCCombinatoricQuery< CandidateClass >

Detailed Description

template<class CandidateClass>
class dchain::ConjugateList< CandidateClass >

Definition at line 83 of file ConjugateList.h.


Member Typedef Documentation

template<class CandidateClass>
typedef dchain::WholeCandidateItr< CandidateClass > dchain::ConjugateList< CandidateClass >::const_iterator

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::NeutralVisibleList< Neutral, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, and dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >.

Definition at line 96 of file ConjugateList.h.

template<class CandidateClass>
typedef dchain::PartialCandidateItr< CandidateClass > dchain::ConjugateList< CandidateClass >::const_partial_iterator

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, and dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

Definition at line 97 of file ConjugateList.h.

template<class CandidateClass>
typedef dchain::MuteWholeCandidateItr< CandidateClass > dchain::ConjugateList< CandidateClass >::iterator

Reimplemented from dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::NeutralVisibleList< Neutral, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, and dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >.

Definition at line 95 of file ConjugateList.h.

template<class CandidateClass>
typedef dchain::LabeledCandidate<CandidateClass> dchain::CandidateList< CandidateClass >::value_type [inherited]

Reimplemented in dchain::ChargedVisibleList< Charged, CandidateClass >, DCChargedVisibleList< Charged, CandidateClass >, DCDecayList< DecayClass, CandidateClass >, DCNeutralNCVisibleList< NeutralNC, CandidateClass >, DCNeutralVisibleList< Neutral, CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >, dchain::NeutralVisibleList< Neutral, CandidateClass >, dchain::ChargedVisibleList< Charged, Charged::CandidateClass >, DCChargedVisibleList< Charged, Charged::CandidateClass >, DCNeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >, DCNeutralVisibleList< Neutral, Neutral::CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >, and dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >.

Definition at line 86 of file CandidateList.h.


Constructor & Destructor Documentation

template<class CandidateClass>
dchain::ConjugateList< CandidateClass >::ConjugateList ( const conjugation::Label  aLabel  ) 

Definition at line 85 of file ConjugateList.cc.

00085                                                                               :
00086    m_label( aLabel )
00087 {
00088 }

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

Definition at line 95 of file ConjugateList.cc.

00096 {
00097 }

template<class CandidateClass>
dchain::ConjugateList< CandidateClass >::ConjugateList (  )  [private]

template<class CandidateClass>
dchain::ConjugateList< CandidateClass >::ConjugateList ( const ConjugateList< CandidateClass > &   )  [private]


Member Function Documentation

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

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

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 CandidateClass>
template<class TAnalyzer>
void dchain::ConjugateList< 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 in dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, and dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >.

Definition at line 117 of file ConjugateList.h.

00118       {
00119          const_iterator finished ( this->end() ) ;
00120          for ( const_iterator entry ( this->begin() ) ;
00121                entry != finished ;
00122                ++entry ) {
00123             analyze( (*entry)() , (*entry).label() == m_label ) ;
00124          }
00125       }

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 CandidateClass>
bool dchain::ConjugateList< CandidateClass >::isConjugateOf ( const ConjugateList< CandidateClass > &  aList  )  const

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]

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 CandidateClass>
conjugation::Label dchain::ConjugateList< CandidateClass >::label (  )  const [virtual]

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 CandidateClass>
virtual const dchain::LabeledCandidateList< CandidateClass >& dchain::CandidateList< CandidateClass >::labeledCandidateList (  )  const [protected, pure virtual, inherited]

Implemented in dchain::ChargedVisibleList< Charged, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >, dchain::NeutralVisibleList< Neutral, CandidateClass >, dchain::ChargedVisibleList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >, and dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >.

template<class CandidateClass>
virtual dchain::LabeledCandidateList< CandidateClass >& dchain::CandidateList< CandidateClass >::labeledCandidateList (  )  [protected, pure virtual, inherited]

Implemented in dchain::ChargedVisibleList< Charged, CandidateClass >, dchain::ChosenChargeList< Charged, CandidateClass >, dchain::ChosenConjugateList< Conjugate, CandidateClass >, dchain::CombinatoricList< CandidateClass >, dchain::DecayList< DecayClass, CandidateClass >, dchain::NeutralNCVisibleList< NeutralNC, CandidateClass >, dchain::NeutralVisibleList< Neutral, CandidateClass >, dchain::ChargedVisibleList< Charged, Charged::CandidateClass >, dchain::ChosenChargeList< Charged, Charged::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, NeutralNC::CandidateClass >, dchain::ChosenConjugateList< NeutralNC, CandidateClass >, dchain::DecayList< DCCandidateTraits< CandidateClass >::DCCandidateTraits< CandidateClass >::DecayClass, CandidateClass >, dchain::NeutralNCVisibleList< NeutralNC, NeutralNC::CandidateClass >, and dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >.

Referenced by dchain::CandidateList< CandidateClass >::begin(), dchain::CandidateList< CandidateClass >::empty(), dchain::CandidateList< CandidateClass >::end(), dchain::ConjugateList< CandidateClass >::isConjugateOf(), and dchain::CandidateList< CandidateClass >::size().

template<class CandidateClass>
const ConjugateList& dchain::ConjugateList< CandidateClass >::operator= ( const ConjugateList< CandidateClass > &   )  [private]

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

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]

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]

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 CandidateClass>
int dchain::ConjugateList< CandidateClass >::partial_size (  )  const

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 CandidateClass>
void dchain::ConjugateList< CandidateClass >::setLabel ( const conjugation::Label  aLabel  )  [protected]

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 CandidateClass>
friend class DCCombinatoricQuery< CandidateClass > [friend]

Definition at line 91 of file ConjugateList.h.


Member Data Documentation

template<class CandidateClass>
conjugation::Label dchain::ConjugateList< CandidateClass >::m_label [private]

Definition at line 167 of file ConjugateList.h.

Referenced by dchain::ConjugateList< CandidateClass >::conjugate_partial_begin(), dchain::ConjugateList< CandidateClass >::conjugate_partial_end(), dchain::ConjugateList< NeutralNC::CandidateClass >::conjugation_iterate(), dchain::ConjugateList< CandidateClass >::isSelfConjugate(), dchain::ConjugateList< CandidateClass >::label(), dchain::ConjugateList< CandidateClass >::partial_begin(), dchain::ConjugateList< CandidateClass >::partial_end(), dchain::ConjugateList< CandidateClass >::partial_size(), and dchain::ConjugateList< CandidateClass >::setLabel().


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