#ifndef HPARAMLIST_H
#define HPARAMLIST_H
#include "TNamed.h"
#include "TString.h"
#include "TArrayI.h"
#include "TArrayC.h"
#include "TArrayF.h"
#include "TArrayD.h"
#include "TList.h"
#include "TFile.h"
#include "TROOT.h"
class HParamObj : public TNamed {
protected:
UChar_t* paramValue;
Int_t arraySize;
TString paramType;
Bool_t basicType;
Int_t bytesPerValue;
Int_t classVersion;
UChar_t* streamerInfo;
Int_t streamerInfoSize;
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 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 Text_t*);
HParamObj(const Text_t*,const Char_t*,const Int_t);
HParamObj(const Text_t*,const UChar_t*,const Int_t);
~HParamObj();
void setParamType(const Text_t* t);
UChar_t* setLength(Int_t l);
void setParamValue(UChar_t*,const Int_t);
void setClassVersion(const Int_t v) { classVersion=v; }
UChar_t* setStreamerInfoSize(Int_t);
void setStreamerInfo(UChar_t*,const Int_t);
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; }
Int_t getNumParams();
UChar_t* getStreamerInfo() { return streamerInfo; }
Int_t getStreamerInfoSize() { return streamerInfoSize; }
void print();
protected:
template <class type> void printData(type*,Int_t);
void printHexData(UInt_t*,Int_t);
ClassDef(HParamObj,0)
};
class HParamList : public TObject {
protected:
TList* paramList;
class HParamTFile : public TFile {
public:
HParamTFile() {
Int_t lenIndex = gROOT->GetListOfStreamerInfo()->GetSize()+1;
if (lenIndex < 5000) lenIndex = 5000;
fClassIndex = new TArrayC(lenIndex);
}
~HParamTFile() {
delete fClassIndex;
fClassIndex=0;
}
};
public:
HParamList();
~HParamList();
void add(HParamObj&);
void add(const Text_t*,const Text_t*);
void add(const Text_t*,Int_t);
void add(const Text_t*,UInt_t);
void add(const Text_t*,Float_t);
void add(const Text_t*,Double_t);
void add(const Text_t*,TArrayI&);
void add(const Text_t*,TArrayC&);
void add(const Text_t*,TArrayF&);
void add(const Text_t*,TArrayD&);
void add(const Text_t*,const UChar_t*,const Int_t);
void add(const Text_t*,const Int_t*,const Int_t);
void add(const Text_t*,const UInt_t*,const Int_t);
void add(const Text_t*,const Float_t*,const Int_t);
void add(const Text_t*,const Double_t*,const Int_t);
void addObject(const Text_t*,TObject*);
Bool_t fill(const Text_t*,Text_t*,const Int_t);
Bool_t fill(const Text_t*,Int_t*,const Int_t nValues=1);
Bool_t fill(const Text_t*,UInt_t*,const Int_t nValues=1);
Bool_t fill(const Text_t*,Float_t*,const Int_t nValues=1);
Bool_t fill(const Text_t*,Double_t*,const Int_t nValues=1);
Bool_t fill(const Text_t*,UChar_t*,const Int_t nValues=1);
Bool_t fill(const Text_t*,TArrayI*);
Bool_t fill(const Text_t*,TArrayC*);
Bool_t fill(const Text_t*,TArrayF*);
Bool_t fill(const Text_t*,TArrayD*);
Bool_t fillObject(const Text_t*,TObject*);
Int_t replace(const Text_t*,UChar_t*);
Int_t replace(const Text_t*,Int_t*);
Int_t replace(const Text_t*,UInt_t*);
Int_t replace(const Text_t*,Float_t*);
Int_t replace(const Text_t*,Double_t*);
void print();
HParamObj* find(const Text_t* name) {
return (HParamObj*)paramList->FindObject(name);
}
TList* getList() { return paramList; }
ClassDef(HParamList,0)
};
#endif /* !HPARAMLIST_H */
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.