6#ifndef __GwollumOptions__
7#define __GwollumOptions__
43 GwollumOption(
const string aTag,
const string aKey,
const int aDefaultValue,
const unsigned int aSize=0);
53 GwollumOption(
const string aTag,
const string aKey,
const unsigned int aDefaultValue,
const unsigned int aSize=0);
63 GwollumOption(
const string aTag,
const string aKey,
const double aDefaultValue,
const unsigned int aSize=0);
73 GwollumOption(
const string aTag,
const string aKey,
const string aDefaultValue,
const unsigned int aSize=0);
124 inline bool GetValueI(
int &aValue,
const unsigned int aValIndex){
125 if(aValIndex<
ivec.size()){
126 aValue =
ivec[aValIndex];
139 if(aValIndex<
ivec.size())
return ivec[aValIndex];
162 inline void Add(
const int aValue){
164 ivec.push_back(aValue);
174 inline void Set(
const unsigned int aValIndex,
const int aValue){
176 if(aValIndex<
ivec.size()){
177 ivec[aValIndex] = aValue;
189 inline bool GetValueU(
unsigned int &aValue,
const unsigned int aValIndex){
190 if(aValIndex<
uvec.size()){
191 aValue =
uvec[aValIndex];
203 inline unsigned int GetValueU(
const unsigned int aValIndex=0){
204 if(aValIndex<
uvec.size())
return uvec[aValIndex];
227 inline void Add(
const unsigned int aValue){
229 uvec.push_back(aValue);
239 inline void Set(
const unsigned int aValIndex,
const unsigned int aValue){
241 if(aValIndex<
uvec.size()){
242 uvec[aValIndex] = aValue;
254 inline bool GetValueD(
double &aValue,
const unsigned int aValIndex){
255 if(aValIndex<
dvec.size()){
256 aValue =
dvec[aValIndex];
268 inline double GetValueD(
const unsigned int aValIndex=0){
269 if(aValIndex<
dvec.size())
return dvec[aValIndex];
292 inline void Add(
const double aValue){
294 dvec.push_back(aValue);
304 inline void Set(
const unsigned int aValIndex,
const double aValue){
306 if(aValIndex<
dvec.size()){
307 dvec[aValIndex] = aValue;
319 inline bool GetValueS(
string &aValue,
const unsigned int aValIndex){
320 if(aValIndex<
svec.size()){
321 aValue =
svec[aValIndex];
333 inline string GetValueS(
const unsigned int aValIndex=0){
334 if(aValIndex<
svec.size())
return svec[aValIndex];
357 inline void Add(
const string aValue){
359 svec.push_back(aValue);
369 inline void Set(
const unsigned int aValIndex,
const string aValue){
371 if(aValIndex<
svec.size()){
372 svec[aValIndex] = aValue;
476 for(
unsigned int o=0; o<
options.size(); o++)
477 if((!
options[o].GetTag().compare(aTag))&&(!
options[o].GetKey().compare(aKey)))
return o;
487 void ResetOption(
const string aTag,
const string aKey);
495 void RemoveOption(
const string aTag,
const string aKey);
517 void Add(
const string aTag,
const string aKey,
const int aDefaultValue,
const unsigned int aSize=0);
527 void SetOptionValue(
const string aTag,
const string aKey,
const unsigned int aValIndex,
const int aValue);
535 void AddOptionValue(
const string aTag,
const string aKey,
const int aValue);
544 void Add(
const string aTag,
const string aKey,
const unsigned int aDefaultValue,
const unsigned int aSize=0);
554 void SetOptionValue(
const string aTag,
const string aKey,
const unsigned int aValIndex,
const unsigned int aValue);
562 void AddOptionValue(
const string aTag,
const string aKey,
const unsigned int aValue);
571 void Add(
const string aTag,
const string aKey,
const double aDefaultValue,
const unsigned int aSize=0);
581 void SetOptionValue(
const string aTag,
const string aKey,
const unsigned int aValIndex,
const double aValue);
589 void AddOptionValue(
const string aTag,
const string aKey,
const double aValue);
598 void Add(
const string aTag,
const string aKey,
const string aDefaultValue,
const unsigned int aSize=0);
608 void SetOptionValue(
const string aTag,
const string aKey,
const unsigned int aValIndex,
const string aValue);
616 void AddOptionValue(
const string aTag,
const string aKey,
const string aValue);
625 bool IsProvided(
const string aTag,
const string aKey);
633 inline bool Is(
const string aTag,
const string aKey){
644 void SetDefault(
const string aTag,
const string aKey);
652 if(aOptionIndex>=
options.size())
return "";
653 return options[aOptionIndex].GetTag();
662 if(aOptionIndex>=
options.size())
return '0';
663 return options[aOptionIndex].GetType();
672 return options[aOptionIndex].GetDefaultI();
681 return options[aOptionIndex].GetDefaultU();
690 return options[aOptionIndex].GetDefaultD();
699 return options[aOptionIndex].GetDefaultS();
708 if(aOptionIndex>=
options.size())
return "";
709 return options[aOptionIndex].GetKey();
718 return options[aOptionIndex].GetSize();
735 unsigned int GetOptionSize(
const string aTag,
const string aKey);
754 bool GetOptionValueI(
int &aValue,
const string aTag,
const string aKey,
const unsigned int aValIndex);
764 int GetOptionValueI(
const string aTag,
const string aKey,
const unsigned int aValIndex);
784 bool GetOptionValueU(
unsigned int &aValue,
const string aTag,
const string aKey,
const unsigned int aValIndex);
794 unsigned int GetOptionValueU(
const string aTag,
const string aKey,
const unsigned int aValIndex);
803 vector<unsigned int>
GetOptionValuesU(
const string aTag,
const string aKey);
814 bool GetOptionValueD(
double &aValue,
const string aTag,
const string aKey,
const unsigned int aValIndex);
824 double GetOptionValueD(
const string aTag,
const string aKey,
const unsigned int aValIndex);
844 bool GetOptionValueS(
string &aValue,
const string aTag,
const string aKey,
const unsigned int aValIndex);
854 string GetOptionValueS(
const string aTag,
const string aKey,
const unsigned int aValIndex);
888 void WriteH5(H5::H5File* aFile, H5::DataSpace &aDataSpace);
896 bool ReadTree(
const string aRootFileName,
const string aTreeName);
911 bool ReadChain(
bool &aIsUniform, TChain *aChain);
928 void WriteTree(
const string aTreeName,
const string aRootFileName,
const string aSubDirectory=
"");
Single option.
Definition GwollumOptions.h:27
double ddef
Option double default value.
Definition GwollumOptions.h:410
void Set(const unsigned int aValIndex, const double aValue)
Updates an option value (double).
Definition GwollumOptions.h:304
unsigned int GetDefaultU(void)
Returns the option default value (unsigned int).
Definition GwollumOptions.h:219
void Add(const double aValue)
Adds the option value (double).
Definition GwollumOptions.h:292
void Add(const unsigned int aValue)
Adds the option value (unsigned int).
Definition GwollumOptions.h:227
vector< double > GetValuesD(void)
Returns the list of option values (double).
Definition GwollumOptions.h:277
void Add(const string aValue)
Adds the option value (string).
Definition GwollumOptions.h:357
double GetValueD(const unsigned int aValIndex=0)
Returns the option value (double).
Definition GwollumOptions.h:268
vector< int > GetValuesI(void)
Returns the list of option values (int).
Definition GwollumOptions.h:147
bool GetValueS(string &aValue, const unsigned int aValIndex)
Returns the option value (string).
Definition GwollumOptions.h:319
bool GetValueU(unsigned int &aValue, const unsigned int aValIndex)
Returns the option value (unsigned int).
Definition GwollumOptions.h:189
string GetTag(void)
Returns the option tag.
Definition GwollumOptions.h:94
bool provided
Set to true if the option was explicitly given.
Definition GwollumOptions.h:403
void Set(const unsigned int aValIndex, const unsigned int aValue)
Updates an option value (unsigned int).
Definition GwollumOptions.h:239
string GetDefaultS(void)
Returns the option default value (string).
Definition GwollumOptions.h:349
GwollumOption(const string aTag, const string aKey, const int aDefaultValue, const unsigned int aSize=0)
Constructor of the GwollumOption class (int).
int GetValueI(const unsigned int aValIndex=0)
Returns the option value (int).
Definition GwollumOptions.h:138
string tag
Option tag.
Definition GwollumOptions.h:404
double GetDefaultD(void)
Returns the option default value (double).
Definition GwollumOptions.h:284
string GetKey(void)
Returns the option key.
Definition GwollumOptions.h:99
string GetOptionName(const unsigned int aValIndex)
Returns a codified option name.
Definition GwollumOptions.cc:88
vector< string > svec
Option string vector.
Definition GwollumOptions.h:415
unsigned int GetNumberOfValues(void)
Returns the number of values.
Definition GwollumOptions.h:115
char GetType(void)
Returns the option type.
Definition GwollumOptions.h:104
virtual ~GwollumOption(void)
Destructor of the GwollumOption class.
Definition GwollumOptions.cc:79
unsigned int GetValueU(const unsigned int aValIndex=0)
Returns the option value (unsigned int).
Definition GwollumOptions.h:203
vector< double > dvec
Option double vector.
Definition GwollumOptions.h:414
vector< string > GetValuesS(void)
Returns the list of option values (string).
Definition GwollumOptions.h:342
unsigned int udef
Option unsigned integer default value.
Definition GwollumOptions.h:409
int idef
Option integer default value.
Definition GwollumOptions.h:408
vector< unsigned int > GetValuesU(void)
Returns the list of option values (unsigned int).
Definition GwollumOptions.h:212
char valtype
Option value type.
Definition GwollumOptions.h:406
vector< int > ivec
Option integer vector.
Definition GwollumOptions.h:412
bool GetValueI(int &aValue, const unsigned int aValIndex)
Returns the option value (int).
Definition GwollumOptions.h:124
unsigned int osize
Option size (number of fixed values).
Definition GwollumOptions.h:407
void Set(const unsigned int aValIndex, const string aValue)
Updates an option value (string).
Definition GwollumOptions.h:369
vector< unsigned int > uvec
Option unsigned integer vector.
Definition GwollumOptions.h:413
int GetDefaultI(void)
Returns the option default value (int).
Definition GwollumOptions.h:154
void Add(const int aValue)
Adds an option value (int).
Definition GwollumOptions.h:162
bool GetValueD(double &aValue, const unsigned int aValIndex)
Returns the option value (double).
Definition GwollumOptions.h:254
unsigned int GetSize(void)
Returns the option size.
Definition GwollumOptions.h:110
string key
Option key.
Definition GwollumOptions.h:405
void SetDefault(void)
Set option to default values.
Definition GwollumOptions.cc:113
string sdef
Option string default value.
Definition GwollumOptions.h:411
string GetValueS(const unsigned int aValIndex=0)
Returns the option value (string).
Definition GwollumOptions.h:333
void Set(const unsigned int aValIndex, const int aValue)
Updates an option value (int).
Definition GwollumOptions.h:174
void Reset(void)
Resets the option.
Definition GwollumOptions.cc:98
bool IsProvided(void)
Tests whether an option value was provided.
Definition GwollumOptions.h:89
Interface to manage options.
Definition GwollumOptions.h:434
string t_key
Option TTree: key.
Definition GwollumOptions.h:950
void ResetOption(const string aTag, const string aKey)
Resets the list of option values.
Definition GwollumOptions.cc:185
unsigned int t_size
Option TTree: size.
Definition GwollumOptions.h:952
void FillTree(void)
Saves options in a TTree.
Definition GwollumOptions.cc:821
string GetOptionTag(const unsigned int aOptionIndex)
Returns an option tag.
Definition GwollumOptions.h:651
void Copy(GwollumOptions *aG)
Copies an external GwollumOptions object into this.
Definition GwollumOptions.cc:177
int GetOptionDefaultI(const unsigned int aOptionIndex)
Returns an option default value.
Definition GwollumOptions.h:671
void RemoveOption(const string aTag, const string aKey)
Removes an option.
Definition GwollumOptions.cc:194
double t_dval
Option TTree: value (double).
Definition GwollumOptions.h:959
unsigned int GetOptionNumberOfValues(const string aTag, const string aKey)
Returns the option number of values.
Definition GwollumOptions.cc:360
vector< int > GetOptionValuesI(const string aTag, const string aKey)
Returns the list of option values (int).
Definition GwollumOptions.cc:384
Monitor * mon
Class monitor.
Definition GwollumOptions.h:946
string GetOptionKey(const unsigned int aOptionIndex)
Returns an option key.
Definition GwollumOptions.h:707
int t_ival
Option TTree: value (int).
Definition GwollumOptions.h:957
void WriteH5(H5::H5File *aFile, H5::DataSpace &aDataSpace)
Writes the options as attributes in a hdf5 file.
Definition GwollumOptions.cc:586
bool Is(const string aTag, const string aKey)
Checks whether an option exists.
Definition GwollumOptions.h:633
void WriteTree(const string aTreeName, const string aRootFileName, const string aSubDirectory="")
Writes the option TTree in a TFile.
Definition GwollumOptions.cc:851
TTree * OptTree
Option TTree.
Definition GwollumOptions.h:948
unsigned int t_uval
Option TTree: value (unsigned int).
Definition GwollumOptions.h:958
bool GetOptionValueU(unsigned int &aValue, const string aTag, const string aKey, const unsigned int aValIndex)
Returns an option value (unsigned int).
Definition GwollumOptions.cc:393
string t_sdef
Option TTree: default (string).
Definition GwollumOptions.h:956
bool GetOptionValueS(string &aValue, const string aTag, const string aKey, const unsigned int aValIndex)
Returns an option value (string).
Definition GwollumOptions.cc:443
void Add(const string aTag, const string aKey, const int aDefaultValue, const unsigned int aSize=0)
Adds an option to the list (int).
Definition GwollumOptions.cc:231
void SetOptionValue(const string aTag, const string aKey, const unsigned int aValIndex, const int aValue)
Sets a value of an option (int).
Definition GwollumOptions.cc:237
bool IsTheSame(GwollumOptions *aG)
Checks whether two GwollumOptions objects are identical.
Definition GwollumOptions.cc:203
unsigned int GetOptionSize(const unsigned int aOptionIndex)
Returns an option size.
Definition GwollumOptions.h:717
unsigned int t_udef
Option TTree: default (unsigned int).
Definition GwollumOptions.h:954
void SetDefault(const string aTag, const string aKey)
Sets an option to default value.
Definition GwollumOptions.cc:335
bool GetOptionValueI(int &aValue, const string aTag, const string aKey, const unsigned int aValIndex)
Returns an option value (int).
Definition GwollumOptions.cc:368
vector< GwollumOption > options
List of options.
Definition GwollumOptions.h:947
unsigned int GetOptionsN(void)
Returns the number of options.
Definition GwollumOptions.h:941
double t_ddef
Option TTree: default (double).
Definition GwollumOptions.h:955
char GetOptionType(const unsigned int aOptionIndex)
Returns an option type.
Definition GwollumOptions.h:661
unsigned int ReadTextFile(const string aOptionFile)
Reads an option file and extract the list of options.
Definition GwollumOptions.cc:468
char t_type
Option TTree: type.
Definition GwollumOptions.h:951
bool GetOptionValueD(double &aValue, const string aTag, const string aKey, const unsigned int aValIndex)
Returns an option value (double).
Definition GwollumOptions.cc:418
vector< double > GetOptionValuesD(const string aTag, const string aKey)
Returns the list of option values (double).
Definition GwollumOptions.cc:434
void Reset(void)
Resets the list of options.
Definition GwollumOptions.h:467
unsigned int GetOptionIndex(const string aTag, const string aKey)
Returns the option index.
Definition GwollumOptions.h:475
string t_tag
Option TTree: tag.
Definition GwollumOptions.h:949
vector< string > GetOptionValuesS(const string aTag, const string aKey)
Returns the list of option values (string).
Definition GwollumOptions.cc:459
string GetOptionDefaultS(const unsigned int aOptionIndex)
Returns an option default value.
Definition GwollumOptions.h:698
unsigned int GetOptionDefaultU(const unsigned int aOptionIndex)
Returns an option default value.
Definition GwollumOptions.h:680
GwollumOptions(void)
Constructor of the GwollumOptions class.
Definition GwollumOptions.cc:146
string t_sval
Option TTree: value (string).
Definition GwollumOptions.h:960
bool IsProvided(const string aTag, const string aKey)
Checks whether an option was provided.
Definition GwollumOptions.cc:327
bool ReadTree(const string aRootFileName, const string aTreeName)
Reads options from a TTree in a ROOT file.
Definition GwollumOptions.cc:628
void AddOptionValue(const string aTag, const string aKey, const int aValue)
Appends a value to a variable-size option (int).
Definition GwollumOptions.cc:246
int t_idef
Option TTree: default (int).
Definition GwollumOptions.h:953
double GetOptionDefaultD(const unsigned int aOptionIndex)
Returns an option default value.
Definition GwollumOptions.h:689
void WriteTree(const string aTreeName)
Writes the option TTree in a TFile.
Definition GwollumOptions.h:936
void WriteTextFile(const string aFileName)
Writes all options in a text file.
Definition GwollumOptions.cc:534
virtual ~GwollumOptions(void)
Destructor of the GwollumOptions class.
Definition GwollumOptions.cc:169
bool ReadChain(bool &aIsUniform, TChain *aChain)
Reads options from a TChain.
Definition GwollumOptions.cc:784
vector< unsigned int > GetOptionValuesU(const string aTag, const string aKey)
Returns the list of option values (unsigned int).
Definition GwollumOptions.cc:409
Monitor a GWOLLUM processing.
Definition Monitor.h:39