Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
Domains.h
Go to the documentation of this file.
1/*
2 * Project: RooFit
3 * Authors:
4 * Jonas Rembser, CERN, Jan 2023
5 *
6 * Copyright (c) 2023, CERN
7 *
8 * Redistribution and use in source and binary forms,
9 * with or without modification, are permitted according to the terms
10 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
11 */
12
13#ifndef RooFit_JSONIO_Detail_Domains_h
14#define RooFit_JSONIO_Detail_Domains_h
15
16#include <string>
17#include <map>
18#include <vector>
19
20class RooRealVar;
21class RooWorkspace;
22
23namespace RooFit {
24namespace Detail {
25class JSONNode;
26class JSONTree;
27} // namespace Detail
28} // namespace RooFit
29
30namespace RooFit {
31namespace JSONIO {
32namespace Detail {
33
34class Domains {
35public:
36 void readVariable(const char *name, double min, double max, const char *domain);
37 void readVariable(const char *name, double min, double max);
38
39 void readVariable(RooRealVar const &);
40 void writeVariable(RooRealVar &) const;
41
44
45 void populate(RooWorkspace &ws) const;
46
48 public:
49 void readVariable(const RooRealVar &);
50 void readVariable(const char *name, double min, double max);
51 void writeVariable(RooRealVar &) const;
52
55
56 void populate(RooWorkspace &ws) const;
57 void registerBinnings(const char *name, RooWorkspace &ws) const;
58
59 private:
61 bool hasMin = false;
62 bool hasMax = false;
63 double min = 0.0;
64 double max = 0.0;
65 };
66
67 std::map<std::string, ProductDomainElement> _map;
68 };
69
70 std::map<std::string, ProductDomain> _map;
71};
72
73} // namespace Detail
74} // namespace JSONIO
75} // namespace RooFit
76
77#endif
char name[80]
Definition TGX11.cxx:110
void registerBinnings(const char *name, RooWorkspace &ws) const
Definition Domains.cxx:173
std::map< std::string, ProductDomainElement > _map
Definition Domains.h:67
void populate(RooWorkspace &ws) const
Definition Domains.cxx:161
void writeJSON(RooFit::Detail::JSONNode &) const
Definition Domains.cxx:144
void readJSON(RooFit::Detail::JSONNode const &)
Definition Domains.cxx:126
void populate(RooWorkspace &ws) const
Definition Domains.cxx:28
std::map< std::string, ProductDomain > _map
Definition Domains.h:70
void writeVariable(RooRealVar &) const
Definition Domains.cxx:61
void readVariable(const char *name, double min, double max, const char *domain)
Definition Domains.cxx:45
void writeJSON(RooFit::Detail::JSONNode &) const
Definition Domains.cxx:84
void readJSON(RooFit::Detail::JSONNode const &)
Definition Domains.cxx:69
Variable that can be changed from the outside.
Definition RooRealVar.h:37
Persistable container for RooFit projects.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Definition JSONIO.h:26