1 /* @(#)root/table:$Id$ */ 2 3 /************************************************************************* 4 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 5 * All rights reserved. * 6 * * 7 * For the licensing terms see $ROOTSYS/LICENSE. * 8 * For the list of contributors see $ROOTSYS/README/CREDITS. * 9 *************************************************************************/ 10 /* tableDescriptor.h */ 11 #ifndef TABLEDESCRIPTOR_H 12 #define TABLEDESCRIPTOR_H 13 14 #ifdef NORESTRICTIONS 15 # define TABLEDESCRIPTOR_SPEC \ 16 "struct tableDescriptor { \ 17 char *fColumnName; \ 18 unsigned int *fIndexArray; \ 19 unsigned int fOffset; \ 20 unsigned int fSize; \ 21 unsigned int fTypeSize; \ 22 unsigned int fDimensions; \ 23 EColumnType fType; \ 24 };" 25 #else 26 # define TABLEDESCRIPTOR_SPEC \ 27 "struct tableDescriptor { \ 28 char fColumnName[20]; \ 29 unsigned int fIndexArray[2]; \ 30 unsigned int fOffset; \ 31 unsigned int fSize; \ 32 unsigned int fTypeSize; \ 33 unsigned int fDimensions; \ 34 EColumnType fType; \ 35 };" 36 #endif 37 38 /* this is a name clas with ROOT 39 * enum EColumnType {kNAN, kFloat, kInt, kLong, kShort, kDouble, kUInt 40 * ,kULong, kUShort, kUChar, kChar }; 41 */ 42 43 /* This is to introduce an artificial restriction demanded by STAR database group 44 * 45 * 1. the name may be 31 symbols at most 46 * 2. the number of the dimensions is 3 at most 47 * 48 * To lift this restriction one has to provide -DNORESTRICTIONS CPP symbol and 49 * recompile code. 50 */ 51 //______________________________________________________________________________ 52 // 53 // Table descriptor tableDescriptor_st is internal descriptor of TTableDescriptor class 54 // 55 // One should not use it directly. 56 // To access the TTable descriptor information use TTableDescriptor object instead 57 //______________________________________________________________________________ 58 59 typedef struct tableDescriptor_st { 60 #ifdef NORESTRICTIONS 61 char *fColumnName; /* The name of this data-member */ 62 unsigned int *fIndexArray; /* The array of the sizes for each dimensions fIndexArray[fDimensions] */ 63 #else 64 char fColumnName[32]; /* The name of this data-member: see dstype.h for dsl compatible mode */ 65 unsigned int fIndexArray[3]; /* The array of the sizes for each dimensions fIndexArray[fDimensions]*/ 66 #endif 67 unsigned int fOffset; /* The first byte in the row of this column */ 68 unsigned int fSize; /* The full size of the selected column in bytes */ 69 unsigned int fTypeSize; /* The type size of the selected column in bytes */ 70 unsigned int fDimensions; /* The number of the dimensions for array */ 71 int fType; /* The data type of the selected column */ 72 } TABLEDESCRIPTOR_ST; 73 // $Log: tableDescriptor.h,v $ 74 // Revision 1.2 2003/01/27 20:41:36 brun 75 // New version of the Table package by Valeri Fine. 76 // New classes TIndexTable TResponseIterator TResponseTable TTableMap 77 // 78 // Revision 1.1.1.1 2002/05/28 12:32:02 fisyak 79 // 80 // 81 // Revision 1.1 2002/05/27 16:26:59 rdm 82 // rename star to table. 83 // 84 // Revision 1.1.1.1 2000/05/16 17:00:49 rdm 85 // Initial import of ROOT into CVS 86 // 87 // Revision 1.6 2000/01/12 18:07:25 fine 88 // cvs symbols have been added and copyright class introduced 89 //" 90 #endif /* TABLEDESCRIPTOR_H */ 91