#ifndef HADASCII_H
#define HADASCII_H
#include "TObject.h"
#include "TArrayI.h"
#include "TArrayF.h"
#include "TArrayC.h"
#include "TError.h"
#include <fstream>
namespace HadAsciiAuxiliaryFunctions {
void ErrorMsg(Int_t status, const Char_t* name, Int_t arg, ...);
Char_t* strtrunc(Char_t* nameout, const Char_t* namein, Char_t x = ' ');
Char_t* strreplace(Char_t* nameout, const Char_t* namein, Char_t x);
Bool_t strempty(const Char_t* namein, Char_t x = ' ');
Int_t strnextchar(const Char_t* namein, Int_t pos = 0, Char_t x = ' ');
Int_t strfirstchar(const Char_t* namein, Int_t startpos);
Char_t strfirstchar(const Char_t* namein, Char_t x = ' ');
Char_t strlastchar(const Char_t* namein, Char_t x = ' ');
Char_t* strafter(Char_t* nameout, const Char_t* namein, Char_t x = ' ');
Char_t* strbefore(Char_t* nameout, const Char_t* namein, Char_t x = ' ');
void strskipwhite(Char_t* nameout, Char_t* namein, Char_t x);
Int_t strunit(Char_t* nameout, Char_t* namein, Int_t startpos);
Char_t* strunit(Char_t* nameout, Char_t* namein);
Char_t* strunit(Char_t* nameout, Char_t* namein, Char_t x);
Int_t strlength(const Char_t* namein);
Char_t* strcopy(Char_t* nameout, const Char_t* namein);
Char_t* strtolower(Char_t* nameout, const Char_t* namein);
Int_t strcompare(const Char_t* nameout, const Char_t* namein);
Char_t* strconcat(Char_t* nameout, const Char_t* namein);
Char_t* strnconcat(Char_t* nameout, const Char_t* namein, Int_t begin, Int_t end);
}
class HAsciiSectionRaw : public TObject {
public:
HAsciiSectionRaw();
virtual ~HAsciiSectionRaw();
HAsciiSectionRaw(const HAsciiSectionRaw& source);
HAsciiSectionRaw& operator=(const HAsciiSectionRaw& source);
void Reset();
Int_t fKeys;
Int_t *fpKeyTypeId;
Char_t **fpKeyNames;
Int_t fElements;
Char_t **fpDataString;
Int_t **fpDataInt;
Float_t **fpDataFloat;
Char_t **fpDataChar;
Char_t ***fpDataStr;
Char_t *fpTempString;
friend std::ostream& operator<< (std::ostream& stream, HAsciiSectionRaw& section) {
stream << "Number of keywords (columns): " << section.fKeys << std::endl;
if (section.fKeys > 0) {
stream << "Keywords parameters: \n";
for (Int_t i = 0; i < section.fKeys; i++) {
stream << "name: " << section.fpKeyNames[i] << " type: ";
switch (section.fpKeyTypeId[i]) {
case -1: stream << "not specified \n";
break;
case 0: stream << "Int_t \n";
break;
case 1: stream << "Float_t \n";
break;
case 2: stream << "Char_t \n";
break;
case 3: stream << "string (Char_t*) \n";
break;
}
}
stream << "Size (nr of elements in column): " << section.fElements << std::endl;
}
return stream;
}
ClassDef(HAsciiSectionRaw,0)
};
class HAsciiSection : public TObject {
private:
Short_t fSectionState;
Char_t fSectionName[128];
Long_t fSectionBegin;
Long_t fSectionEnd;
Char_t *fpSectionComment;
public:
HAsciiSection();
virtual ~HAsciiSection();
HAsciiSection(const HAsciiSection& source);
HAsciiSection& operator=(const HAsciiSection& source);
HAsciiSectionRaw* fpRawData;
Short_t GetSectionState();
Char_t* GetSectionName();
Long_t GetSectionBegin();
Long_t GetSectionEnd();
Char_t* GetSectionComment();
HAsciiSectionRaw* GetSectionRaw();
void SetSectionState(Short_t val);
void SetSectionName(const Char_t* name);
void SetSectionBegin(Long_t val);
void SetSectionEnd(Long_t val);
void SetSectionComment(const Char_t* name);
void Reset();
friend std::ostream& operator<< (std::ostream& stream, HAsciiSection& section) {
stream << "Section: [" << section.GetSectionName() << "] State: ";
if (section.GetSectionState()) stream << " active.\n";
else stream << " not active.\n";
stream << "Begin: " << section.GetSectionBegin() <<
" End: " << section.GetSectionEnd() << std::endl;
stream << "Raw data: ";
if (section.GetSectionRaw()) {
stream << " present.\n";
stream << section.GetSectionRaw() << std::endl;
}
else stream << " not present.\n";
return stream;
}
ClassDef(HAsciiSection,0)
};
class HAsciiSectionList : public TObject {
public:
struct SectionNode {
HAsciiSection fSection;
SectionNode *fpNextNode;
SectionNode() : fSection(), fpNextNode(NULL) {}
virtual ~SectionNode() {}
};
private:
Int_t fLock;
SectionNode **fpTemp;
SectionNode **fpOpenNode;
SectionNode *fpFirstNode;
SectionNode *fpLastNode;
SectionNode *fpThisNode;
SectionNode* PreviousNode(SectionNode* refnode) {
SectionNode *node;
for(node = fpFirstNode; node->fpNextNode != refnode; node = node->fpNextNode);
return node;
}
void InsertFirstNode(SectionNode* newnode);
void InsertNode(SectionNode* newnode);
void InsertLastNode(SectionNode* newnode);
void RemoveFirstNode();
void RemoveNode();
void RemoveLastNode();
public:
HAsciiSectionList();
HAsciiSectionList(SectionNode* init);
virtual ~HAsciiSectionList();
HAsciiSectionList(const HAsciiSectionList& source);
HAsciiSectionList& operator=(const HAsciiSectionList& source);
void InsertSection();
void RemoveSection();
HAsciiSection* ThisNodeSection();
HAsciiSection* ToNodeSection(const Char_t* name = NULL);
SectionNode* ThisNode() { return fpThisNode; }
Int_t NodeNumber();
void ToFirstNode();
void ToLastNode();
void AfterLastNode();
SectionNode* ToNextNode() {
if (fpThisNode) return (fpThisNode = fpThisNode->fpNextNode);
else return fpThisNode;
}
void ToNode(Int_t n);
void StoreThisNode();
void RestoreThisNode();
void Reset();
friend std::ostream& operator<< (std::ostream& stream, HAsciiSectionList& list) {
HAsciiSectionList::SectionNode *node = list.fpFirstNode;
stream << "Section list (nodes):\n";
for (Int_t i = 0; node; i++, node = node->fpNextNode) {
stream << i << ". " << node->fSection;
}
stream << std::endl;
return stream;
}
ClassDef(HAsciiSectionList,0)
};
class HAsciiFile : public TObject {
private:
Short_t fFileReadState;
Short_t fFileMode;
Short_t fFileChange;
Char_t fFileName[128];
Long_t fFileSize;
Long_t fPosNow;
Long_t fPosition;
Char_t* ReadSectionComment(Int_t begin, Int_t end);
public:
std::fstream fStreamFileRead;
HAsciiSectionList fSectionList;
HAsciiFile();
virtual ~HAsciiFile() {}
HAsciiFile(const HAsciiFile& source);
HAsciiFile& operator=(const HAsciiFile& source);
Bool_t OpenFile(const Char_t* filename);
Bool_t CloseFile();
void InitSectionList();
Short_t GetFileState();
Short_t GetFileMode();
Short_t GetFileChange();
Char_t* GetFileName();
Long_t GetFileSize();
Long_t GetPosNow();
Long_t GetPosition();
void SetFileState(Short_t val);
void SetFileMode(Short_t val);
void SetFileChange(Short_t val);
void SetFileName(const Char_t* nam);
void SetFileSize();
void SetPosNow(Long_t val);
void SetPosition(Long_t val);
void Reset();
friend std::ostream& operator<< (std::ostream& stream, HAsciiFile& file) {
stream << "File: " << file.GetFileName() <<
" Size: " << file.GetFileSize() << std::endl;
return stream;
}
ClassDef(HAsciiFile,0)
};
class HAsciiFileList : public TObject {
private:
struct FileNode {
HAsciiFile file;
FileNode *fpNextNode;
FileNode() : fpNextNode(NULL) {}
~FileNode() {}
};
Int_t fLock;
FileNode **fpTemp;
FileNode **fpOpenNode;
FileNode *fpFirstNode;
FileNode *fpLastNode;
FileNode *fpThisNode;
FileNode* PreviousNode(FileNode* refnode) {
FileNode *node;
for(node = fpFirstNode; node->fpNextNode != refnode; node = node->fpNextNode);
return node;
}
void InsertFirstNode(FileNode* newnode);
void InsertNode(FileNode* newnode);
void InsertLastNode(FileNode* newnode);
void RemoveFirstNode();
void RemoveNode();
void RemoveLastNode();
public:
HAsciiFileList();
virtual ~HAsciiFileList();
HAsciiFileList(const HAsciiFileList& source);
HAsciiFileList& operator=(const HAsciiFileList& source);
void InsertFile();
void RemoveFile();
HAsciiFile* ThisNodeFile();
HAsciiFile* ToNodeFile(const Char_t* name = NULL);
FileNode* ThisNode() { return fpThisNode; }
Int_t NodeNumber();
void ToFirstNode();
void ToLastNode();
void AfterLastNode();
FileNode* ToNextNode() {
if (fpThisNode) return (fpThisNode = fpThisNode->fpNextNode);
else return fpThisNode;
}
void ToNode(Int_t n);
void StoreThisNode();
void RestoreThisNode();
friend std::ostream& operator<< (std::ostream& stream, HAsciiFileList& list) {
HAsciiFileList::FileNode *node = list.fpFirstNode;
stream << "File list (nodes):\n";
for (Int_t i = 0; node; i++, node = node->fpNextNode) {
stream << i << ". " << node->file;
}
stream << std::endl;
return stream;
}
ClassDef(HAsciiFileList,0)
};
class HAscii : public TObject {
private:
Long_t fReadAllPosition;
protected:
HAsciiFileList fFileList;
Char_t fSeparator;
Char_t fKeyLine[128];
Int_t fDataLineLength;
Char_t *fpDataLine;
Char_t *fpCommentLine;
Char_t *fpRemarkLine;
Int_t fDataCounter;
Int_t fDataBank;
Int_t *fpDataInt;
Float_t *fpDataFloat;
Char_t *fpDataChar;
Char_t *fpDataString;
Char_t* CorrectName(Char_t* name);
Char_t* CheckFileList(HAsciiFileList& list, Char_t* name);
Bool_t CheckSection();
Bool_t CheckData();
Bool_t CheckDataType(Char_t typ);
Bool_t CheckDataPosition(Int_t pos);
Bool_t CheckUnambiguitySection();
Char_t* ReadKeywordLine(const Char_t* name = NULL);
Int_t* ConvertToInt();
Float_t* ConvertToFloat();
Char_t* ConvertToChar();
Char_t* ConvertToString();
HAsciiSection* CheckActiveSection();
void ResetKeyData();
void ResetBankData();
HAsciiSection* fpActiveSection;
HAsciiFile* fpActiveFile;
Int_t fFileWriteState;
Char_t fFileWriteName[128];
Int_t fNumInLine;
void CloseOpenedFile();
void Reset();
public:
Bool_t CheckOpenedFile();
void WriteError();
void SetNumInLine(Int_t num = 16);
Int_t GetNumInLine();
public:
HAscii();
virtual ~HAscii();
HAscii(const HAscii& source);
HAscii& operator=(const HAscii& source);
std::fstream fStreamFileWrite;
std::fstream& OpenFile(const Char_t* filename, const Char_t* mode = "read");
void OpenFileList(const Char_t* filename);
void CloseFile(const Char_t* filename = NULL);
HAsciiSection* GetActiveSection();
HAsciiSection* SetActiveSection(const Char_t* name);
HAsciiFile* GetActiveFile();
Char_t* GetActiveKeyword();
Char_t* GetCommentKeyword();
Bool_t IsReadFile();
Bool_t IsWriteFile();
Bool_t IsNextKeyword();
void SetSeparator(Char_t character = ' ');
Char_t GetSeparator();
Char_t* ReadString();
Char_t* ReadString(const Char_t* key);
Char_t* ReadString(const Char_t* sec, const Char_t* key);
Char_t* ReadRemark();
Bool_t WriteLine(const Char_t* text, Int_t linelen = 76, Int_t keylen = 0);
Bool_t WriteRemark(const Char_t* text, Char_t sign = ';', Int_t linelen = 76);
Bool_t WriteSection(const Char_t* name);
Bool_t CopySection(const Char_t* sec);
ClassDef(HAscii,0)
};
class HAsciiKey : public HAscii {
public:
HAsciiKey();
virtual ~HAsciiKey();
HAsciiKey(const HAsciiKey& source);
HAsciiKey& operator=(const HAsciiKey& source);
Bool_t WriteKeyword(const Char_t* name);
Bool_t WriteInt(Int_t num);
Bool_t WriteInt(const Char_t* key, Int_t num);
Bool_t WriteNInt(Int_t arg, ...);
Bool_t WriteNInt(const Char_t* key, Int_t arg, ...);
Bool_t WriteInt(Int_t arg, Int_t* num);
Bool_t WriteInt(Int_t arg, Int_t begin, Int_t* num);
Bool_t WriteInt(const Char_t* key, Int_t arg, Int_t* num);
Bool_t WriteInt(const Char_t* key, Int_t arg, Int_t begin, Int_t* num);
Bool_t WriteInt(TArrayI* data);
Bool_t WriteInt(Int_t arg, TArrayI* data);
Bool_t WriteInt(Int_t arg, Int_t begin, TArrayI* data);
Bool_t WriteInt(const Char_t* key, TArrayI* data);
Bool_t WriteInt(const Char_t* key, Int_t arg, TArrayI* data);
Bool_t WriteInt(const Char_t* key, Int_t arg, Int_t begin, TArrayI* data);
Bool_t WriteFloat(Float_t num);
Bool_t WriteFloat(const Char_t* key, Float_t num);
Bool_t WriteNFloat(Int_t arg, ...);
Bool_t WriteNFloat(const Char_t* key, Int_t arg, ...);
Bool_t WriteFloat(Int_t arg, Float_t* num);
Bool_t WriteFloat(Int_t arg, Int_t begin, Float_t* num);
Bool_t WriteFloat(const Char_t* key, Int_t arg, Float_t* num);
Bool_t WriteFloat(const Char_t* key, Int_t arg, Int_t begin, Float_t* num);
Bool_t WriteFloat(TArrayF* data);
Bool_t WriteFloat(Int_t arg, TArrayF* data);
Bool_t WriteFloat(Int_t arg, Int_t begin, TArrayF* data);
Bool_t WriteFloat(const Char_t* key, TArrayF* data);
Bool_t WriteFloat(const Char_t* key, Int_t arg, TArrayF* data);
Bool_t WriteFloat(const Char_t* key, Int_t arg, Int_t begin, TArrayF* data);
Bool_t WriteChar(Char_t num);
Bool_t WriteChar(const Char_t* key, Char_t num);
Bool_t WriteNChar(Int_t arg, ...);
Bool_t WriteNChar(const Char_t* key, Int_t arg, ...);
Bool_t WriteChar(Int_t arg, Char_t* num);
Bool_t WriteChar(Int_t arg, Int_t begin, Char_t* num);
Bool_t WriteChar(const Char_t* key, Int_t arg, Char_t* num);
Bool_t WriteChar(const Char_t* key, Int_t arg, Int_t begin, Char_t* num);
Bool_t WriteString(const Char_t* text, Int_t linelen = 76, Int_t keylen = 15);
Bool_t WriteString(const Char_t* key, const Char_t* text, Int_t linelen = 76);
Bool_t CopyKeyword(const Char_t* key);
Bool_t CopyKeyword(const Char_t* sec, const Char_t* key);
void* Read();
void* Read(Char_t typ);
void* Read(const Char_t* key, Char_t typ);
void* Read(const Char_t* sec, const Char_t* key, Char_t typ);
Int_t ReadInt(Int_t pos = 0);
Int_t ReadInt(const Char_t* key, Int_t pos = 0);
Int_t ReadInt(const Char_t* sec, const Char_t* key, Int_t pos = 0);
Bool_t ReadInt(Int_t* putin, const Char_t* key);
Bool_t ReadInt(Int_t* putin, const Char_t* sec, const Char_t* key);
Bool_t ReadInt(Int_t* putin, const Char_t* key, Int_t number);
Bool_t ReadInt(Int_t* putin, const Char_t* sec, const Char_t* key, Int_t number);
Bool_t ReadInt(Int_t* putin, const Char_t* key, Int_t nrfrom, Int_t number);
Bool_t ReadInt(Int_t* putin, const Char_t* sec, const Char_t* key,
Int_t nrfrom, Int_t number);
Bool_t ReadInt(TArrayI* putin, const Char_t* key);
Bool_t ReadInt(TArrayI* putin, const Char_t* sec, const Char_t* key);
Bool_t ReadInt(TArrayI* putin, const Char_t* key, Int_t number);
Bool_t ReadInt(TArrayI* putin, const Char_t* sec, const Char_t* key, Int_t number);
Bool_t ReadInt(TArrayI* putin, const Char_t* key, Int_t nrfrom, Int_t number);
Bool_t ReadInt(TArrayI* putin, const Char_t* sec, const Char_t* key,
Int_t nrfrom, Int_t number);
Float_t ReadFloat(Int_t pos = 0);
Float_t ReadFloat(const Char_t* key, Int_t pos = 0);
Float_t ReadFloat(const Char_t* sec, const Char_t* key, Int_t pos = 0);
Bool_t ReadFloat(Float_t* putin, const Char_t* key);
Bool_t ReadFloat(Float_t* putin, const Char_t* sec, const Char_t* key);
Bool_t ReadFloat(Float_t* putin, const Char_t* key, Int_t number);
Bool_t ReadFloat(Float_t* putin, const Char_t* sec, const Char_t* key, Int_t number);
Bool_t ReadFloat(Float_t* putin, const Char_t* key, Int_t nrfrom, Int_t number);
Bool_t ReadFloat(Float_t* putin, const Char_t* sec, const Char_t* key,
Int_t nrfrom, Int_t number);
Bool_t ReadFloat(TArrayF* putin, const Char_t* key);
Bool_t ReadFloat(TArrayF* putin, const Char_t* sec, const Char_t* key);
Bool_t ReadFloat(TArrayF* putin, const Char_t* key, Int_t number);
Bool_t ReadFloat(TArrayF* putin, const Char_t* sec, const Char_t* key, Int_t number);
Bool_t ReadFloat(TArrayF* putin, const Char_t* key, Int_t nrfrom, Int_t number);
Bool_t ReadFloat(TArrayF* putin, const Char_t* sec, const Char_t* key,
Int_t nrfrom, Int_t number);
Char_t ReadChar(Int_t pos = 0);
Char_t ReadChar(const Char_t* key, Int_t pos = 0);
Char_t ReadChar(const Char_t* sec, const Char_t* key, Int_t pos = 0);
Char_t* ReadRemark();
Char_t* ReadRemark(const Char_t* key);
Char_t* ReadRemark(const Char_t* sec, const Char_t* key);
friend std::ostream& operator<< (std::ostream& stream, HAsciiKey& file) {
using namespace HadAsciiAuxiliaryFunctions;
stream << "HAsciiKey: \n" << file.fFileList;
stream << "Active section: ";
if (file.GetActiveSection()) {
stream << file.GetActiveSection()->GetSectionName() << std::endl;
} else {
stream << "none " << std::endl;
}
stream << "Active keyword: ";
if (strlength(file.GetActiveKeyword())) {
stream << file.GetActiveKeyword() << std::endl;
} else {
stream << "none " << std::endl;
}
stream << "Commentaries to keyword: ";
if (strlength(file.GetCommentKeyword())) {
stream << file.GetCommentKeyword() << std::endl;
} else {
stream << "none \n" << std::endl;
}
return stream;
}
ClassDef(HAsciiKey,0)
};
class HAsciiRaw : public HAscii {
private:
Int_t fKeys;
Bool_t RecogniseKeys(const Char_t* name, Int_t num = 0);
Bool_t ReadSectionRaw();
void Reset();
Bool_t fSection;
Bool_t fKeywords;
Bool_t fData;
Int_t fCounter;
public:
Int_t *fpKeyTypeId;
Char_t **fpKeyNames;
public:
HAsciiRaw();
virtual ~HAsciiRaw();
HAsciiRaw(const HAsciiRaw& source);
HAsciiRaw& operator=(const HAsciiRaw& source);
Int_t GetKeys();
Int_t GetKeyTypeId(Int_t n = 0);
Char_t* GetKeyName(Int_t n = 0);
Long_t GetRowsNr();
void SetReadKeyTypes(Char_t key1, ...);
void SetWriteKeyTypes(Char_t key1, ...);
void SetReadKeyType(Int_t col, Int_t type);
void SetWriteKeyType(Int_t col, Int_t type);
Bool_t GetKeyword() { return fKeywords; }
Bool_t GetSection() { return fSection; }
Bool_t GetData() { return fData; }
Int_t GetCounter() { return fCounter; }
void SetCounter(Int_t num) { fCounter = num; }
void SetKeyword(Bool_t val) { fKeywords = val; }
void SetSection(Bool_t val) { fSection = val; }
void SetData(Bool_t val) { fData = val; }
void SetKeyNr(Int_t num) { fKeys = num; }
HAsciiSection* SetActiveSection(const Char_t* name);
Bool_t WriteSection(const Char_t* name);
Bool_t WriteKeywords(const Char_t* name);
Bool_t WriteKeywords(Int_t arg, ...);
Bool_t WriteKeywords(const Char_t* sec, Int_t arg, ...);
Bool_t WriteRawLine(Int_t first, ...);
Bool_t WriteRawLine(Float_t first, ...);
Bool_t WriteRawLine(Char_t first, ...);
Bool_t WriteRawLine(const Char_t* first, ...);
Bool_t WriteInt(Int_t num);
Bool_t WriteFloat(Float_t num);
Bool_t WriteChar(Char_t num);
Bool_t WriteString(const Char_t* num);
Bool_t ReadRawLine(Int_t row, ...);
Int_t ReadInt(Int_t col, Int_t raw);
Int_t ReadInt(const Char_t* keyname, Int_t raw);
Int_t ReadInt(Int_t colcond, Int_t rawvalue, Int_t col);
Int_t ReadInt(Int_t colcond, Int_t rawvalue, const Char_t* key);
Int_t ReadInt(const Char_t* keycond, Int_t rawvalue, Int_t col);
Int_t ReadInt(const Char_t* keycond, Int_t rawvalue, const Char_t* key);
Bool_t ReadInt(Int_t* putin, Int_t col, Int_t number = 0);
Bool_t ReadInt(Int_t* putin, const Char_t* keyname, Int_t number = 0);
Bool_t ReadInt(Int_t* putin, Int_t col, Int_t begin, Int_t number);
Bool_t ReadInt(Int_t* putin, const Char_t* keyname, Int_t begin, Int_t number);
Bool_t ReadInt(TArrayI* putin, Int_t col, Int_t number = 0);
Bool_t ReadInt(TArrayI* putin, const Char_t* keyname, Int_t number = 0);
Bool_t ReadInt(TArrayI* putin, Int_t col, Int_t begin, Int_t number);
Bool_t ReadInt(TArrayI* putin, const Char_t* keyname, Int_t begin, Int_t number);
Float_t ReadFloat(Int_t col, Int_t raw);
Float_t ReadFloat(const Char_t* keyname, Int_t raw);
Float_t ReadFloat(Int_t colcond, Int_t rawvalue, Int_t col);
Float_t ReadFloat(Int_t colcond, Int_t rawvalue, const Char_t* key);
Float_t ReadFloat(const Char_t* keycond, Int_t rawvalue, Int_t col);
Float_t ReadFloat(const Char_t* keycond, Int_t rawvalue, const Char_t* key);
Bool_t ReadFloat(Float_t* putin, Int_t col, Int_t number = 0);
Bool_t ReadFloat(Float_t* putin, const Char_t* keyname, Int_t number = 0);
Bool_t ReadFloat(Float_t* putin, Int_t col, Int_t begin, Int_t number);
Bool_t ReadFloat(Float_t* putin, const Char_t* keyname, Int_t begin, Int_t number);
Bool_t ReadFloat(TArrayF* putin, Int_t col, Int_t number = 0);
Bool_t ReadFloat(TArrayF* putin, const Char_t* keyname, Int_t number = 0);
Bool_t ReadFloat(TArrayF* putin, Int_t col, Int_t begin, Int_t number);
Bool_t ReadFloat(TArrayF* putin, const Char_t* keyname, Int_t begin, Int_t number);
Char_t ReadChar(Int_t col, Int_t raw);
Char_t ReadChar(const Char_t* keyname, Int_t raw);
Char_t ReadChar(Int_t colcond, Int_t rawvalue, Int_t col);
Char_t ReadChar(Int_t colcond, Int_t rawvalue, const Char_t* key);
Char_t ReadChar(const Char_t* keycond, Int_t rawvalue, const Char_t* key);
Bool_t ReadChar(Char_t* putin, Int_t col, Int_t number = 0);
Bool_t ReadChar(Char_t* putin, const Char_t* keyname, Int_t number = 0);
Bool_t ReadChar(Char_t* putin, Int_t col, Int_t begin, Int_t number);
Bool_t ReadChar(Char_t* putin, const Char_t* keyname, Int_t begin, Int_t number);
Bool_t ReadChar(TArrayC* putin, Int_t col, Int_t number = 0);
Bool_t ReadChar(TArrayC* putin, const Char_t* keyname, Int_t number = 0);
Bool_t ReadChar(TArrayC* putin, Int_t col, Int_t begin, Int_t number);
Bool_t ReadChar(TArrayC* putin, const Char_t* keyname, Int_t begin, Int_t number);
Char_t* ReadString(Int_t col, Int_t row);
Char_t* ReadString(const Char_t* keyname, Int_t row);
Char_t* ReadString(Int_t colcond, Int_t rowvalue, Int_t col);
Char_t* ReadString(Int_t colcond, Int_t rowvalue, const Char_t* key);
Char_t* ReadString(const Char_t* keycond, Int_t rowvalue, Int_t col);
Char_t* ReadString(const Char_t* keycond, Int_t rowvalue, const Char_t* key);
ClassDef(HAsciiRaw,0)
};
#endif // HADASCII_H
Last change: Sat May 22 12:53:32 2010
Last generated: 2010-05-22 12:53
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.