1#ifndef DCHAIN_LABELEDCANDIDATE_H
2#define DCHAIN_LABELEDCANDIDATE_H
32#include "DecayChain/Element/ReferenceHolder.h"
33#include "DecayChain/Element/conjugation.h"
46 : m_pointer( aOtherLabeled.m_pointer ), m_label( aOtherLabeled.m_label ) {}
52 m_pointer = aOtherLabeled.m_pointer;
53 m_label = aOtherLabeled.m_label;
62 const CandidateClass&
operator()()
const {
return ( *m_pointer ); }
65 const CandidateClass&
labeledClass()
const {
return ( *m_pointer ); }
77 template <
class THolder>
79 : m_pointer( aCandidateClass ), m_label( aLabel ) {}
82 CandidateClass*
pointer() {
return m_pointer.pointer(); }
85 const CandidateClass*
pointer()
const {
return ( m_pointer.pointer() ); }
bool operator!=(const conjugation::Label &aLabel) const
const CandidateClass & operator()() const
const CandidateClass * pointer() const
conjugation::Label label() const
const CandidateClass & labeledClass() const
virtual ~LabeledCandidate()
LabeledCandidate(THolder aCandidateClass, const conjugation::Label aLabel)
CandidateClass * pointer()
const LabeledCandidate & operator=(const LabeledCandidate< CandidateClass > &aOtherLabeled)
bool operator==(const conjugation::Label &aLabel) const
LabeledCandidate(const LabeledCandidate< CandidateClass > &aOtherLabeled)