BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
DCDecayList< DecayClass, CandidateClass > Class Template Reference

#include <DCDecayList.h>

+ Inheritance diagram for DCDecayList< DecayClass, CandidateClass >:

Public Types

typedef DecayClass value_type
 
- Public Types inherited from dchain::DecayList< DecayClass, CandidateClass >
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 Types inherited from dchain::ConjugateList< 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

 DCDecayList (bool(*pFunction)(DecayClass &)=0)
 
 DCDecayList (const DCDecayList< DecayClass, CandidateClass > &aOtherList, bool(*pFunction)(DecayClass &))
 
 DCDecayList (DCSelectionFunction< DecayClass > &aFunctionalObject)
 
 DCDecayList (const DCDecayList< DecayClass, CandidateClass > &iList)
 
 DCDecayList (const dchain::DecayList< DecayClass, CandidateClass > &iList)
 
template<class TDecay >
const DCDecayList< DecayClass, CandidateClass > & operator= (const DCDecayList< TDecay, CandidateClass > &aOtherList)
 
template<class TDecay >
const DCDecayList< DecayClass, CandidateClass > & operator= (const dchain::DecayList< TDecay, CandidateClass > &aOtherList)
 
const DCDecayList< DecayClass, CandidateClass > & operator= (const dchain::CombinatoricList< CandidateClass > &aOtherList)
 
const DCDecayList< DecayClass, CandidateClass > & operator= (const DCDecayList< DecayClass, CandidateClass > &aOtherList)
 
template<class TList >
void operator+= (const TList &aOtherList)
 
void attempt_insert (DecayClass *pPossible, const dchain::conjugation::Label aLabel)
 
 DCDecayList (dchain::LabeledParticleList< DecayClass, CandidateClass > &aLabeledDecayList, dchain::conjugation::Label aLabel)
 
- Public Member Functions inherited from dchain::DecayList< DecayClass, CandidateClass >
 DecayList ()
 
 DecayList (const self_type &aOtherList)
 
 DecayList (LabeledParticleList< DecayClass, CandidateClass > &aLabeledDecayList, conjugation::Label aLabel)
 
virtual ~DecayList ()
 
const self_typeoperator= (const DecayList< TDecay, CandidateClass > &aOtherList)
 
const self_typeoperator= (const CombinatoricList< CandidateClass > &aOtherList)
 
const self_typeoperator= (const DecayList< DecayClass, CandidateClass > &aOtherList)
 
void operator+= (const TList &aOtherList)
 
FillListWithSelection< self_type, TSelector > operator[] (const TSelector &iSel)
 
virtual iterator particle_begin ()
 
virtual const_iterator particle_begin () const
 
virtual iterator particle_end ()
 
virtual const_iterator particle_end () const
 
const DecayList< DecayClass, CandidateClass > bar () const
 
const DecayList< DecayClass, CandidateClass > & operator() () const
 
virtual const_partial_iterator partial_particle_begin () const
 
virtual const_partial_iterator partial_particle_end () const
 
void iterate (const TAnalyze &analyze) const
 
void iterate (TAnalyze &analyze) const
 
void conjugation_iterate (const TAnalyzer &analyzer) const
 
void partial_iterate (TAnalyze &analyze) const
 
void eraseContents ()
 
void erase ()
 
bool attempt_insert (DecayClass *pPossible, const conjugation::Label aLabel, const TSelect &aSelect)
 
void insert (THolder &pPossible, const conjugation::Label aLabel)
 
void fill (const TDecayList &aList, const TSelector &aSel=SelectAll< DecayClass >())
 
- Public Member Functions inherited from dchain::ConjugateList< 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
 
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
 
- 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
 

Friends

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

Additional Inherited Members

- Protected Member Functions inherited from dchain::DecayList< DecayClass, CandidateClass >
virtual LabeledCandidateList< CandidateClass > & labeledCandidateList ()
 
virtual const LabeledCandidateList< CandidateClass > & labeledCandidateList () const
 
virtual LabeledParticleList< DecayClass, CandidateClass > & labeledParticleList ()
 
virtual const LabeledParticleList< DecayClass, CandidateClass > & labeledParticleList () const
 
- Protected Member Functions inherited from dchain::ConjugateList< CandidateClass >
void setLabel (const conjugation::Label aLabel)
 
virtual dchain::LabeledCandidateList< CandidateClass > & labeledCandidateList ()=0
 
virtual const dchain::LabeledCandidateList< CandidateClass > & labeledCandidateList () const =0
 

Detailed Description

template<class DecayClass, class CandidateClass>
class DCDecayList< DecayClass, CandidateClass >

Definition at line 135 of file DCDecayList.h.

Member Typedef Documentation

◆ value_type

template<class DecayClass , class CandidateClass >
typedef DecayClass DCDecayList< DecayClass, CandidateClass >::value_type

Definition at line 146 of file DCDecayList.h.

Constructor & Destructor Documentation

◆ DCDecayList() [1/6]

template<class DecayClass , class CandidateClass >
DCDecayList< DecayClass, CandidateClass >::DCDecayList ( bool(*)(DecayClass &)  pFunction = 0)

Definition at line 119 of file DCDecayList.cc.

119 :
120 m_function( pFunction ) ,
121 m_functionalObject( 0 )
122{
123}

◆ DCDecayList() [2/6]

template<class DecayClass , class CandidateClass >
DCDecayList< DecayClass, CandidateClass >::DCDecayList ( const DCDecayList< DecayClass, CandidateClass > &  aOtherList,
bool(*)(DecayClass &)  pFunction 
)

Definition at line 126 of file DCDecayList.cc.

127 :
129 m_function( pFunction ) ,
130 m_functionalObject( 0 )
131{
132 fill( aOtherList ) ;
133}

◆ DCDecayList() [3/6]

template<class DecayClass , class CandidateClass >
DCDecayList< DecayClass, CandidateClass >::DCDecayList ( DCSelectionFunction< DecayClass > &  aFunctionalObject)

Definition at line 136 of file DCDecayList.cc.

136 :
137 m_function( 0 ) ,
138 m_functionalObject( &aFunctionalObject )
139{
140}

◆ DCDecayList() [4/6]

template<class DecayClass , class CandidateClass >
DCDecayList< DecayClass, CandidateClass >::DCDecayList ( const DCDecayList< DecayClass, CandidateClass > &  iList)
inline

Definition at line 155 of file DCDecayList.h.

155 :
158 m_function(0), m_functionalObject(0) {}

◆ DCDecayList() [5/6]

template<class DecayClass , class CandidateClass >
DCDecayList< DecayClass, CandidateClass >::DCDecayList ( const dchain::DecayList< DecayClass, CandidateClass > &  iList)
inline

Definition at line 160 of file DCDecayList.h.

160 :
162 m_function(0), m_functionalObject(0) {}

◆ DCDecayList() [6/6]

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

Definition at line 144 of file DCDecayList.cc.

144 :
146 m_function( 0 ) ,
147 m_functionalObject( 0 )
148{
149}

Member Function Documentation

◆ attempt_insert()

template<class DecayClass , class CandidateClass >
void DCDecayList< DecayClass, CandidateClass >::attempt_insert ( DecayClass *  pPossible,
const dchain::conjugation::Label  aLabel 
)
inline

Definition at line 204 of file DCDecayList.h.

205 {
206
207 if(0!= m_function) {
208 this->attempt_insert(pPossible, aLabel, m_function);
209 } else if(0!= m_functionalObject) {
210 this->attempt_insert(pPossible, aLabel, *m_functionalObject);
211 } else {
213 this->attempt_insert(pPossible, aLabel,selectAll );
214 }
215 }
void attempt_insert(DecayClass *pPossible, const dchain::conjugation::Label aLabel)
Definition: DCDecayList.h:204

Referenced by DCDecayList< DecayClass, CandidateClass >::attempt_insert(), and operator+().

◆ operator+=()

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

Definition at line 190 of file DCDecayList.h.

190 {
191
192 if( this->size() != 0 ) {
193 //only check compatable conjugation if something already in
194 // this list, otherwise could have problem with default value
195 bool can_only_add_lists_with_same_conjugation =
196 this->isSelfConjugate() == aOtherList.isSelfConjugate();
197 assert(can_only_add_lists_with_same_conjugation);
198 }
199 fill(aOtherList);
200 }
virtual int size() const
virtual bool isSelfConjugate() const

◆ operator=() [1/4]

template<class DecayClass , class CandidateClass >
const DCDecayList< DecayClass, CandidateClass > & DCDecayList< DecayClass, CandidateClass >::operator= ( const DCDecayList< DecayClass, CandidateClass > &  aOtherList)
inline

Definition at line 183 of file DCDecayList.h.

183 {
184 this->erase();
185 fill(aOtherList);
186 return ( *this ) ;
187 }

◆ operator=() [2/4]

template<class DecayClass , class CandidateClass >
template<class TDecay >
const DCDecayList< DecayClass, CandidateClass > & DCDecayList< DecayClass, CandidateClass >::operator= ( const DCDecayList< TDecay, CandidateClass > &  aOtherList)
inline

Definition at line 167 of file DCDecayList.h.

167 {
168 this->erase();
169 fill(aOtherList);
170 return ( *this ) ;
171 }

◆ operator=() [3/4]

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

Definition at line 156 of file DCDecayList.cc.

157{
158 //std::cout << "@DCDecayList::operator=() ... (CombinatoricList)" << std::endl;
159 this->erase();
160 fill(aOtherList);
161 //static_cast<dchain::DecayList<DecayClass,CandidateClass>&>(*this)=aOtherList;
162 return *this;
163}

◆ operator=() [4/4]

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

Definition at line 175 of file DCDecayList.h.

175 {
176 this->erase();
177 fill(aOtherList);
178 return ( *this ) ;
179 }

Friends And Related Function Documentation

◆ operator+

template<class DecayClass , class CandidateClass >
DCDecayList< DecayClass, CandidateClass > operator+ ( const DCDecayList< DecayClass, CandidateClass > &  iList1,
const DCDecayList< DecayClass, CandidateClass > &  iList2 
)
friend

Definition at line 261 of file DCDecayList.h.

264{
265 bool can_only_add_lists_with_same_conjugation =
266 iList1.isSelfConjugate()== iList2.isSelfConjugate();
267 assert(can_only_add_lists_with_same_conjugation);
268
269 DCDecayList< DecayClass, CandidateClass> returnValue( iList1 );
270 if( &iList1 != &iList2 ) {
271 returnValue.fill( iList2 );
272 }
273 return returnValue;
274}

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