Logo ROOT  
Reference Guide
RooMapCatEntry.cxx
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitCore *
4 * @(#)root/roofitcore:$Id$
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16
17// -- CLASS DESCRIPTION [AUX] --
18// RooMapCatEntry is an auxilary class for RooMappedCategory and defines a
19// a mapping. A mapping consists of a wildcard regular expression, that
20// can be matched against the input category state label and an output
21// category state (RooCatType), which should be assign if the match is successfull.
22
23#include "RooFit.h"
24
25#include "RooMapCatEntry.h"
26#include "RooMapCatEntry.h"
27#include "TString.h"
28
29using namespace std;
30
32;
33
35 TNamed(exp,mangle(exp).Data()), _regexp(mangle(exp),kTRUE), _cat(*cat)
36{
37}
38
39
41 TNamed(other), _regexp(other.GetTitle(),kTRUE), _cat(other._cat)
42{
43}
44
45
46Bool_t RooMapCatEntry::match(const char* testPattern) const
47{
48 return (TString(testPattern).Index(_regexp)>=0) ;
49}
50
51
52
54{
55 // Mangle name : escape regexp character '+'
56 TString t ;
57 const char *c = exp ;
58 while(*c) {
59 if (*c=='+') t.Append('\\') ;
60 t.Append(*c) ;
61 c++ ;
62 }
63 return t ;
64}
#define c(i)
Definition: RSha256.hxx:101
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassImp(name)
Definition: Rtypes.h:365
double exp(double)
RooCatType is an auxilary class for RooAbsCategory and defines a a single category state.
Definition: RooCatType.h:22
TString mangle(const char *exp) const
Bool_t match(const char *testPattern) const
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Basic string class.
Definition: TString.h:131
TString & Append(const char *cs)
Definition: TString.h:559
RooCmdArg Index(RooCategory &icat)