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";
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) ...
const edm::EventSetup & c
NamedCompositeCandidate(std::string name="")
default constructor
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
~NamedCompositeCandidate() override
destructor
Candidate * daughter(const std::string &s) override
return daughter with a specified role name
void setName(std::string n)
const_iterator end() const
last daughter const_iterator
std::vector< std::string > role_collection
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
size_type numberOfDaughters() const override
number of daughters
void addDaughter(const Candidate &, const std::string &s)
NamedCompositeCandidate * clone() const override
returns a clone of the candidate
const_iterator begin() const
first daughter const_iterator