tableDescriptor.h

Go to the documentation of this file.
00001 /* @(#)root/table:$Id: tableDescriptor.h 31945 2009-12-21 19:03:21Z rdm $ */
00002 
00003 /*************************************************************************
00004  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00005  * All rights reserved.                                                  *
00006  *                                                                       *
00007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00009  *************************************************************************/
00010 /* tableDescriptor.h */
00011 #ifndef TABLEDESCRIPTOR_H
00012 #define TABLEDESCRIPTOR_H
00013 
00014 #ifdef NORESTRICTIONS
00015 # define TABLEDESCRIPTOR_SPEC   \
00016  "struct tableDescriptor {      \
00017     char         *fColumnName; \
00018     unsigned int *fIndexArray; \
00019     unsigned int fOffset;      \
00020     unsigned int fSize;        \
00021     unsigned int fTypeSize;    \
00022     unsigned int fDimensions;  \
00023     EColumnType  fType;        \
00024 };"
00025 #else
00026 # define TABLEDESCRIPTOR_SPEC      \
00027  "struct tableDescriptor {         \
00028     char         fColumnName[20]; \
00029     unsigned int fIndexArray[2];  \
00030     unsigned int fOffset;         \
00031     unsigned int fSize;           \
00032     unsigned int fTypeSize;       \
00033     unsigned int fDimensions;     \
00034     EColumnType  fType;           \
00035 };"
00036 #endif
00037 
00038 /*   this is a name clas with ROOT
00039  * enum EColumnType {kNAN, kFloat, kInt, kLong, kShort, kDouble, kUInt
00040  *                     ,kULong, kUShort, kUChar, kChar };
00041  */
00042 
00043 /*  This is to introduce an artificial restriction demanded by STAR database group
00044  *
00045  *    1. the name may be 31 symbols at most
00046  *    2. the number of the dimensions is 3 at most
00047  *
00048  *  To lift this restriction one has to provide -DNORESTRICTIONS CPP symbol and
00049  *  recompile code.
00050  */
00051 //______________________________________________________________________________
00052 //
00053 // Table descriptor tableDescriptor_st is internal descriptor of TTableDescriptor class
00054 //
00055 // One should not use it directly.
00056 // To access the TTable descriptor information use TTableDescriptor object instead
00057 //______________________________________________________________________________
00058 
00059 typedef struct tableDescriptor_st {
00060 #ifdef NORESTRICTIONS
00061     char         *fColumnName; /* The name of this data-member                                         */
00062     unsigned int *fIndexArray; /* The array of the sizes for each dimensions fIndexArray[fDimensions]  */
00063 #else
00064     char         fColumnName[32];  /* The name of this data-member: see dstype.h for dsl compatible mode */
00065     unsigned int fIndexArray[3];   /* The array of the sizes for each dimensions fIndexArray[fDimensions]*/
00066 #endif
00067     unsigned int fOffset;      /* The first byte in the row of this column                              */
00068     unsigned int fSize;        /* The full size of the selected column in bytes                         */
00069     unsigned int fTypeSize;    /* The type size of the selected column in bytes                         */
00070     unsigned int fDimensions;  /* The number of the dimensions for array                                */
00071     int          fType;        /* The data type of the selected column                                  */
00072 } TABLEDESCRIPTOR_ST;
00073 // $Log: tableDescriptor.h,v $
00074 // Revision 1.2  2003/01/27 20:41:36  brun
00075 // New version of the Table package by Valeri Fine.
00076 // New classes TIndexTable TResponseIterator TResponseTable TTableMap
00077 //
00078 // Revision 1.1.1.1  2002/05/28 12:32:02  fisyak
00079 //
00080 //
00081 // Revision 1.1  2002/05/27 16:26:59  rdm
00082 // rename star to table.
00083 //
00084 // Revision 1.1.1.1  2000/05/16 17:00:49  rdm
00085 // Initial import of ROOT into CVS
00086 //
00087 // Revision 1.6  2000/01/12 18:07:25  fine
00088 //  cvs symbols have been added and copyright class introduced
00089 //"
00090 #endif /* TABLEDESCRIPTOR_H */

Generated on Tue Jul 5 14:26:29 2011 for ROOT_528-00b_version by  doxygen 1.5.1