41 using std::unique_ptr;
52 : _lhs(c._lhs->
clone()), _rhs(c._rhs->
clone()) {}
66 unique_ptr<Constraint_Intermed> ci = c.
_lhs->clone();
70 unique_ptr<Constraint_Intermed> ci = c.
_rhs->clone();
88 assert(i != string::npos);
116 if (
_lhs->has_labels(ilabel, jlabel))
118 else if (
_rhs->has_labels(ilabel, jlabel))
136 return _lhs->sum_mass_terms(
ev) -
_rhs->sum_mass_terms(
ev);
161 s << *c.
_lhs.get() <<
" = " << *c.
_rhs.get();
Represent a mass constraint equation. Mass constraints come in two varieties, either saying that the ...
std::unique_ptr< Constraint_Intermed > make_constraint_intermed(std::string s)
Represent an event for kinematic fitting as a collection of four-momenta. Each object is represented ...
double sum_mass_terms(const Fourvec_Event &ev) const
std::unique_ptr< Constraint_Intermed > _rhs
Constraint(std::string s)
Constraint & operator=(const Constraint &c)
Represent a mass constraint equation.
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
friend std::ostream & operator<<(std::ostream &s, const Constraint &c)
Output stream operator, print the content of this Constraint to an output stream. ...
std::unique_ptr< Constraint_Intermed > _lhs
int has_labels(int ilabel, int jlabel) const
Represent one side of a mass constraint equation. Contains the abstract base class Constraint_Interme...