ROOT
6.16/01
Reference Guide
roofit
roofitcore
src
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
29
using namespace
std
;
30
31
ClassImp
(
RooMapCatEntry
);
32
;
33
34
RooMapCatEntry::RooMapCatEntry
(
const
char
*
exp
,
const
RooCatType
* cat) :
35
TNamed
(
exp
,mangle(
exp
).Data()), _regexp(mangle(
exp
),
kTRUE
), _cat(*cat)
36
{
37
}
38
39
40
RooMapCatEntry::RooMapCatEntry
(
const
RooMapCatEntry
& other) :
41
TNamed
(other), _regexp(other.GetTitle(),
kTRUE
), _cat(other._cat)
42
{
43
}
44
45
46
Bool_t
RooMapCatEntry::match
(
const
char
* testPattern)
const
47
{
48
return
(TString(testPattern).
Index
(
_regexp
)>=0) ;
49
}
50
51
52
53
TString
RooMapCatEntry::mangle
(
const
char
*
exp
)
const
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
}
c
#define c(i)
Definition:
RSha256.hxx:101
RooFit.h
RooMapCatEntry.h
Bool_t
bool Bool_t
Definition:
RtypesCore.h:59
kTRUE
const Bool_t kTRUE
Definition:
RtypesCore.h:87
ClassImp
#define ClassImp(name)
Definition:
Rtypes.h:363
exp
double exp(double)
TString.h
RooCatType
RooCatType is an auxilary class for RooAbsCategory and defines a a single category state.
Definition:
RooCatType.h:22
RooMapCatEntry
Definition:
RooMapCatEntry.h:23
RooMapCatEntry::_regexp
TRegexp _regexp
Definition:
RooMapCatEntry.h:43
RooMapCatEntry::mangle
TString mangle(const char *exp) const
Definition:
RooMapCatEntry.cxx:53
RooMapCatEntry::match
Bool_t match(const char *testPattern) const
Definition:
RooMapCatEntry.cxx:46
RooMapCatEntry::RooMapCatEntry
RooMapCatEntry()
Definition:
RooMapCatEntry.h:25
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition:
TNamed.h:29
RooFit::Index
RooCmdArg Index(RooCategory &icat)
Definition:
RooGlobalFunc.cxx:96
std
STL namespace.