CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
hitfit::Defaults_Text Class Reference

A lightweight implementation of the Defaults interface that uses simple ASCII text files. More...

#include <Defaults_Text.h>

Inheritance diagram for hitfit::Defaults_Text:
hitfit::Defaults

Public Member Functions

 Defaults_Text (std::string def_file)
 Constructor, create a Default_Text object from an ASCII text file. Pass an empty string to skip reading a file. More...
 
 Defaults_Text (std::string def_file, int argc, char **argv)
 Constructor, create a Default_Text object from an ASCII text file and argument list. More...
 
bool exists (std::string name) const override
 
bool get_bool (std::string name) const override
 
double get_float (std::string name) const override
 
int get_int (std::string name) const override
 
std::string get_string (std::string name) const override
 
 ~Defaults_Text () override
 Destructor. More...
 
- Public Member Functions inherited from hitfit::Defaults
 Defaults ()
 
virtual ~Defaults ()
 

Private Attributes

Defaults_Textrep_rep
 

Friends

std::ostream & operator<< (std::ostream &s, const Defaults_Text &def)
 

Detailed Description

A lightweight implementation of the Defaults interface that uses simple ASCII text files.

Create instances of these objects passing in the name of a file. Each line of the file should contain a parameter setting like

name = value

Anything following a `;' or `#' is stried off; leading and trailing whitespaces on value are also removed. Blank lines are ignored.

User can also pass an argument list to the constructor. After the default ASCII input file is read, the argument list will be scanned, to possibly override some of the parameter settings. An argument of the form

–name=value

is equivalent to the parameter setting

name = value

while

–name

is equivalent to

name = 1

and

–noname

is equivalent to

name = 0.

Definition at line 121 of file Defaults_Text.h.

Constructor & Destructor Documentation

hitfit::Defaults_Text::Defaults_Text ( std::string  def_file)

Constructor, create a Default_Text object from an ASCII text file. Pass an empty string to skip reading a file.

Parameters
def_fileThe ASCII text file to read. Pass an empty string to skip reading a file.

Definition at line 337 of file Defaults_Text.cc.

347  : _rep (new Defaults_Textrep (def_file))
348 {
349 }
Defaults_Textrep * _rep
hitfit::Defaults_Text::Defaults_Text ( std::string  def_file,
int  argc,
char **  argv 
)

Constructor, create a Default_Text object from an ASCII text file and argument list.

Parameters
def_fileThe ASCII text file to read. Pass an empty string to skip reading a file.
argcThe length of the argument list.
argvThe argument list.

Definition at line 352 of file Defaults_Text.cc.

364  : _rep (new Defaults_Textrep (def_file, argc, argv))
365 {
366 }
Defaults_Textrep * _rep
hitfit::Defaults_Text::~Defaults_Text ( )
override

Destructor.

Definition at line 368 of file Defaults_Text.cc.

References _rep.

372 {
373  delete _rep;
374 }
Defaults_Textrep * _rep

Member Function Documentation

bool hitfit::Defaults_Text::exists ( std::string  name) const
overridevirtual

Test to see if parameter name exists.

Parameters
nameThe name of the parameter.
Return:
true if the parameter exists.
false if the parameter does not exist.

Implements hitfit::Defaults.

Definition at line 377 of file Defaults_Text.cc.

References hitfit::Defaults_Textrep::_map, _rep, dataset::name, AlCaHLTBitMon_QueryRunRegistry::string, and heppy_batch::val.

Referenced by hitfit::EtaDepResolution::Read().

387 {
389  return (_rep->_map.find(name) != _rep->_map.end());
390 
391 }
std::map< std::string, std::string > _map
Defaults_Textrep * _rep
bool hitfit::Defaults_Text::get_bool ( std::string  name) const
overridevirtual

Get the value of name as boolean.

Parameters
nameThe name of the parameter.
Return:
The value of the parameter a C/C++ bool.

Implements hitfit::Defaults.

Definition at line 424 of file Defaults_Text.cc.

References _rep, get_int(), hitfit::Defaults_Textrep::get_val(), dataset::name, and heppy_batch::val.

434 {
435  string val = _rep->get_val (name);
436  if (tolower (val[0]) == 't' || tolower (val[0]) == 'y')
437  return true;
438  else if (tolower (val[0]) == 'f' || tolower (val[0]) == 'n')
439  return false;
440  return !!get_int (name);
441 }
string get_val(string name) const
int get_int(std::string name) const override
Defaults_Textrep * _rep
double hitfit::Defaults_Text::get_float ( std::string  name) const
overridevirtual

Get the value of name as a floating-point of type double.

Parameters
nameThe name of the parameter.
Return:
The value of the parameter as a floating-point number (C/C++ double).

Implements hitfit::Defaults.

Definition at line 409 of file Defaults_Text.cc.

References _rep, hitfit::Defaults_Textrep::get_val(), and dataset::name.

Referenced by hitfit::EtaDepResolution::Read().

419 {
420  return atof (_rep->get_val (name).c_str());
421 }
string get_val(string name) const
Defaults_Textrep * _rep
int hitfit::Defaults_Text::get_int ( std::string  name) const
overridevirtual

Get the value of name as integer.

Parameters
nameThe name of the parameter.
Return:
The value of the parameter an integer (C/C++ int).

Implements hitfit::Defaults.

Definition at line 394 of file Defaults_Text.cc.

References _rep, hitfit::Defaults_Textrep::get_val(), and dataset::name.

Referenced by get_bool().

404 {
405  return atoi (_rep->get_val (name).c_str());
406 }
string get_val(string name) const
Defaults_Textrep * _rep
string hitfit::Defaults_Text::get_string ( std::string  name) const
overridevirtual

Get the value of name as a string.

Parameters
nameThe name of the parameter.
Return:
The value of the parameter as a string.

Implements hitfit::Defaults.

Definition at line 444 of file Defaults_Text.cc.

References _rep, hitfit::Defaults_Textrep::get_val(), and dataset::name.

Referenced by hitfit::METTranslatorBase< AMet >::METTranslatorBase(), and hitfit::EtaDepResolution::Read().

454 {
455  return _rep->get_val (name);
456 }
string get_val(string name) const
Defaults_Textrep * _rep

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const Defaults_Text def 
)
friend

Output stream operator. Print out all parameters' names and their values.

Parameters
sThe output stream to write.
defThe instance to print.
Return:
The output stream s

Definition at line 459 of file Defaults_Text.cc.

470 {
471 
472  for (std::map<std::string,std::string>::const_iterator it = def._rep->_map.begin() ;
473  it != def._rep->_map.end() ;
474  it++) {
475  s << "[" << it->first << "] = [" << it->second << "]\n";
476  }
477 
478  return s;
479 }
JetCorrectorParameters::Definitions def
Definition: classes.h:6

Member Data Documentation

Defaults_Textrep* hitfit::Defaults_Text::_rep
private

The internal representation.

Definition at line 217 of file Defaults_Text.h.

Referenced by exists(), get_bool(), get_float(), get_int(), get_string(), hitfit::operator<<(), and ~Defaults_Text().