TKey
class description - source file - inheritance tree
protected:
virtual void Create(Int_t nbytes)
virtual void Read(const Text_t* name)
public:
TKey TKey(const Text_t* name, const Text_t* title, TClass* cl, Int_t nbytes)
TKey TKey(const TString& name, const TString& title, TClass* cl, Int_t nbytes)
TKey TKey(TObject* obj, const Text_t* name, const Int_t bufsize)
TKey TKey()
TKey TKey(Seek_t pointer, Int_t nbytes)
TKey TKey(TKey&)
virtual void ~TKey()
virtual void Browse(TBrowser* b)
TClass* Class()
virtual void Delete(Option_t* option)
virtual void DeleteBuffer()
virtual void FillBuffer(char*& buffer)
virtual char* GetBuffer()
TBuffer* GetBufferRef()
virtual const Text_t* GetClassName() const
Short_t GetCycle()
Short_t GetKeep()
Int_t GetKeylen()
Int_t GetNbytes()
Int_t GetObjlen()
virtual Seek_t GetSeekKey()
virtual Seek_t GetSeekPdir()
Int_t GetVersion()
virtual TClass* IsA() const
virtual Bool_t IsFolder()
virtual void Keep()
virtual void ls(Option_t* option)
virtual void Print(Option_t* option)
virtual void Read(TObject* obj)
virtual void ReadBuffer(char*& buffer)
virtual void ReadFile()
virtual TObject* ReadObj()
virtual void SetBuffer()
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual Int_t Sizeof() const
virtual void Streamer(TBuffer& b)
virtual void WriteFile(Int_t cycle = 1)
protected:
Int_t fVersion Key version identifier
Int_t fNbytes Number of bytes for the object on file
Int_t fObjlen Length of uncompressed object in bytes
TDatime fDatime Date/Time of insertion in file
Short_t fKeylen Number of bytes for the key itself
Short_t fCycle Cycle number
Seek_t fSeekKey Location of object on file
Seek_t fSeekPdir Location of parent directory on file
TString fClassName Object Class name
Int_t fLeft Number of bytes left in current segment
char* fBuffer Object buffer
TBuffer* fBufferRef Pointer to the TBuffer object
See also
-
TBasket
The TKey class includes functions to book space on a file,
to create I/O buffers, to fill these buffers
to compress/uncompress data buffers.
Before saving (making persistent) an object on a file, a key must
be created. The key structure contains all the information to
uniquely identify a persistent object on a file.
fNbytes = number of bytes for the compressed object+key
fObjlen = Length of uncompressed object
fDatime = Date/Time when the object was written
fKeylen = number of bytes for the key structure
fCycle = cycle number of the object
fSeekKey = Address of the object on file (points to fNbytes)
This is a redundant information used to cross-check
the data base integrity.
fSeekPdir = Pointer to the directory supporting this object
fClassName = Object class name
fName = name of the object
fTitle = title of the object
The TKey class is used by ROOT to:
- to write an object in the Current Directory
- to write a new ntuple buffer
The structure of a file is shown in TFile::TFile
The structure of a directory is shown in TDirectory::TDirectory
The TKey class is used by the TBasket class
See also TTree
TKey() : TNamed(), fDatime(0)
*-*-*-*-*-*-*-*-*-*-*TKey default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ========================
TKey(Seek_t pointer, Int_t nbytes) : TNamed()
*-*-*-*-*-*-*-*-*-*-*-*-*Create a TKey object to read keys*-*-*-*-*-*-*-*
*-* =================================
Constructor called by TDirectory::ReadKeys and by TFile::TFile
A TKey object is created to read the keys structure itself
TKey(const Text_t *name, const Text_t *title, TClass *cl, Int_t nbytes)
: TNamed(name,title)
TKey(const TString &name, const TString &title, TClass *cl, Int_t nbytes)
: TNamed(name,title)
TKey(TObject *obj, const Text_t *name, const Int_t bufsize)
: TNamed(name, obj->GetTitle())
*-*-*-*-*-*-*-*-*-*Create a TKey object and fill output buffer*-*-*-*-*-*-*
*-* ===========================================
void Browse(TBrowser *b)
Read object from disk and call its Browse() method.
If object with same name already exist in memory delete it (like
TDirectory::Get() is doing), except when the key references a
folder in which case we don't want to re-read the folder object
since it might contain new objects not yet saved.
void Create(Int_t nbytes)
*-*-*-*-*-*-*-*-*-*-*-*-*Create a TKey object *-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ====================
~TKey()
*-*-*-*-*-*-*-*-*-*-*TKey default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =======================
void Delete(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*Delete an object from the file*-*-*-*-*-*-*-*-*-*-*
*-* ==============================
Note: the key is not deleted. You still have to call "delete key".
This is different from the behaviour of TObject::Delete()!
void DeleteBuffer()
*-*-*-*-*-*-*-*-*-*-*-*Delete key buffer(s)*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ====================
Short_t GetCycle()
*-*-*-*-*-*-*-*-*-*-*-*-*Return cycle number associated to this key*-*-*-*
*-* ==========================================
Short_t GetKeep()
*-*-*-*-*-*-*-*-*-*-*-*-*Returns the "KEEP" status*-*-*-*-*-*-*-*-*-*-*-*
*-* =========================
void FillBuffer(char *&buffer)
*-*-*-*-*-*-*-*-*-*-*-*Encode key header into output buffer-*-*-*-*-*-*-*
*-* ====================================
Bool_t IsFolder()
void Keep()
*-*-*-*-*-*-*-*-*-*-*-*-*Set the "KEEP" status*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =====================
When the KEEP flag is set to 1 the object cannot be purged
void ls(Option_t *)
*-*-*-*-*-*-*-*-*-*-*-*-*List Key contents-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =================
void Print(Option_t *)
*-*-*-*-*-*-*-*-*-*-*-*-*Print key contents*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ==================
TObject* ReadObj()
*-*-*-*-*-*-*-*-*-*-*-*-*To read an object from the file*-*-*-*-*-*-*-*-*
*-* ===============================
The object associated to this key is read from the file into memory
Once the key structure is read (via Streamer) the class identifier
of the object is known.
Using the class identifier we find the TClass object for this class.
A TClass object contains a full description (i.e. dictionary) of the
associated class. In particular the TClass object can create a new
object of the class type it describes. This new object now calls its
Streamer function to rebuilt itself.
void Read(TObject *obj)
*-*-*-*-*-*-*-*-*-*-*-*-*To read an object from the file*-*-*-*-*-*-*-*-*
*-* ===============================
The object associated to this key is read from the file into memory
Before invoking this function, obj has been created via the
default constructor.
void ReadBuffer(char *&buffer)
*-*-*-*-*-*-*-*-*-*-*-*Decode input buffer-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ===================
void ReadFile()
*-*-*-*-*-*-*-*-*-*-*-*-*Read the key structure from the file-*-*-*-*-*-*
*-* ====================================
Int_t Sizeof() const
*-*-*-*-*-*-*-*Return the size in bytes of the key header structure*-*-*-*
*-*-*-*-*-*-*-*====================================================
void Streamer(TBuffer &b)
*-*-*-*-*-*-*-*-*Stream a class object*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =========================================
void WriteFile(Int_t cycle)
*-*-*-*-*-*-*-*-*-*-*Write the encoded object supported by this key*-*-*-*
*-* ==============================================
Inline Functions
const Text_t* GetClassName() const
char* GetBuffer()
TBuffer* GetBufferRef()
Int_t GetKeylen()
Int_t GetNbytes()
Int_t GetObjlen()
Int_t GetVersion()
Seek_t GetSeekKey()
Seek_t GetSeekPdir()
void Read(TObject* obj)
void SetBuffer()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
TKey TKey(TKey&)
Author: Rene Brun 28/12/94
Last update: 2.23/01 19/08/99 15.52.31 by Rene Brun
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *
ROOT page - Class index - Top of the page
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.