BOSS 7.1.3
BESIII Offline Software System
Loading...
Searching...
No Matches
dchain::DecayList< DecayClass, CandidateClass > Class Template Reference

#include <DecayList.h>

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

Public Types

typedef MuteWholeItr< DecayClassiterator
 
typedef WholeItr< DecayClassconst_iterator
 
typedef PartialItr< DecayClassconst_partial_iterator
 
typedef DecayClass value_type
 
typedef DecayList< DecayClass, CandidateClass > self_type
 
- Public Types inherited from dchain::ConjugateList< typename DecayClass::CandidateClass >
typedef dchain::MuteWholeCandidateItr< CandidateClass > iterator
 
typedef dchain::WholeCandidateItr< CandidateClass > const_iterator
 
typedef dchain::PartialCandidateItr< CandidateClass > const_partial_iterator
 
- Public Types inherited from dchain::CandidateList< CandidateClass >
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

 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 >())
 
- Public Member Functions inherited from dchain::ConjugateList< typename DecayClass::CandidateClass >
 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
 
void conjugation_iterate (const TAnalyzer &analyzer) const
 
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
 
void setLabel (const conjugation::Label aLabel)
 
- Public Member Functions inherited from dchain::CandidateList< CandidateClass >
 CandidateList ()
 
virtual ~CandidateList ()
 
virtual iterator begin ()
 
virtual iterator end ()
 
virtual bool empty () const
 
virtual int size () const
 
virtual const_iterator begin () const
 
virtual const_iterator end () 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
 

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 79 of file DecayList.h.

Member Typedef Documentation

◆ const_iterator

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

Definition at line 89 of file DecayList.h.

◆ const_partial_iterator

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

Definition at line 90 of file DecayList.h.

◆ iterator

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

Definition at line 88 of file DecayList.h.

◆ self_type

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

Definition at line 94 of file DecayList.h.

◆ value_type

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

Definition at line 92 of file DecayList.h.

Constructor & Destructor Documentation

◆ DecayList() [1/3]

◆ DecayList() [2/3]

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

◆ ~DecayList()

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

Definition at line 139 of file DecayList.cc.

140{
141}

◆ DecayList() [3/3]

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.

132 :
135{
136}

Member Function Documentation

◆ attempt_insert()

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 211 of file DecayList.h.

213 {
216 if (returnValue) {
217 this->insert(pPossible,aLabel);
218 }
219 return returnValue;
220 }
void insert(THolder &pPossible, const conjugation::Label aLabel)
Definition DecayList.h:223

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

◆ bar()

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

Definition at line 199 of file DecayList.cc.

200{
202 otherLabel( this->label() ) ) ) ;
203}
virtual conjugation::Label label() const
conjugation::Label otherLabel(const conjugation::Label &aLabel)
Definition conjugation.h:51

◆ conjugation_iterate()

template<class DecayClass, class CandidateClass = typename DecayClass::CandidateClass>
template<class TAnalyzer>
void dchain::DecayList< DecayClass, CandidateClass >::conjugation_iterate ( const TAnalyzer & analyzer) const
inline

Definition at line 159 of file DecayList.h.

160 {
163 entry != finished ;
164 ++entry ) {
165 analyze( (*entry)() , (*entry).label() == this->label() ) ;
166 }
167 }

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

◆ erase()

◆ eraseContents()

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

Definition at line 243 of file DecayList.cc.

244{
245 m_list->erase( m_list->begin() ,
246 m_list->end() ) ;
247}
virtual iterator begin()
virtual iterator end()

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

◆ fill()

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 232 of file DecayList.h.

232 {
233 //std::cout << "@DecayList::fill()" << std::endl;
237 entry != finished ;
238 ++entry ) {
239 //std::cout << "@ DecayList::fill()" << std::endl;
240 DecayClass* localCopy = new DecayClass( (*entry).particle() ) ;
242 (*entry).label(),
243 aSel ) ;
244 }
245 }
bool attempt_insert(DecayClass *pPossible, const conjugation::Label aLabel, const TSelect &aSelect)
Definition DecayList.h:211

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

◆ insert()

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 223 of file DecayList.h.

224 {
226 aLabel ) ) ;
227 }

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

◆ iterate() [1/2]

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

Definition at line 149 of file DecayList.h.

149 {
152 entry != finished ;
153 ++entry ) {
154 analyze( (*entry).particle() ) ;
155 }
156 }

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

◆ iterate() [2/2]

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

Definition at line 170 of file DecayList.h.

170 {
173 entry != finished ;
174 ++entry ) {
175 analyze( (*entry).particle() ) ;
176 }
177 }

◆ labeledCandidateList() [1/2]

template<class DecayClass, class CandidateClass>
dchain::LabeledCandidateList< CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::labeledCandidateList ( )
protectedvirtual

◆ labeledCandidateList() [2/2]

template<class DecayClass, class CandidateClass>
const LabeledCandidateList< CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::labeledCandidateList ( ) const
protectedvirtual

Implements dchain::CandidateList< CandidateClass >.

Reimplemented in dchain::CombinatoricList< CandidateClass >.

Definition at line 251 of file DecayList.cc.

252{
253 return ( *m_list ) ;
254}

◆ labeledParticleList() [1/2]

template<class DecayClass, class CandidateClass>
dchain::LabeledParticleList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::labeledParticleList ( )
protectedvirtual

Definition at line 188 of file DecayList.cc.

189{
190 return ( *m_list ) ;
191}

◆ labeledParticleList() [2/2]

template<class DecayClass, class CandidateClass>
const LabeledParticleList< DecayClass, CandidateClass > & dchain::DecayList< DecayClass, CandidateClass >::labeledParticleList ( ) const
protectedvirtual

Definition at line 258 of file DecayList.cc.

259{
260 return ( *m_list ) ;
261}

◆ operator()()

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

Definition at line 206 of file DecayList.cc.

207{
208 return ( *this ) ;
209}

◆ operator+=()

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

Definition at line 117 of file DecayList.h.

117 {
118
119 if(this->size() != 0 ) {
120 //only check compatable conjugation if something already in
121 // this list, otherwise could have problem with default value
125 }
127 }
virtual int size() const
virtual bool isSelfConjugate() const
void fill(const TDecayList &aList, const TSelector &aSel=SelectAll< DecayClass >())
Definition DecayList.h:232

◆ operator=() [1/3]

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

Definition at line 158 of file DecayList.cc.

159{
160 //std::cout << "@DecayList::operator=() ... (CombinatoricList)" << std::endl;
162}

◆ operator=() [2/3]

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.

149{
150 //std::cout << "@DecayList::operator=() ... (DecayList)" << std::endl;
151 m_list->erase( m_list->begin() ,
152 m_list->end() ) ;
154 return ( *this ) ;
155}

◆ operator=() [3/3]

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

Definition at line 105 of file DecayList.h.

105 {
106 m_list->erase( m_list->begin() ,
107 m_list->end() ) ;
109 return ( *this ) ;
110 }

◆ operator[]()

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 130 of file DecayList.h.

130 {
132 }

◆ partial_iterate()

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

Definition at line 181 of file DecayList.h.

182 {
185 entry != finished ;
186 ++entry ) {
187 analyze( (*entry).particle() ) ;
188 }
189 }
virtual const_partial_iterator partial_particle_begin() const
virtual const_partial_iterator partial_particle_end() const

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

◆ partial_particle_begin()

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.

228{
229// Need to cast to 'const' to get the right function call
230 return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).begin( this->label() ) ) ;
231}

Referenced by dchain::iterator< DecayClass, CandidateClass >::partial_iterate(), and dchain::CombinatoricList< CandidateClass >::partial_particle_begin().

◆ partial_particle_end()

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.

235{
236// Need to cast to 'const' to get the right function call
237 return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).end( this->label() ) ) ;
238}

Referenced by dchain::iterator< DecayClass, CandidateClass >::partial_iterate(), and dchain::CombinatoricList< CandidateClass >::partial_particle_end().

◆ particle_begin() [1/2]

◆ particle_begin() [2/2]

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.

213{
214// Need to cast to 'const' to get the right function call
215 //std::cout << "@DecayList::particle_begin() -- const_iterator" << std::endl;
216 return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).begin() ) ;
217}

◆ particle_end() [1/2]

◆ particle_end() [2/2]

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.

221{
222// Need to cast to 'const' to get the right function call
223 return ( (*(const LabeledParticleList< DecayClass , CandidateClass >*)(m_list.pointer())).end() ) ;
224}

Friends And Related Symbol Documentation

◆ operator+

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

The documentation for this class was generated from the following files: