BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DCDecayList.h File Reference
#include <assert.h>
#include <iostream>
#include "DecayChain/Function/DCSelectionFunction.h"
#include "DecayChain/List/DCFillableNeutralList.h"
#include "DecayChain/List/DecayList.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)

Function Documentation

◆ operator+() [1/3]

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

Definition at line 260 of file Event/DecayChain/include/DecayChain/List/DCDecayList.h.

261 {
262 bool can_only_add_lists_with_same_conjugation =
263 iList1.isSelfConjugate() == iList2.isSelfConjugate();
264 assert( can_only_add_lists_with_same_conjugation );
265
266 DCDecayList<DecayClass, CandidateClass> returnValue( iList1 );
267 if ( &iList1 != &iList2 ) { returnValue.fill( iList2 ); }
268 return returnValue;
269}

◆ operator+() [2/3]

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

Definition at line 273 of file Event/DecayChain/include/DecayChain/List/DCDecayList.h.

274 {
275 bool can_only_add_lists_with_same_conjugation =
276 iList1.isSelfConjugate() == iList2.isSelfConjugate();
277 assert( can_only_add_lists_with_same_conjugation );
278
279 DCDecayList<DecayClass, CandidateClass> returnValue( iList1 );
281 iList2.particle_end() );
283 entry( iList2.particle_begin() );
284 entry != finished; ++entry )
285 {
286 NeutralClass* localCopy = new NeutralClass( ( *entry ).particle() );
287 returnValue.attempt_insert( localCopy, ( *entry ).label() );
288 }
289 return returnValue;
290}

◆ operator+() [3/3]

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

Definition at line 294 of file Event/DecayChain/include/DecayChain/List/DCDecayList.h.

295 {
297 returnValue = iList2 + iList1;
298 return returnValue;
299}