class HParamObj: public TNamed

_HADES_CLASS_DESCRIPTION


  HParamObj

  Class for parameters stored in binary format in Oracle and used as list
  elements in HParamList::paramList.

  The overloaded constructors and fill-functions accept single values or arrays of type
    UChar_t, Int_t, UInt_t, Float_t, Double_t, char_t, Text_t.
  The arguments for arrays are
      the name of the parameter
      the pointer to the array
      the length of the array
  The data are automatically converted to an UChar_t array.
  For classes also the class version is stored, for ROOT classes also the TStreamerInfo.

  The input and output data format of UInt_t variables or arrays is HEX format
    with leadings zeros, for example 0x0000ffff.



  HParamList

  Class for the generic Oracle and ASCII interface for parameter containers
  derived from HParCond

  The class contains a list to stores objects of type HParamObj
  The list objects store the name, the value, the parameter type and some
  additional information depending for the object type.

  All add/addObject functions add an initialized parameter to the list for
  writing. The functions create a new list element and copy the data into
  this object.
  Add functions:
    1. accepted basic types: Int_t, UInt_t, Float_t, Double_t, UChar_t
    2. accepted ROOT arrays: TArrayI, TArrayF, TArrayD, TArrayC
    3. accepted string: Text_t*
       This can be any text, for example also numbers in hexadecimal or
       scientific format. The number of characters must be specified (default 1).
  AddObject function:
    Accepts classes derived from TObject.
    The persistent data elements are streamed into an UChar_t array using the
    class streamer. For ROOT classes, for example histograms, the ROOT streamer
    info is stored in an additional binary array.

  All fill/fillObject functions convert the data in the list element back
  to the type of the parameter and copy them into the data element in the
  initialization process.
    1. Single parameters of basic type:
       The functions return kFALSE, if the parameter is not in the list.
    2. Arrays:
      a) If the array size is specified (return code Bool_t), the functions return
         kFALSE, if the number of data elements in the list objects is not the same.
      b) If the array size is not specified (return code Int_t), the array is
         recreated with the size of the number of data elements in the list object.
         The functions return the number of data elements or 0, if the parameter
         was not found.
    3. Classes:
       The class version is checked and a warning printed, if it is not identical
       with the current version (typically class version of list object higher than
       version in the actual parameter container). The class streamer takes care
       for backward compatibility. A warning is printed, if the ROOT version is
       different from the current version.
       The function returns the number of bytes in the list object or 0, if the
       parameter was not found in the list.


Function Members (Methods)

public:
HParamObj(const Text_t* name = "")
HParamObj(HParamObj&)
HParamObj(const Text_t*, Int_t)
HParamObj(const Text_t*, UInt_t)
HParamObj(const Text_t*, Float_t)
HParamObj(const Text_t*, Double_t)
HParamObj(const Text_t*, const Text_t*)
HParamObj(const Text_t*, const Int_t*, const Int_t)
HParamObj(const Text_t*, const UInt_t*, const Int_t)
HParamObj(const Text_t*, const Float_t*, const Int_t)
HParamObj(const Text_t*, const Double_t*, const Int_t)
HParamObj(const Text_t*, const Char_t*, const Int_t)
HParamObj(const Text_t*, const UChar_t*, const Int_t)
virtual~HParamObj()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tgetBytesPerValue()
Int_tgetClassVersion()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tgetLength()
virtual const char*TNamed::GetName() const
Int_tgetNumParams()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const char*getParamType()
UChar_t*getParamValue()
UChar_t*getStreamerInfo()
Int_tgetStreamerInfoSize()
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tisBasicType()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
HParamObj&operator=(const HParamObj&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidprint()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetClassVersion(const Int_t v)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
UChar_t*setLength(Int_t l)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidsetParamType(const Text_t* t)
voidsetParamValue(UChar_t*, const Int_t)
voidsetStreamerInfo(UChar_t*, const Int_t)
UChar_t*setStreamerInfoSize(Int_t)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
voidprintHexData(UInt_t*, Int_t)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tarraySizeSize of binary array
Bool_tbasicTypekTRUE for C-types and C-type parameter arrays, kFALSE for classes
Int_tbytesPerValuenumber of bytes per value
Int_tclassVersionCode version of classes stored as binary
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
TStringparamTypeType of parameter value or class name
UChar_t*paramValuePointer to binary array
UChar_t*streamerInfoPointer to binary array container the streamer info
Int_tstreamerInfoSizeSize of streamer info array

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HParamObj(const Text_t* name)
 Default constructor with parameter type "UChar_t"
HParamObj(HParamObj& o)
 Copy constructor
HParamObj(const Text_t* name,Int_t value)
 Constructor for an Int_t value
HParamObj(const Text_t* name,UInt_t value)
 Constructor for an UInt_t value
HParamObj(const Text_t* name,Float_t value)
 Constructor for a Float_t value
HParamObj(const Text_t* name,Double_t value)
 Constructor for a Double_t value
HParamObj(const Text_t* name,const Int_t* value,const Int_t nValues)
 Constructor for an array with nValues elements of type Int_t
HParamObj(const Text_t* name,const UInt_t* value,const Int_t nValues)
 Constructor for an array with nValues elements of type UInt_t
HParamObj(const Text_t* name,const Float_t* value,const Int_t nValues)
 Constructor for an array with nValues elements of type Float_t
HParamObj(const Text_t* name,const Double_t* value,const Int_t nValues)
 Constructor for an array with nValues elements of type Double_t
HParamObj(const Text_t* name,const Text_t* value)
 Constructor for a string value
HParamObj(const Text_t* name,const Char_t* value,const Int_t nValues)
 Constructor for an array with nValues elements of type Char_t
HParamObj(const Text_t* name,const UChar_t* value,const Int_t nValues)
 Constructor for an array with nValues elements of type UChar_t
~HParamObj()
 Destructor
void setParamType(const Text_t* t)
 Sets the parameter type. Accepted type names are:
     UChar_t (default)
     Char_t
     Int_t
     Float_t
     Double_t
     Text_t
     class name
UChar_t* setLength(Int_t l)
 Sets the length of the binary array
void setParamValue(UChar_t* , const Int_t )
 Sets the parameter value (the array is not copied!)
UChar_t* setStreamerInfoSize(Int_t )
 Sets the length of the streamer info
void setStreamerInfo(UChar_t* , const Int_t )
 Sets the streamer info of ROOT classes (the array is not copied!)
Int_t getNumParams()
 Returns the number of values in the array, respectively 1 for classes and strings
void print()
 Prints the name and type of the parameters, respectively class name and version.
 Prints also the numbers for an array of type Int_t, Float_t, Double_t.
void printHexData(UInt_t* , Int_t )
 function to print data of type UInt_t in HEX format with leading zeros
void setClassVersion(const Int_t v)
{ classVersion=v; }
UChar_t* getParamValue()
{ return paramValue; }
Bool_t isBasicType()
{ return basicType; }
const char* getParamType()
{ return paramType.Data(); }
Int_t getBytesPerValue()
{ return bytesPerValue; }
Int_t getClassVersion()
{ return classVersion; }
Int_t getLength()
{ return arraySize; }
UChar_t* getStreamerInfo()
{ return streamerInfo; }
Int_t getStreamerInfoSize()
{ return streamerInfoSize; }

Last change: Sat May 22 13:06:32 2010
Last generated: 2010-05-22 13:06

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.