Logo ROOT   6.16/01
Reference Guide
Config.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: Andreas Hoecker, Joerg Stelzer, Fredrik Tegenfeldt, Helge Voss
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : Config *
8 * Web : http://tmva.sourceforge.net *
9 * *
10 * Description: *
11 * GLobal configuration settings (singleton) *
12 * *
13 * Authors (alphabetical): *
14 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15 * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
16 * Fredrik Tegenfeldt <Fredrik.Tegenfeldt@cern.ch> - Iowa State U., USA *
17 * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, GER *
18 * *
19 * Copyright (c) 2006: *
20 * CERN, Switzerland *
21 * Iowa State U., USA *
22 * MPI-K Heidelberg, Germany *
23 * *
24 * Redistribution and use in source and binary forms, with or without *
25 * modification, are permitted according to the terms listed in LICENSE *
26 * (http://mva.sourceforge.net/license.txt) *
27 **********************************************************************************/
28
29#ifndef ROOT_TMVA_Config
30#define ROOT_TMVA_Config
31
32//////////////////////////////////////////////////////////////////////////
33// //
34// Config //
35// //
36// Singleton class for global configuration settings used by TMVA //
37// //
38//////////////////////////////////////////////////////////////////////////
39#if __cplusplus > 199711L
40#include <atomic>
41#endif
42#include "Rtypes.h"
43#include "TString.h"
44
45#ifdef R__USE_IMT
47#endif
48
49namespace TMVA {
50
51 class MsgLogger;
52
53 class Config {
54 protected:
55#ifdef R__USE_IMT
56 ROOT::TThreadExecutor fPool; // Pool for multi-thread execution
57#endif
58 UInt_t fNCpu = 0; // number of machine CPU
59
60 public:
61
62 static Config& Instance();
63 static void DestroyInstance();
64
67
68 Bool_t IsSilent() const { return fSilent; }
69 void SetSilent( Bool_t s ) { fSilent = s; }
70
73
76 UInt_t GetNCpu() { return fNCpu; }
77
78 UInt_t GetNumWorkers() const { return fNWorkers; }
80
81#ifdef R__USE_IMT
83#endif
84 public:
85
86 class VariablePlotting;
87 class IONames;
88
91
92 // publicly accessible global settings
94 // data collection class to configure plotting of variables
95 public:
96
104
105 } fVariablePlotting; // Customisable plotting properties
106
107 // for file names and similar
108 class IONames {
109
110 public:
111
115 } fIONames; // Customisable weight file properties
116
117
118 private:
119
120 // private constructor
121 Config();
122 Config( const Config& );
124 virtual ~Config();
125#if __cplusplus > 199711L
126 static std::atomic<Config*> fgConfigPtr;
127#else
129#endif
130 private:
131
132#if __cplusplus > 199711L
133 std::atomic<Bool_t> fDrawProgressBar; // draw progress bar to indicate training evolution
134 std::atomic<UInt_t> fNWorkers; // Default number of workers for multi-process jobs
135 std::atomic<Bool_t> fUseColoredConsole; // coloured standard output
136 std::atomic<Bool_t> fSilent; // no output at all
137 std::atomic<Bool_t> fWriteOptionsReference; // if set true: Configurable objects write file with option reference
138#else
139 Bool_t fDrawProgressBar; // draw progress bar to indicate training evolution
140 UInt_t fNWorkers; // Default number of workers for multi-process jobs
141 Bool_t fUseColoredConsole; // coloured standard output
142 Bool_t fSilent; // no output at all
143 Bool_t fWriteOptionsReference; // if set true: Configurable objects write file with option reference
144#endif
145 mutable MsgLogger* fLogger; // message logger
146 MsgLogger& Log() const { return *fLogger; }
147
148 ClassDef(Config,0); // Singleton class for global configuration settings
149 };
150
151 // global accessor
153}
154
155#endif
#define d(i)
Definition: RSha256.hxx:102
int Int_t
Definition: RtypesCore.h:41
unsigned int UInt_t
Definition: RtypesCore.h:42
bool Bool_t
Definition: RtypesCore.h:59
float Float_t
Definition: RtypesCore.h:53
#define ClassDef(name, id)
Definition: Rtypes.h:324
This class provides a simple interface to execute the same task multiple times in parallel,...
TString fWeightFileDir
Definition: Config.h:112
TString fOptionsReferenceFileDir
Definition: Config.h:114
TString fWeightFileExtension
Definition: Config.h:113
Int_t fMaxNumOfAllowedVariablesForScatterPlots
Definition: Config.h:100
Singleton class for global configuration settings used by TMVA.
Definition: Config.h:53
void SetDrawProgressBar(Bool_t d)
Definition: Config.h:75
Bool_t WriteOptionsReference() const
Definition: Config.h:71
UInt_t fNWorkers
Definition: Config.h:140
class TMVA::Config::IONames fIONames
void SetWriteOptionsReference(Bool_t w)
Definition: Config.h:72
void SetNumWorkers(UInt_t n)
Definition: Config.h:79
void SetUseColor(Bool_t uc)
Definition: Config.h:66
UInt_t GetNCpu()
Definition: Config.h:76
static Config * fgConfigPtr
Definition: Config.h:128
MsgLogger & Log() const
Definition: Config.h:146
Config & operator=(const Config &)
static void DestroyInstance()
static function: destroy TMVA instance
Definition: Config.cxx:96
Config(const Config &)
Bool_t fDrawProgressBar
Definition: Config.h:139
virtual ~Config()
destructor
Definition: Config.cxx:88
UInt_t GetNumWorkers() const
Definition: Config.h:78
Bool_t fUseColoredConsole
Definition: Config.h:141
UInt_t fNCpu
Definition: Config.h:58
Bool_t DrawProgressBar() const
Definition: Config.h:74
static Config & Instance()
static function: returns TMVA instance
Definition: Config.cxx:108
Config()
constructor - set defaults
Definition: Config.cxx:57
Bool_t UseColor() const
Definition: Config.h:65
MsgLogger * fLogger
Definition: Config.h:145
Bool_t IsSilent() const
Definition: Config.h:68
VariablePlotting & GetVariablePlotting()
Definition: Config.h:89
ROOT::TThreadExecutor fPool
Definition: Config.h:56
Bool_t fWriteOptionsReference
Definition: Config.h:143
class TMVA::Config::VariablePlotting fVariablePlotting
void SetSilent(Bool_t s)
Definition: Config.h:69
IONames & GetIONames()
Definition: Config.h:90
ROOT::TThreadExecutor & GetThreadExecutor()
Definition: Config.h:82
Bool_t fSilent
Definition: Config.h:142
ostringstream derivative to redirect and format output
Definition: MsgLogger.h:59
Basic string class.
Definition: TString.h:131
const Int_t n
Definition: legend1.C:16
static constexpr double s
Abstract ClassifierFactory template that handles arbitrary types.
Config & gConfig()