8 const std::string&
name) :
11 for(
size_t i = 0;
i !=
n; ++
i) {
17 const std::string&
name,
22 bool sameSize = (n ==
r);
23 for(
size_t i = 0;
i !=
n; ++
i) {
24 if (sameSize && r > 0)
61 throw cms::Exception(
"Error") <<
"can't check overlap internally for CompositeCanddate";
74 <<
"CompositeCandidate::applyRoles : Number of roles and daughters differ, this is an error.\n";
77 for (
int i = 0 ;
i < N1; ++
i) {
101 <<
"CompositeCandidate::daughter: Cannot find role " << s <<
"\n";
120 <<
"CompositeCandidate::daughter: Cannot find role " << s <<
"\n";
133 <<
"CompositeCandidate::addDaughter: Already have role with name \"" << s
134 <<
"\", please clearDaughters, or use a new name\n";
151 <<
"CompositeCandidate::addDaughter: Already have role with name \"" << s
152 <<
"\", please clearDaughters, or use a new name\n";
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual size_type numberOfMothers() const
number of mothers (zero or one in most of but not all the cases)
candidate::const_iterator const_iterator
role_collection roles_
candidate roles
virtual const_iterator end() const
last daughter const_iterator
candidate::const_iterator_imp_specific< daughters > const_iterator_imp_specific
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
virtual size_type numberOfDaughters() const
number of daughters
virtual bool overlap(const Candidate &) const
check overlap with another daughter
virtual ~CompositeCandidate()
destructor
virtual size_type numberOfDaughters() const =0
number of daughters
virtual const_iterator begin() const
first daughter const_iterator
CompositeCandidate(std::string name="")
default constructor
void addDaughter(const Candidate &, const std::string &s="")
add a clone of the passed candidate as daughter
virtual Candidate * clone() const =0
returns a clone of the Candidate object
candidate::iterator iterator
void setName(std::string name)
set the name of the candidate
virtual const Candidate * daughter(size_type) const
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
daughters dau
collection of daughters
virtual CompositeCandidate * clone() const
returns a clone of the candidate
std::vector< std::string > role_collection
virtual const Candidate * mother(size_type i=0) const
return pointer to mother
candidate::iterator_imp_specific< daughters > iterator_imp_specific