12#ifndef ROOT_TParameter
13#define ROOT_TParameter
36template <
class AParamType>
82 if (mergemode ==
'*') {
84 }
else if (mergemode ==
'M') {
86 }
else if (mergemode ==
'm') {
88 }
else if (mergemode ==
'f') {
90 }
else if (mergemode ==
'l') {
100 if (
this == obj)
return 0;
107 std::cout <<
"OBJ: " << IsA()->GetName() <<
"\t" <<
fName <<
" = " <<
fVal << std::endl;
113 std::cout << IsA()->GetName() <<
"\t" <<
fName <<
" = " <<
fVal << std::endl;
121template <
class AParamType>
131 if (fVal !=
c->GetVal()) ResetBit(kIsConst);
135 }
else if (TestBit(kMax)) {
137 if (
c->GetVal() > fVal) fVal =
c->GetVal();
138 }
else if (TestBit(kMin)) {
140 if (
c->GetVal() < fVal) fVal =
c->GetVal();
141 }
else if (TestBit(kLast)) {
144 }
else if (!TestBit(kFirst)) {
167 if (fVal != (
Bool_t)
c->GetVal()) ResetBit(kIsConst);
171 }
else if (TestBit(kLast)) {
174 }
else if (!TestBit(kFirst) || TestBit(kMax)) {
#define ClassDef(name, id)
Buffer base class used for serializing objects.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Collection abstract base class.
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Named parameter, streamable and storable.
virtual Bool_t IsSortable() const
TParameter(const char *name, const AParamType &val, char mergemode)
virtual Int_t Merge(TCollection *in)
virtual void Print(Option_t *) const
This method must be overridden when a class wants to print itself.
void SetMergeMode(char mergemode='+')
virtual Int_t Compare(const TObject *obj) const
Compare abstract method.
void SetVal(const AParamType &val)
const AParamType & GetVal() const
const char * GetName() const
Returns name of object.
virtual void ls(Option_t *) const
The ls function lists the contents of a class on stdout.
TParameter(const char *name, const AParamType &val)
virtual ULong_t Hash() const
Return hash value for this object.
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2.
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.