Logo ROOT   6.16/01
Reference Guide
tableDescriptor.h
Go to the documentation of this file.
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
59typedef 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 */
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 */
unsigned int fDimensions
unsigned int fIndexArray[3]
unsigned int fOffset
unsigned int fTypeSize
unsigned int fSize
struct tableDescriptor_st TABLEDESCRIPTOR_ST