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());