Go to the documentation of this file.
18 <<
"NamedCompositeCandidate constructor: Number of roles and daughters differ, this is an error. Name = "
36 <<
"NamedCompositeCandidate::applyRoles : Number of roles and daughters differ, this is an error.\n";
39 for (
int i = 0;
i < N1; ++
i) {
62 throw cms::Exception(
"InvalidReference") <<
"NamedCompositeCandidate::daughter: Cannot find role " <<
s <<
"\n";
80 throw cms::Exception(
"InvalidReference") <<
"NamedCompositeCandidate::daughter: Cannot find role " <<
s <<
"\n";
90 throw cms::Exception(
"InvalidReference") <<
"NamedCompositeCandidate::addDaughter: Already have role with name "
91 <<
s <<
", please clearDaughters, or use a new name\n";
95 std::unique_ptr<Candidate>
c(
cand.clone());
107 throw cms::Exception(
"InvalidReference") <<
"NamedCompositeCandidate::addDaughter: Already have role with name "
108 <<
s <<
", please clearDaughters, or use a new name\n";
ret
prodAgent to be discontinued
std::vector< std::string > role_collection
NamedCompositeCandidate * clone() const override
returns a clone of the candidate
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void addDaughter(const Candidate &, const std::string &s)
NamedCompositeCandidate(std::string name="")
default constructor
~NamedCompositeCandidate() override
destructor
void addDaughter(const Candidate &, const std::string &s="")
add a clone of the passed candidate as daughter
const_iterator end() const
last daughter const_iterator
size_type numberOfDaughters() const override
number of daughters
Candidate * daughter(const std::string &s) override
return daughter with a specified role name
const Candidate * daughter(size_type) const override
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode)
const_iterator begin() const
first daughter const_iterator