8 for (
size_t i = 0;
i !=
n; ++
i) {
17 bool sameSize = (n ==
r);
18 for (
size_t i = 0;
i !=
n; ++
i) {
19 if (sameSize && r > 0)
46 throw cms::Exception(
"Error") <<
"can't check overlap internally for CompositeCanddate";
58 <<
"CompositeCandidate::applyRoles : Number of roles and daughters differ, this is an error.\n";
61 for (
int i = 0;
i < N1; ++
i) {
84 throw cms::Exception(
"InvalidReference") <<
"CompositeCandidate::daughter: Cannot find role " << s <<
"\n";
102 throw cms::Exception(
"InvalidReference") <<
"CompositeCandidate::daughter: Cannot find role " << s <<
"\n";
114 throw cms::Exception(
"InvalidReference") <<
"CompositeCandidate::addDaughter: Already have role with name \"" << s
115 <<
"\", please clearDaughters, or use a new name\n";
131 throw cms::Exception(
"InvalidReference") <<
"CompositeCandidate::addDaughter: Already have role with name \"" << s
132 <<
"\", please clearDaughters, or use a new name\n";
~CompositeCandidate() override
destructor
tuple ret
prodAgent to be discontinued
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
const edm::EventSetup & c
role_collection roles_
candidate roles
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool overlap(const Candidate &) const override
check overlap with another daughter
virtual size_type numberOfDaughters() const =0
number of daughters
const Candidate * mother(size_type i=0) const override
return pointer to mother
size_type numberOfMothers() const override
number of mothers (zero or one in most of but not all the cases)
const_iterator end() const
last 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
CompositeCandidate * clone() const override
returns a clone of the candidate
virtual Candidate * clone() const =0
returns a clone of the Candidate object
void setName(std::string name)
set the name of the candidate
size_type numberOfDaughters() const override
number of daughters
const_iterator begin() const
first daughter const_iterator
daughters dau
collection of daughters
std::vector< std::string > role_collection