CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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...
 
virtual bool exists (std::string name) const
 
virtual bool get_bool (std::string name) const
 
virtual double get_float (std::string name) const
 
virtual int get_int (std::string name) const
 
virtual std::string get_string (std::string name) const
 
 ~Defaults_Text ()
 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 122 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 338 of file Defaults_Text.cc.

348  : _rep (new Defaults_Textrep (def_file))
349 {
350 }
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 353 of file Defaults_Text.cc.

365  : _rep (new Defaults_Textrep (def_file, argc, argv))
366 {
367 }
tuple argc
Definition: dir2webdir.py:41
Defaults_Textrep * _rep
hitfit::Defaults_Text::~Defaults_Text ( )

Destructor.

Definition at line 369 of file Defaults_Text.cc.

References _rep.

373 {
374  delete _rep;
375 }
Defaults_Textrep * _rep

Member Function Documentation

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

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 378 of file Defaults_Text.cc.

References mergeVDriftHistosByStation::name.

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

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

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 425 of file Defaults_Text.cc.

References mergeVDriftHistosByStation::name.

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

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 410 of file Defaults_Text.cc.

References mergeVDriftHistosByStation::name.

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

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

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 395 of file Defaults_Text.cc.

References mergeVDriftHistosByStation::name.

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

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 445 of file Defaults_Text.cc.

References mergeVDriftHistosByStation::name.

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

455 {
456  return _rep->get_val (name);
457 }
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 460 of file Defaults_Text.cc.

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

Member Data Documentation

Defaults_Textrep* hitfit::Defaults_Text::_rep
private

The internal representation.

Definition at line 218 of file Defaults_Text.h.

Referenced by hitfit::operator<<(), and ~Defaults_Text().