#include <assert.h>
#include <iostream>
#include "DecayChain/List/DecayList.h"
#include "DecayChain/List/DCFillableNeutralList.h"
#include "DecayChain/Function/DCSelectionFunction.h"
#include "DecayChain/List/Template/DCDecayList.cc"
Go to the source code of this file.
Classes | |
class | DCDecayList< DecayClass, CandidateClass > |
Functions | |
template<class DecayClass, class CandidateClass> | |
DCDecayList< DecayClass, CandidateClass > | operator+ (const DCDecayList< DecayClass, CandidateClass > &iList1, const DCDecayList< DecayClass, CandidateClass > &iList2) |
template<class DecayClass, class CandidateClass, class NeutralClass> | |
DCDecayList< DecayClass, CandidateClass > | operator+ (const DCDecayList< DecayClass, CandidateClass > &iList1, const DCFillableNeutralList< NeutralClass > &iList2) |
template<class DecayClass, class CandidateClass, class NeutralClass> | |
DCDecayList< DecayClass, CandidateClass > | operator+ (const DCFillableNeutralList< NeutralClass > &iList1, const DCDecayList< DecayClass, CandidateClass > &iList2) |
DCDecayList< DecayClass, CandidateClass > operator+ | ( | const DCFillableNeutralList< NeutralClass > & | iList1, | |
const DCDecayList< DecayClass, CandidateClass > & | iList2 | |||
) | [inline] |
Definition at line 301 of file DCDecayList.h.
00304 { 00305 DCDecayList< DecayClass, CandidateClass> returnValue; 00306 returnValue = iList2 + iList1; 00307 return returnValue; 00308 }
DCDecayList< DecayClass, CandidateClass > operator+ | ( | const DCDecayList< DecayClass, CandidateClass > & | iList1, | |
const DCFillableNeutralList< NeutralClass > & | iList2 | |||
) | [inline] |
Definition at line 278 of file DCDecayList.h.
References DCDecayList< DecayClass, CandidateClass >::attempt_insert(), dchain::ConjugateList< Neutral::CandidateClass >::isSelfConjugate(), dchain::ConjugateList< CandidateClass >::isSelfConjugate(), dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >::particle_begin(), and dchain::NeutralVisibleList< Neutral, Neutral::CandidateClass >::particle_end().
00281 { 00282 bool can_only_add_lists_with_same_conjugation = 00283 iList1.isSelfConjugate()== iList2.isSelfConjugate(); 00284 assert(can_only_add_lists_with_same_conjugation); 00285 00286 00287 DCDecayList< DecayClass, CandidateClass> returnValue( iList1 ); 00288 typename dchain::LabeledParticleList< NeutralClass , CandidateClass >::const_iterator finished( iList2.particle_end() ) ; 00289 for( typename dchain::LabeledParticleList< NeutralClass , CandidateClass >::const_iterator entry(iList2.particle_begin()) ; 00290 entry != finished ; 00291 ++entry ){ 00292 NeutralClass* localCopy = new NeutralClass( (*entry).particle() ) ; 00293 returnValue.attempt_insert( localCopy, (*entry).label() ) ; 00294 } 00295 return returnValue; 00296 }
DCDecayList< DecayClass, CandidateClass > operator+ | ( | const DCDecayList< DecayClass, CandidateClass > & | iList1, | |
const DCDecayList< DecayClass, CandidateClass > & | iList2 | |||
) | [inline] |
Definition at line 261 of file DCDecayList.h.
References DCDecayList< DecayClass, CandidateClass >::fill(), and dchain::ConjugateList< CandidateClass >::isSelfConjugate().
00264 { 00265 bool can_only_add_lists_with_same_conjugation = 00266 iList1.isSelfConjugate()== iList2.isSelfConjugate(); 00267 assert(can_only_add_lists_with_same_conjugation); 00268 00269 DCDecayList< DecayClass, CandidateClass> returnValue( iList1 ); 00270 if( &iList1 != &iList2 ) { 00271 returnValue.fill( iList2 ); 00272 } 00273 return returnValue; 00274 }