47 TCut::TCut() : TNamed()
54 TCut::TCut(
const char *title) : TNamed(
"CUT",title)
61 TCut::TCut(
const char *name,
const char *title) : TNamed(name,title)
68 TCut::TCut(
const TCut &cut) : TNamed(cut)
82 Bool_t TCut::operator==(
const char *rhs)
const
90 Bool_t TCut::operator==(
const TCut &rhs)
const
92 return fTitle == rhs.fTitle;
98 Bool_t TCut::operator!=(
const char *rhs)
const
100 return fTitle != rhs;
106 Bool_t TCut::operator!=(
const TCut &rhs)
const
108 return fTitle != rhs.fTitle;
114 TCut& TCut::operator=(
const char *rhs)
123 TCut& TCut::operator=(
const TCut& rhs)
125 if (
this != &rhs) TNamed::operator=(rhs);
132 TCut& TCut::operator+=(
const char *rhs)
134 if (!rhs || !rhs[0])
return *
this;
135 if (fTitle.Length() == 0)
138 fTitle =
"(" + fTitle +
")&&(" + TString(rhs) +
")";
145 TCut& TCut::operator+=(
const TCut& rhs)
147 if (rhs.fTitle.Length() == 0)
return *
this;
148 if (fTitle.Length() == 0)
151 fTitle =
"(" + fTitle +
")&&(" + rhs.fTitle +
")";
158 TCut& TCut::operator*=(
const char *rhs)
160 if (!rhs || !rhs[0])
return *
this;
161 if (fTitle.Length() == 0)
164 fTitle =
"(" + fTitle +
")*(" + TString(rhs) +
")";
171 TCut& TCut::operator*=(
const TCut& rhs)
173 if (rhs.fTitle.Length() == 0)
return *
this;
174 if (fTitle.Length() == 0)
177 fTitle =
"(" + fTitle +
")*(" + rhs.fTitle +
")";
184 TCut operator+(
const TCut& lhs,
const char *rhs)
186 return TCut(lhs) += rhs;
192 TCut operator+(
const char *lhs,
const TCut& rhs)
194 return TCut(lhs) += rhs;
200 TCut operator+(
const TCut& lhs,
const TCut& rhs)
202 return TCut(lhs) += rhs;
208 TCut operator*(
const TCut& lhs,
const char *rhs)
210 return TCut(lhs) *= rhs;
216 TCut operator*(
const char *lhs,
const TCut& rhs)
218 return TCut(lhs) *= rhs;
224 TCut operator*(
const TCut& lhs,
const TCut& rhs)
226 return TCut(lhs) *= rhs;
232 TCut operator&&(
const TCut& lhs,
const char *rhs)
234 return TCut(lhs) += rhs;
240 TCut operator&&(
const char *lhs,
const TCut& rhs)
242 return TCut(lhs) += rhs;
248 TCut operator&&(
const TCut& lhs,
const TCut& rhs)
250 return TCut(lhs) += rhs;
256 TCut operator||(
const TCut& lhs,
const char *rhs)
258 if (lhs.fTitle.Length() == 0 && (!rhs || !rhs[0]))
return TCut();
259 if (lhs.fTitle.Length() == 0)
return TCut(rhs);
260 if (!rhs || !rhs[0])
return TCut(lhs);
261 TString s =
"(" + lhs.fTitle +
")||(" + TString(rhs) +
")";
262 return TCut(s.Data());
268 TCut operator||(
const char *lhs,
const TCut& rhs)
270 if ((!lhs || !lhs[0]) && rhs.fTitle.Length() == 0)
return TCut();
271 if (!lhs || !lhs[0])
return TCut(rhs);
272 if (rhs.fTitle.Length() == 0)
return TCut(lhs);
273 TString s =
"(" + TString(lhs) +
")||(" + rhs.fTitle +
")";
274 return TCut(s.Data());
280 TCut operator||(
const TCut& lhs,
const TCut& rhs)
282 if (lhs.fTitle.Length() == 0 && rhs.fTitle.Length() == 0)
return TCut();
283 if (lhs.fTitle.Length() == 0)
return TCut(rhs);
284 if (rhs.fTitle.Length() == 0)
return TCut(lhs);
285 TString s =
"(" + lhs.fTitle +
")||(" + rhs.fTitle +
")";
286 return TCut(s.Data());
292 TCut operator!(
const TCut &rhs)
294 if (rhs.fTitle.Length() == 0)
return TCut();
295 TString s =
"!(" + rhs.fTitle +
")";
296 return TCut(s.Data());