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

Classes

class  ChildList

Static Public Member Functions

static void fill (CombinatoricLoop< CandidateClass > &iLoop, const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)
static void doIt (const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, ChildList &iList, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)
static void fill (CombinatoricLoop< CandidateClass > &iLoop, const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)
static void doIt (const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, ChildList &iList, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)
static void fill (CombinatoricLoop< CandidateClass > &iLoop, const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)
static void doIt (const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, ChildList &iList, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)

Detailed Description

template<class DecayClass, class CandidateClass>
class dchain::FillDecayList< DecayClass, CandidateClass >

Definition at line 138 of file Event/DecayChain/include/DecayChain/List/Template/CombinatoricList.cc.

Member Function Documentation

◆ doIt() [1/3]

template<class DecayClass, class CandidateClass>
void dchain::FillDecayList< DecayClass, CandidateClass >::doIt ( const typename _combinatoricloop_vector_::iterator & aBegin,
const typename _combinatoricloop_vector_::iterator & aEnd,
ChildList & iList,
const conjugation::Label aLabel,
dchain::LabeledParticleList< DecayClass, CandidateClass > & aDecayList )
inlinestatic

Definition at line 204 of file Event/DecayChain/include/DecayChain/List/Template/CombinatoricList.cc.

207 {
208 if ( aBegin == aEnd )
209 {
210 //
211 // if all ConjuagetLists have been used add Decay to the final list
212 //
213 DecayClass* ptr = iList.makeDecay();
216 }
217 else
218 {
219 //
220 // make iterator for next ConjugateList loop
221 //
223 //
224 // loop over each entry in the current ConjugateList
225 //
227 ( *( *aBegin ) ).partial_end() );
229 ( *( *aBegin ) ).partial_begin() );
230 entry != finished; ++entry )
231 {
232 if ( !( iList.overlap( ( *entry )() ) ) )
233 {
234 //
235 // If baseDecay does not overlap current element in the this ConjugateList,
236 // record the current element of this Loop
237 //
238 ( *( *aBegin ) ).setCurrentIterator( entry );
239 //
240 // build new baseDecay with old baseDecay plus the current element
241 //
242 iList.push_back( &( *entry ).labeledClass() );
243 //
244 // do all successive ConjugateList loops
245 //
247
248 iList.pop_back();
249 }
250 }
251 }
252 }
static void doIt(const typename _combinatoricloop_vector_::iterator &aBegin, const typename _combinatoricloop_vector_::iterator &aEnd, ChildList &iList, const conjugation::Label aLabel, dchain::LabeledParticleList< DecayClass, CandidateClass > &aDecayList)

Referenced by doIt(), and fill().

◆ doIt() [2/3]

template<class DecayClass, class CandidateClass>
void dchain::FillDecayList< DecayClass, CandidateClass >::doIt ( const typename _combinatoricloop_vector_::iterator & aBegin,
const typename _combinatoricloop_vector_::iterator & aEnd,
ChildList & iList,
const conjugation::Label aLabel,
dchain::LabeledParticleList< DecayClass, CandidateClass > & aDecayList )
inlinestatic

Definition at line 204 of file InstallArea/x86_64-el9-gcc13-dbg/include/DecayChain/List/Template/CombinatoricList.cc.

207 {
208 if ( aBegin == aEnd )
209 {
210 //
211 // if all ConjuagetLists have been used add Decay to the final list
212 //
213 DecayClass* ptr = iList.makeDecay();
216 }
217 else
218 {
219 //
220 // make iterator for next ConjugateList loop
221 //
223 //
224 // loop over each entry in the current ConjugateList
225 //
227 ( *( *aBegin ) ).partial_end() );
229 ( *( *aBegin ) ).partial_begin() );
230 entry != finished; ++entry )
231 {
232 if ( !( iList.overlap( ( *entry )() ) ) )
233 {
234 //
235 // If baseDecay does not overlap current element in the this ConjugateList,
236 // record the current element of this Loop
237 //
238 ( *( *aBegin ) ).setCurrentIterator( entry );
239 //
240 // build new baseDecay with old baseDecay plus the current element
241 //
242 iList.push_back( &( *entry ).labeledClass() );
243 //
244 // do all successive ConjugateList loops
245 //
247
248 iList.pop_back();
249 }
250 }
251 }
252 }

◆ doIt() [3/3]

template<class DecayClass, class CandidateClass>
void dchain::FillDecayList< DecayClass, CandidateClass >::doIt ( const typename _combinatoricloop_vector_::iterator & aBegin,
const typename _combinatoricloop_vector_::iterator & aEnd,
ChildList & iList,
const conjugation::Label aLabel,
dchain::LabeledParticleList< DecayClass, CandidateClass > & aDecayList )
inlinestatic

Definition at line 204 of file InstallArea/x86_64-el9-gcc13-opt/include/DecayChain/List/Template/CombinatoricList.cc.

207 {
208 if ( aBegin == aEnd )
209 {
210 //
211 // if all ConjuagetLists have been used add Decay to the final list
212 //
213 DecayClass* ptr = iList.makeDecay();
216 }
217 else
218 {
219 //
220 // make iterator for next ConjugateList loop
221 //
223 //
224 // loop over each entry in the current ConjugateList
225 //
227 ( *( *aBegin ) ).partial_end() );
229 ( *( *aBegin ) ).partial_begin() );
230 entry != finished; ++entry )
231 {
232 if ( !( iList.overlap( ( *entry )() ) ) )
233 {
234 //
235 // If baseDecay does not overlap current element in the this ConjugateList,
236 // record the current element of this Loop
237 //
238 ( *( *aBegin ) ).setCurrentIterator( entry );
239 //
240 // build new baseDecay with old baseDecay plus the current element
241 //
242 iList.push_back( &( *entry ).labeledClass() );
243 //
244 // do all successive ConjugateList loops
245 //
247
248 iList.pop_back();
249 }
250 }
251 }
252 }

◆ fill() [1/3]

template<class DecayClass, class CandidateClass>
void dchain::FillDecayList< DecayClass, CandidateClass >::fill ( CombinatoricLoop< CandidateClass > & iLoop,
const typename _combinatoricloop_vector_::iterator & aBegin,
const typename _combinatoricloop_vector_::iterator & aEnd,
const conjugation::Label aLabel,
dchain::LabeledParticleList< DecayClass, CandidateClass > & aDecayList )
inlinestatic

Definition at line 177 of file Event/DecayChain/include/DecayChain/List/Template/CombinatoricList.cc.

181 {
183
185 iLoop.partial_end();
187 iLoop.partial_begin();
188 entry != itEnd; ++entry )
189 {
190
191 iLoop.setCurrentIterator( entry );
192
193 childList.push_back( &( *entry ).labeledClass() );
194
195 //
196 // Note: need to cast way `const' to make sure a non-const LabeledParticleList
197 // is returned
198 //
200 childList.eraseAll();
201 }
202 }

◆ fill() [2/3]

template<class DecayClass, class CandidateClass>
void dchain::FillDecayList< DecayClass, CandidateClass >::fill ( CombinatoricLoop< CandidateClass > & iLoop,
const typename _combinatoricloop_vector_::iterator & aBegin,
const typename _combinatoricloop_vector_::iterator & aEnd,
const conjugation::Label aLabel,
dchain::LabeledParticleList< DecayClass, CandidateClass > & aDecayList )
inlinestatic

Definition at line 177 of file InstallArea/x86_64-el9-gcc13-dbg/include/DecayChain/List/Template/CombinatoricList.cc.

181 {
183
185 iLoop.partial_end();
187 iLoop.partial_begin();
188 entry != itEnd; ++entry )
189 {
190
191 iLoop.setCurrentIterator( entry );
192
193 childList.push_back( &( *entry ).labeledClass() );
194
195 //
196 // Note: need to cast way `const' to make sure a non-const LabeledParticleList
197 // is returned
198 //
200 childList.eraseAll();
201 }
202 }

◆ fill() [3/3]

template<class DecayClass, class CandidateClass>
void dchain::FillDecayList< DecayClass, CandidateClass >::fill ( CombinatoricLoop< CandidateClass > & iLoop,
const typename _combinatoricloop_vector_::iterator & aBegin,
const typename _combinatoricloop_vector_::iterator & aEnd,
const conjugation::Label aLabel,
dchain::LabeledParticleList< DecayClass, CandidateClass > & aDecayList )
inlinestatic

Definition at line 177 of file InstallArea/x86_64-el9-gcc13-opt/include/DecayChain/List/Template/CombinatoricList.cc.

181 {
183
185 iLoop.partial_end();
187 iLoop.partial_begin();
188 entry != itEnd; ++entry )
189 {
190
191 iLoop.setCurrentIterator( entry );
192
193 childList.push_back( &( *entry ).labeledClass() );
194
195 //
196 // Note: need to cast way `const' to make sure a non-const LabeledParticleList
197 // is returned
198 //
200 childList.eraseAll();
201 }
202 }

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