11#include <TCollection.h>
14#include <TVirtualPad.h>
32 if (mergemode ==
'+') {
34 }
else if (mergemode ==
'=') {
36 }
else if (mergemode ==
'*') {
38 }
else if (mergemode ==
'f') {
40 }
else if (mergemode ==
'l') {
42 }
else if (mergemode ==
'M') {
44 }
else if (mergemode ==
'm') {
46 }
else if (mergemode ==
'a') {
49 Cout::PrintInfo(
"Wrong merge mode in Parameter", Hal::EInfo::kLowWarning);
54 TString name_first = this->GetName();
55 TString name_sec = obj->GetName();
56 if (name_first.EqualTo(name_sec)) {
60 Form(
"Warning in merging name %s differ than %s in class %s", this->GetName(), obj->GetName(), this->ClassName()),
61 Hal::EInfo::kLowWarning);
68 gPad->Range(0, 0, 1, 1);
69 TPaveText* pt =
new TPaveText(0, 0, 1, 1);
70 pt->AddText(ClassName());
71 pt->AddLine(0.0, 0.33, 1.0, 0.33);
72 pt->AddText(GetName());
73 pt->AddLine(0.0, 0.66, 1.0, 0.66);
78 Parameter::~Parameter() {}
80 ParameterDouble::ParameterDouble() : Parameter(), fValue(0.0) {}
82 ParameterDouble::ParameterDouble(TString name, Double_t value, Char_t merge_mode) :
Parameter(name, merge_mode) {
94 if (fValue != val_typed->
GetValue()) {
95 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
99 fValue = fValue * val_typed->
GetValue();
114 fValue = fValue * 0.5 + val_typed->
GetValue() * 0.5;
117 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
125 ParameterDouble::~ParameterDouble() {}
128 ParameterFloat::ParameterFloat() : Parameter(), fValue(0.0) {}
130 ParameterFloat::ParameterFloat(TString name, Float_t value, Char_t merge_mode) :
Parameter(name, merge_mode) { fValue = value; }
140 if (fValue != val_typed->
GetValue()) {
141 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
145 fValue = fValue * val_typed->
GetValue();
154 fValue = fValue * 0.5 + val_typed->
GetValue() * 0.5;
163 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
171 ParameterFloat::~ParameterFloat() {}
173 ParameterString::ParameterString() : Parameter() {}
175 ParameterString::ParameterString(TString name, TString value, Char_t merge_mode) :
Parameter(name, merge_mode) {
184 fValue = fValue + val_typed->
GetValue();
187 if (fValue.EqualTo(val_typed->
GetValue()) == kFALSE) {
188 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
192 Cout::PrintInfo(
"Multiply flag in ParameterString", Hal::EInfo::kLowWarning);
201 if (fValue.Length() < val_typed->
GetValue().Length()) { fValue = val_typed->
GetValue(); }
204 if (fValue.Length() > val_typed->
GetValue().Length()) { fValue = val_typed->
GetValue(); }
207 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
215 ParameterString::~ParameterString() {}
217 ParameterUInt::ParameterUInt() : Parameter(), fValue(0) {}
219 ParameterUInt::ParameterUInt(TString name, UInt_t value, Char_t merge_mode) :
Parameter(name, merge_mode) { fValue = value; }
229 if (fValue != val_typed->
GetValue()) {
230 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
234 fValue = fValue * val_typed->
GetValue();
249 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
256 return Hal::Std::RoundToString(fValue, 0,
"separators");
259 ParameterUInt::~ParameterUInt() {}
261 ParameterULong::ParameterULong() : Parameter(), fValue(0) {}
263 ParameterULong::ParameterULong(TString name, ULong_t value, Char_t merge_mode) :
Parameter(name, merge_mode) { fValue = value; }
273 if (fValue != val_typed->
GetValue()) {
274 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
278 fValue = fValue * val_typed->
GetValue();
287 fValue = fValue * 0.5 + val_typed->
GetValue() * 0.5;
296 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
303 return Hal::Std::RoundToString(fValue, 0,
"separators");
306 ParameterULong::~ParameterULong() {}
308 ParameterULong64::ParameterULong64() : Parameter(), fValue(0) {}
310 ParameterULong64::ParameterULong64(TString name, ULong64_t value, Char_t merge_mode) :
Parameter(name, merge_mode) {
322 if (fValue != val_typed->
GetValue()) {
323 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
327 fValue = fValue * val_typed->
GetValue();
330 fValue = fValue * 0.5 + val_typed->
GetValue() * 0.5;
345 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
352 {
return Hal::Std::RoundToString(fValue, 0,
"separators"); }
355 ParameterULong64::~ParameterULong64() {}
358 ParameterInt::ParameterInt() : Parameter(), fValue(0) {}
360 ParameterInt::ParameterInt(TString name, Int_t value, Char_t merge_mode) :
Parameter(name, merge_mode) { fValue = value; }
370 if (fValue != val_typed->
GetValue()) {
371 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
375 fValue = fValue * val_typed->
GetValue();
378 fValue = fValue * 0.5 + val_typed->
GetValue() * 0.5;
393 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
400 return Hal::Std::RoundToString(
GetValue(), 0,
"separators");
403 ParameterInt::~ParameterInt() {}
406 ParameterBool::ParameterBool() : Parameter(), fValue(kFALSE) {}
408 ParameterBool::ParameterBool(TString name, Bool_t value, Char_t merge_mode) :
Parameter(name, merge_mode) { fValue = value; }
418 if (fValue != val_typed->
GetValue()) {
419 Cout::PrintInfo(Form(
"Differ values during adding %s", this->GetName()), Hal::EInfo::kLowWarning);
423 fValue = fValue && val_typed->
GetValue();
435 Cout::PrintInfo(Form(
"Unknow merging flag druing merging %s", this->GetName()), Hal::EInfo::kError);
441 ParameterBool::~ParameterBool() {}
454 TIter iterator(collection);
455 while ((pack = (
Parameter*) iterator())) {
static void PrintInfo(TString text, Hal::EInfo status)
virtual void Add(const Object *pack)
void Add(const Object *val)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
Double_t GetValue() const
void Add(const Object *val)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
void Add(const Object *val)
void Add(const Object *val)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
void Add(const Object *val)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
void Add(const Object *val)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
ULong64_t GetValue() const
void Add(const Object *val)
virtual TString HTMLExtract(Int_t counter=0, TString dir=" ") const
TString HTMLExtract(Int_t counter=0, TString dir=" ") const
void Add(const Object *val)
Long64_t Merge(TCollection *collection)
EParameterMerge fMergeMode
virtual TString HTMLExtract(Int_t=0, TString=" ") const
void SetMergeMode(Char_t mergemode)
Bool_t CheckName(const TObject *object)