[1] | 1 | <html> |
---|
| 2 | <head> |
---|
| 3 | <title>The Settings Scheme</title> |
---|
| 4 | <link rel="stylesheet" type="text/css" href="pythia.css"/> |
---|
| 5 | <link rel="shortcut icon" href="pythia32.gif"/> |
---|
| 6 | </head> |
---|
| 7 | <body> |
---|
| 8 | |
---|
| 9 | <script language=javascript type=text/javascript> |
---|
| 10 | function stopRKey(evt) { |
---|
| 11 | var evt = (evt) ? evt : ((event) ? event : null); |
---|
| 12 | var node = (evt.target) ? evt.target :((evt.srcElement) ? evt.srcElement : null); |
---|
| 13 | if ((evt.keyCode == 13) && (node.type=="text")) |
---|
| 14 | {return false;} |
---|
| 15 | } |
---|
| 16 | |
---|
| 17 | document.onkeypress = stopRKey; |
---|
| 18 | </script> |
---|
| 19 | <?php |
---|
| 20 | if($_POST['saved'] == 1) { |
---|
| 21 | if($_POST['filepath'] != "files/") { |
---|
| 22 | echo "<font color='red'>SETTINGS SAVED TO FILE</font><br/><br/>"; } |
---|
| 23 | else { |
---|
| 24 | echo "<font color='red'>NO FILE SELECTED YET.. PLEASE DO SO </font><a href='SaveSettings.php'>HERE</a><br/><br/>"; } |
---|
| 25 | } |
---|
| 26 | ?> |
---|
| 27 | |
---|
| 28 | <form method='post' action='SettingsScheme.php'> |
---|
| 29 | |
---|
| 30 | <h2>The Settings Scheme</h2> |
---|
| 31 | |
---|
| 32 | The <code>Settings</code> class keeps track of all the flags, modes, |
---|
| 33 | parameters and words used during the event generation. As such, it |
---|
| 34 | serves all the <code>Pythia</code> program elements from one central |
---|
| 35 | repository. Accessing it allows the user to modify the generator |
---|
| 36 | behaviour. |
---|
| 37 | |
---|
| 38 | <p/> |
---|
| 39 | Each <code>Pythia</code> object has a public member <code>settings</code> |
---|
| 40 | of the <code>Settings</code> class. Therefore you access the |
---|
| 41 | settings methods as <code>pythia.settings.command(argument)</code>, |
---|
| 42 | assuming that <code>pythia</code> is an instance of the <code>Pythia</code> |
---|
| 43 | class. Further, for the most frequent user tasks, <code>Pythia</code> |
---|
| 44 | methods have been defined, so that <code>pythia.command(argument)</code> |
---|
| 45 | would work, see further below. |
---|
| 46 | |
---|
| 47 | <p/> |
---|
| 48 | The central section on this page is the Operation one. The preceding |
---|
| 49 | concepts section is there mainly to introduce the basic structure and |
---|
| 50 | the set of properties that can be accessed. The subsequent sections |
---|
| 51 | provide a complete listing of the existing public methods, which most |
---|
| 52 | users probably will have little interaction with. |
---|
| 53 | |
---|
| 54 | <h3>Concepts</h3> |
---|
| 55 | |
---|
| 56 | We distinguish four kinds of user-modifiable variables, by the way |
---|
| 57 | they have to be stored: |
---|
| 58 | <ol> |
---|
| 59 | <li>Flags are on/off switches, and are stored as <code>bool</code>.</li> |
---|
| 60 | <li>Modes corresponds to a finite enumeration of separate options, |
---|
| 61 | and are stored as <code>int</code>.</li> |
---|
| 62 | <li>Parameters take a continuum of values, and are stored as |
---|
| 63 | <code>double</code>. The shorthand notation parm is used in the C++ |
---|
| 64 | code and XML tags, so that all four kinds are represented by |
---|
| 65 | four-letter type names.</li> |
---|
| 66 | <li>Words are simple character strings and are stored as |
---|
| 67 | <code>string</code>. No blanks or double quotation marks (") may |
---|
| 68 | appear inside a word, the former to simplify parsing of an input file |
---|
| 69 | and the latter not to cause conflicts with XML attribute delimiters. |
---|
| 70 | Currently the main application is to store file names.</li> |
---|
| 71 | </ol> |
---|
| 72 | |
---|
| 73 | <p/> |
---|
| 74 | In general, each variable stored in <code>Settings</code> is associated |
---|
| 75 | with four kinds of information: |
---|
| 76 | <ul> |
---|
| 77 | <li>The variable name, of the form <code>class:name</code> |
---|
| 78 | (or <code>file:name</code>, usually these agree), e.g. |
---|
| 79 | <code>TimeShower:pTmin</code>. The class/file part usually identifies |
---|
| 80 | the <code>.xml</code> file where the variable is defined, and the part of |
---|
| 81 | the program where it is used, but such a connection cannot be strictly |
---|
| 82 | upheld, since e.g. the same variable may be used in a few different |
---|
| 83 | cases (even if most of them are not).</li> |
---|
| 84 | <li>The default value, set in the original declaration, and intended |
---|
| 85 | to represent a reasonable choice.</li> |
---|
| 86 | <li>The current value, which differs from the default when the user so |
---|
| 87 | requests.</li> |
---|
| 88 | <li>An allowed range of values, represented by meaningful |
---|
| 89 | minimum and maximum values. This has no sense for a <code>flag</code> |
---|
| 90 | or a <code>word</code> (and is not used there), is usually rather |
---|
| 91 | well-defined for a <code>mode</code>, but less so for a <code>parm</code>. |
---|
| 92 | Often the allowed range exaggerates the degree of our current knowledge, |
---|
| 93 | so as not to restrict too much what the user can do. One may choose |
---|
| 94 | not to set the lower or upper limit, in which case the range is |
---|
| 95 | open-ended.</li> |
---|
| 96 | </ul> |
---|
| 97 | |
---|
| 98 | <p/> |
---|
| 99 | Technically, the <code>Settings</code> class is implemented with the |
---|
| 100 | help of four separate maps, one for each kind of variable, with the |
---|
| 101 | variable <code>name</code> used as key. |
---|
| 102 | |
---|
| 103 | <h3>Operation</h3> |
---|
| 104 | |
---|
| 105 | The normal flow of setting values is: |
---|
| 106 | |
---|
| 107 | <ol> |
---|
| 108 | |
---|
| 109 | <p/> <li> |
---|
| 110 | When a <code>Pythia</code> object <code>pythia </code>is created, |
---|
| 111 | the member <code>pythia.settings</code> is asked to scan the files |
---|
| 112 | listed in the <code>Index.xml</code> file in the <code>xmldoc</code> |
---|
| 113 | subdirectory. |
---|
| 114 | |
---|
| 115 | <p/> |
---|
| 116 | In all of the files scanned, lines beginning with |
---|
| 117 | <code><flag</code>, <code><mode</code>, <code><parm</code> |
---|
| 118 | or <code><word</code> are identified, and the information on |
---|
| 119 | such a line is used to define a new flag, mode, parameter or word. |
---|
| 120 | To exemplify, consider a line |
---|
| 121 | <pre> |
---|
| 122 | <parm name="TimeShower:pTmin" default="0.5" min="0.1" max="2.0"> |
---|
| 123 | </pre> |
---|
| 124 | which appears in the <code>TimeShower.xml</code> file, and there |
---|
| 125 | defines a parameter <code>TimeShower:pTmin</code> with default value |
---|
| 126 | 0.5 GeV and allowed variation in the range 0.1 - 2.0 GeV. The min |
---|
| 127 | and max values are optional. |
---|
| 128 | <br/><b>Important:</b> the values in the <code>.xml</code> files should |
---|
| 129 | not be changed, except by the PYTHIA authors. Any changes should be |
---|
| 130 | done with the help of the methods described below. |
---|
| 131 | </li> |
---|
| 132 | |
---|
| 133 | <p/> <li> |
---|
| 134 | Between the creation of the <code>Pythia</code> object and the |
---|
| 135 | <code>init</code> call for it, you may use several alternative |
---|
| 136 | methods to modify some of the default values. The same variable |
---|
| 137 | can be changed several times. If so, it is the last read value |
---|
| 138 | that counts. The two special |
---|
| 139 | <code><?php $filepath = $_GET["filepath"]; |
---|
| 140 | echo "<a href='Tunes.php?filepath=".$filepath."' target='page'>";?>Tune:ee</a></code> and |
---|
| 141 | <code><?php $filepath = $_GET["filepath"]; |
---|
| 142 | echo "<a href='Tunes.php?filepath=".$filepath."' target='page'>";?>Tune:pp</a></code> |
---|
| 143 | modes are expanded to change several settings in one go, but these obey |
---|
| 144 | the same ordering rules. |
---|
| 145 | |
---|
| 146 | <p/> |
---|
| 147 | a) Inside your main program you can directly set values with |
---|
| 148 | <pre> |
---|
| 149 | pythia.readString(string) |
---|
| 150 | </pre> |
---|
| 151 | where both the variable name and the value are contained inside |
---|
| 152 | the character string, separated by blanks and/or a =, e.g. |
---|
| 153 | <pre> |
---|
| 154 | pythia.readString("TimeShower:pTmin = 1.0"); |
---|
| 155 | </pre> |
---|
| 156 | The match of the name to the database is case-insensitive. Names |
---|
| 157 | that do not match an existing variable are ignored. A warning is |
---|
| 158 | printed, however. Strings beginning with a non-alphanumeric character, |
---|
| 159 | like # or !, are assumed to be comments and are not processed at all. |
---|
| 160 | Values below the minimum or above the maximum are set at |
---|
| 161 | the respective border. For <code>bool</code> values, the following |
---|
| 162 | notation may be used interchangeably: |
---|
| 163 | <code>true = on = yes = ok = 1</code>, while everything else gives |
---|
| 164 | <code>false</code> (including but not limited to |
---|
| 165 | <code>false</code>, <code>off</code>, <code>no</code> and 0).<br/> |
---|
| 166 | |
---|
| 167 | <p/> |
---|
| 168 | b) The <code>Pythia</code> <code>readString(string)</code> method |
---|
| 169 | actually does not do changes itself, but sends on the string either |
---|
| 170 | to the <code>Settings</code> class or to <code>ParticleData</code>. |
---|
| 171 | The former holds if the string begins with a letter, the latter |
---|
| 172 | if it begins with a digit. If desired, it is possible to communicate |
---|
| 173 | directly with the corresponding <code>Settings</code> method: |
---|
| 174 | <pre> |
---|
| 175 | pythia.settings.readString("TimeShower:pTmin = 1.0"); |
---|
| 176 | </pre> |
---|
| 177 | In this case, changes intended for <code>ParticleData</code> |
---|
| 178 | would not be understood. |
---|
| 179 | |
---|
| 180 | <p/> |
---|
| 181 | c) Underlying the <code>settings.readString(string)</code> method are |
---|
| 182 | the settings-type-sensitive commands in the <code>Settings</code>, that |
---|
| 183 | are split by names containing <code>flag</code>, <code>mode</code>, |
---|
| 184 | <code>parm</code> or <code>word</code>. Thus, the example now reads |
---|
| 185 | <pre> |
---|
| 186 | pythia.settings.parm("TimeShower:pTmin", 1.0); |
---|
| 187 | </pre> |
---|
| 188 | Such a form could be convenient e.g. if a parameter is calculated |
---|
| 189 | at the beginning of the main program, and thus is available as a |
---|
| 190 | variable rather than as a character string. |
---|
| 191 | Note that Boolean values must here be given as <code>true</code> or |
---|
| 192 | <code>false</code> i.e. there is less flexibility than with the |
---|
| 193 | previous methods. |
---|
| 194 | |
---|
| 195 | <p/> |
---|
| 196 | At the same level, there are several different methods available. |
---|
| 197 | These are included in the full description below, but normally the user |
---|
| 198 | should have no need for them. |
---|
| 199 | |
---|
| 200 | <p/> |
---|
| 201 | d) A simpler and more useful way is to collect all your changes |
---|
| 202 | in a separate file, with one line per change, e.g. |
---|
| 203 | <pre> |
---|
| 204 | TimeShower:pTmin = 1.0 |
---|
| 205 | </pre> |
---|
| 206 | Each line is read in as a string and processed with the methods already |
---|
| 207 | introduced. |
---|
| 208 | |
---|
| 209 | The file can be read by the |
---|
| 210 | <pre> |
---|
| 211 | pythia.readFile(fileName); |
---|
| 212 | </pre> |
---|
| 213 | method (or an <code>istream</code> instead of a <code>fileName</code>). |
---|
| 214 | The file can freely mix commands to the <code>Settings</code> and |
---|
| 215 | <code>ParticleData</code> classes, and so is preferable. Lines with |
---|
| 216 | settings are handled by calls to the |
---|
| 217 | <code>pythia.settings.readString(string)</code> method. |
---|
| 218 | </li> |
---|
| 219 | |
---|
| 220 | <p/> <li> |
---|
| 221 | In the <code>pythia.init(...)</code> call, many of the various other program |
---|
| 222 | elements are initialized, making use of the current values in the database. |
---|
| 223 | Once initialized, the common <code>Settings</code> database is likely not |
---|
| 224 | consulted again by these routines. It is therefore not productive to do |
---|
| 225 | further changes in mid-run: at best nothing changes, at worst you may |
---|
| 226 | set up inconsistencies. |
---|
| 227 | |
---|
| 228 | <p/> |
---|
| 229 | A routine <code>reInit(fileName)</code> is provided, and can be used to |
---|
| 230 | zero all the maps and reinitialize them from scratch. Such a call might be |
---|
| 231 | useful if several subruns are to be made with widely different parameter |
---|
| 232 | sets - normally the maps are only built from scratch once, namely when the |
---|
| 233 | <code>Pythia()</code> object is created. A more economical alternative is |
---|
| 234 | offered by <code>resetAll()</code>, however, which sets all variables back |
---|
| 235 | to their default values. |
---|
| 236 | </li> |
---|
| 237 | |
---|
| 238 | <p/> <li> |
---|
| 239 | You may at any time obtain a listing of all variables in the |
---|
| 240 | database by calling |
---|
| 241 | <pre> |
---|
| 242 | pythia.settings.listAll(); |
---|
| 243 | </pre> |
---|
| 244 | The listing is strictly alphabetical, which at least means that names |
---|
| 245 | from the same file are kept together, but otherwise may not be so |
---|
| 246 | well-structured: important and unimportant ones will appear mixed. |
---|
| 247 | A more relevant alternative is |
---|
| 248 | <pre> |
---|
| 249 | pythia.settings.listChanged(); |
---|
| 250 | </pre> |
---|
| 251 | where you will only get those variables that differ from their |
---|
| 252 | defaults. Or you can use |
---|
| 253 | <pre> |
---|
| 254 | pythia.settings.list("string"); |
---|
| 255 | </pre> |
---|
| 256 | where only those variables with names that contain the string |
---|
| 257 | (case-insensitive match) are listed. Thus, with a string |
---|
| 258 | <code>shower</code>, the shower-related variables would be shown. |
---|
| 259 | </li> |
---|
| 260 | |
---|
| 261 | <p/> <li> |
---|
| 262 | The above listings are in a tabular form that cannot be read |
---|
| 263 | back in. Assuming you want to save all changed settings (maybe because |
---|
| 264 | you read in changes from several files), you can do that by calling |
---|
| 265 | <pre> |
---|
| 266 | pythia.settings.writeFile(fileName); |
---|
| 267 | </pre> |
---|
| 268 | This file could then directly be read in by |
---|
| 269 | <code>readFile(fileName)</code> in a subsequent (identical) run. |
---|
| 270 | Some variants of this command are listed below. |
---|
| 271 | </li> |
---|
| 272 | </ol> |
---|
| 273 | |
---|
| 274 | <h3>Methods</h3> |
---|
| 275 | |
---|
| 276 | The complete list of methods and arguments is as follows. Most of the |
---|
| 277 | ones of interest to the user have already been mentioned above. |
---|
| 278 | Others can be used, but the same functionality is better achieved |
---|
| 279 | by higher-level routines. Some are part of the internal machinery, |
---|
| 280 | and should not be touched by user. |
---|
| 281 | |
---|
| 282 | <p/> |
---|
| 283 | Note that there is no <code>Settings::readFile(...)</code> method. |
---|
| 284 | The intention is that you should use <code>Pythia::readFile(...)</code>. |
---|
| 285 | It parses and decides which individual lines should be sent on to |
---|
| 286 | <code>Settings::readString(...)</code>. |
---|
| 287 | |
---|
| 288 | <a name="method1"></a> |
---|
| 289 | <p/><strong>Settings::Settings() </strong> <br/> |
---|
| 290 | the constructor, which takes no arguments. Internal. |
---|
| 291 | |
---|
| 292 | |
---|
| 293 | <a name="method2"></a> |
---|
| 294 | <p/><strong>bool Settings::initPtr(Info* infoPtrIn) </strong> <br/> |
---|
| 295 | initialize pointer to error-message database. Internal. |
---|
| 296 | |
---|
| 297 | |
---|
| 298 | <a name="method3"></a> |
---|
| 299 | <p/><strong>bool Settings::init(string startFile = "../xmldoc/Index.xml", bool append = false, ostream& os = cout) </strong> <br/> |
---|
| 300 | read in the settings database. |
---|
| 301 | <br/><code>argument</code><strong> startFile </strong> (<code>default = <strong>"../xmldoc/Index.xml"</strong></code>) : |
---|
| 302 | read in the settings from all the files listed in this file, and |
---|
| 303 | assumed to be located in the same subdirectory. |
---|
| 304 | |
---|
| 305 | <br/><code>argument</code><strong> append </strong> (<code>default = <strong>false</strong></code>) : |
---|
| 306 | By default nothing is done if the method has already been called once. |
---|
| 307 | If true the further settings read in are added to the current database. |
---|
| 308 | |
---|
| 309 | <br/><code>argument</code><strong> os </strong> (<code>default = <strong>cout</strong></code>) : |
---|
| 310 | stream for error printout. |
---|
| 311 | |
---|
| 312 | <br/><b>Note:</b> The method returns false if it fails. |
---|
| 313 | |
---|
| 314 | |
---|
| 315 | <a name="method4"></a> |
---|
| 316 | <p/><strong>bool Settings::reInit(string startFile = "../xmldoc/Index.xml", ostream& os = cout) </strong> <br/> |
---|
| 317 | overwrite the existing database. |
---|
| 318 | <br/><code>argument</code><strong> startFile </strong> (<code>default = <strong>"../xmldoc/Index.xml"</strong></code>) : |
---|
| 319 | read in the settings from all the files listed in this file, and |
---|
| 320 | assumed to be located in the same subdirectory. |
---|
| 321 | |
---|
| 322 | <br/><code>argument</code><strong> os </strong> (<code>default = <strong>cout</strong></code>) : |
---|
| 323 | stream for error printout. |
---|
| 324 | |
---|
| 325 | <br/><b>Note:</b> The method returns false if it fails. |
---|
| 326 | |
---|
| 327 | |
---|
| 328 | <a name="method5"></a> |
---|
| 329 | <p/><strong>bool Settings::readString(string line, bool warn = true, ostream& os = cout) </strong> <br/> |
---|
| 330 | read in a string, and change the relevant quantity in the database. |
---|
| 331 | It is normally used indirectly, via |
---|
| 332 | <code>Pythia::readString(...)</code> and |
---|
| 333 | <code>Pythia::readFile(...)</code>. |
---|
| 334 | <br/><code>argument</code><strong> line </strong> : |
---|
| 335 | the string to be interpreted as an instruction. |
---|
| 336 | |
---|
| 337 | <br/><code>argument</code><strong> warn </strong> (<code>default = <strong>true</strong></code>) : |
---|
| 338 | write a warning message or not whenever the instruction does not make |
---|
| 339 | sense, e.g. if the variable does not exist in the databases. |
---|
| 340 | |
---|
| 341 | <br/><code>argument</code><strong> os </strong> (<code>default = <strong>cout</strong></code>) : |
---|
| 342 | stream for error printout. |
---|
| 343 | |
---|
| 344 | <br/><b>Note:</b> the method returns false if it fails to |
---|
| 345 | make sense out of the input string. |
---|
| 346 | |
---|
| 347 | |
---|
| 348 | <a name="method6"></a> |
---|
| 349 | <p/><strong>bool Settings::writeFile(string toFile, bool writeAll = false) </strong> <br/> |
---|
| 350 | |
---|
| 351 | <strong>bool Settings::writeFile(ostream& os = cout, bool writeAll = false) </strong> <br/> |
---|
| 352 | write current settings to a file or to an <code>ostream</code>. |
---|
| 353 | <br/><code>argument</code><strong> toFile, os </strong> : |
---|
| 354 | file or stream on which settings are written. |
---|
| 355 | |
---|
| 356 | <br/><code>argument</code><strong> writeAll </strong> (<code>default = <strong>false</strong></code>) : |
---|
| 357 | normally only settings that have been changed are written, |
---|
| 358 | but if true then all settings are output. |
---|
| 359 | |
---|
| 360 | <br/><b>Note:</b> the method returns false if it fails. |
---|
| 361 | |
---|
| 362 | |
---|
| 363 | <a name="method7"></a> |
---|
| 364 | <p/><strong>void Settings::listAll(ostream& os = cout) </strong> <br/> |
---|
| 365 | |
---|
| 366 | <strong>void Settings::listChanged(ostream& os = cout) </strong> <br/> |
---|
| 367 | |
---|
| 368 | <strong>void Settings::list(string match, ostream& os = cout) </strong> <br/> |
---|
| 369 | list all or changed settings, or a group of them. |
---|
| 370 | <br/><code>argument</code><strong> match </strong> : |
---|
| 371 | list all those settings where the name contains |
---|
| 372 | the <code>match</code> (sub)string (case-insensitive). |
---|
| 373 | |
---|
| 374 | <br/><code>argument</code><strong> os </strong> (<code>default = <strong>cout</strong></code>) : |
---|
| 375 | output stream for the listing. |
---|
| 376 | |
---|
| 377 | |
---|
| 378 | |
---|
| 379 | <a name="method8"></a> |
---|
| 380 | <p/><strong>void Settings::resetAll() </strong> <br/> |
---|
| 381 | reset all current values to their defaults. |
---|
| 382 | |
---|
| 383 | |
---|
| 384 | <a name="method9"></a> |
---|
| 385 | <p/><strong>bool Settings::isFlag(string key) </strong> <br/> |
---|
| 386 | |
---|
| 387 | <strong>bool Settings::isMode(string key) </strong> <br/> |
---|
| 388 | |
---|
| 389 | <strong>bool Settings::isParm(string key) </strong> <br/> |
---|
| 390 | |
---|
| 391 | <strong>bool Settings::isWord(string key) </strong> <br/> |
---|
| 392 | return true if an entry of the given name and kind |
---|
| 393 | exists, else false. |
---|
| 394 | |
---|
| 395 | |
---|
| 396 | <a name="method10"></a> |
---|
| 397 | <p/><strong>void Settings::addFlag(string key, bool default) </strong> <br/> |
---|
| 398 | |
---|
| 399 | <strong>void Settings::addMode(string key, int default, bool hasMin, bool hasMax, int min, int max) </strong> <br/> |
---|
| 400 | |
---|
| 401 | <strong>void Settings::addParm(string key, double default, bool hasMin, bool hasMax, double min, double max) </strong> <br/> |
---|
| 402 | |
---|
| 403 | <strong>void Settings::addWord(string key, string default) </strong> <br/> |
---|
| 404 | add an entry of the respective kind to the database. The name and default |
---|
| 405 | value always has to be supplied, for <code>Mode</code> and |
---|
| 406 | <code>Word</code> additionally if lower and/or upper limits are to be |
---|
| 407 | imposed and, if so, what those limit are. |
---|
| 408 | |
---|
| 409 | |
---|
| 410 | <a name="method11"></a> |
---|
| 411 | <p/><strong>bool Settings::flag(string key) </strong> <br/> |
---|
| 412 | |
---|
| 413 | <strong>int Settings::mode(string key) </strong> <br/> |
---|
| 414 | |
---|
| 415 | <strong>double Settings::parm(string key) </strong> <br/> |
---|
| 416 | |
---|
| 417 | <strong>string Settings::word(string key) </strong> <br/> |
---|
| 418 | return the current value of the respective setting. If the name |
---|
| 419 | does not exist in the database, a value <code>false</code>, |
---|
| 420 | <code>0</code>, <code>0.</code> and <code>" "</code> |
---|
| 421 | is returned, respectively. |
---|
| 422 | |
---|
| 423 | |
---|
| 424 | <a name="method12"></a> |
---|
| 425 | <p/><strong>map<string, Flag> Settings::getFlagMap(string match) </strong> <br/> |
---|
| 426 | |
---|
| 427 | <strong>map<string, Mode> Settings::getModeMap(string match) </strong> <br/> |
---|
| 428 | |
---|
| 429 | <strong>map<string, Parm> Settings::getParmMap(string match) </strong> <br/> |
---|
| 430 | |
---|
| 431 | <strong>map<string, Word> Settings::getWordMap(string match) </strong> <br/> |
---|
| 432 | return a map of all settings of the respective type that contain the |
---|
| 433 | string "match" in its name. |
---|
| 434 | |
---|
| 435 | |
---|
| 436 | <a name="method13"></a> |
---|
| 437 | <p/><strong>void Settings::flag(string key, bool now) </strong> <br/> |
---|
| 438 | |
---|
| 439 | <strong>void Settings::mode(string key, int now) </strong> <br/> |
---|
| 440 | |
---|
| 441 | <strong>void Settings::parm(string key, double now) </strong> <br/> |
---|
| 442 | |
---|
| 443 | <strong>void Settings::word(string key, string now) </strong> <br/> |
---|
| 444 | change the current value of the respective setting to the provided |
---|
| 445 | new value. If lower or upper limits have been set, input values |
---|
| 446 | outside the allowed range are reinterpreted as being a the nearest |
---|
| 447 | limit. |
---|
| 448 | |
---|
| 449 | |
---|
| 450 | <a name="method14"></a> |
---|
| 451 | <p/><strong>void Settings::forceMode(string key, int now) </strong> <br/> |
---|
| 452 | |
---|
| 453 | <strong>void Settings::forceParm(string key, double now) </strong> <br/> |
---|
| 454 | as above, but do not check lower and upper limits, so that the current |
---|
| 455 | value can be put outside the intended borders. |
---|
| 456 | |
---|
| 457 | |
---|
| 458 | <a name="method15"></a> |
---|
| 459 | <p/><strong>void Settings::resetFlag(string key) </strong> <br/> |
---|
| 460 | |
---|
| 461 | <strong>void Settings::resetMode(string key) </strong> <br/> |
---|
| 462 | |
---|
| 463 | <strong>void Settings::resetParm(string key) </strong> <br/> |
---|
| 464 | |
---|
| 465 | <strong>void Settings::resetWord(string key) </strong> <br/> |
---|
| 466 | reset the current value to the default one. |
---|
| 467 | |
---|
| 468 | |
---|
| 469 | </body> |
---|
| 470 | </html> |
---|
| 471 | |
---|
| 472 | <!-- Copyright (C) 2012 Torbjorn Sjostrand --> |
---|