/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/MdcRecoUtil/MdcRecoUtil-00-01-08/MdcRecoUtil/BesODMGTypes.h

Go to the documentation of this file.
00001 /*
00002 //--------------------------------------------------------------------------
00003 // BesODMGTypes.h
00004 //
00005 // File and Version Information:
00006 //      $Id: BesODMGTypes.h,v 1.2 2009/12/23 02:59:56 zhangy Exp $
00007 //
00008 // Description:
00009 //      Typedefs of ODMG d_* platform-invariant types for use in code
00010 //      compiled without Objectivity.  (Objectivity will otherwise define
00011 //      these types itself.)
00012 //
00013 // Environment:
00014 //      Software developed for the Bes Detector at the SLAC B-Factory.
00015 //
00016 // Author List:
00017 //      Dirk Duellman, RD45     Originator
00018 //      David Quarrie           Brought into Bes, bug fixes
00019 //      Gregory Dubois-Felsmann Moved to Bes/BesODMGTypes.h
00020 //
00021 // Copyright Information:
00022 //      Copyright (C) 1997      California Institute of Technology et al.
00023 // 
00024 // History:
00025 //      Migration for BESIII MDC
00026 //
00027 //--------------------------------------------------------------------------
00028 */
00029 
00030 #ifndef BESODMGTYPES_H
00031 #define BESODMGTYPES_H
00032 
00033 /*
00034 // Original RD45 header:
00035 //                         -*- Mode: C++ -*- 
00036 //  ODMGTypes.h -- define ODMG types based on C++ types
00037 //  created on Thu Apr  4 13:17:51 1996
00038 //  by         Dirk Duellmann 
00039 //
00040 // Brought into HepODBMS/odbms/HepODMGTypes.h by David Quarrie
00041 // (Id: HepODMGTypes.h,v 1.5 1997/12/22 15:56:57 quarrie Exp )
00042 //
00043 // Copied from HEAD of HepODBMS (V00-00-07 plus RCSv1.5 of this file)
00044 // by Gregory Dubois-Felsmann to package Bes, to implement common
00045 // platform-invariant-size types for DataFlow.
00046 //
00047 // Comments changed to C style as a step toward making it useful in that
00048 // language, too, but *this has not been otherwise tested*.
00049 //
00050 // d_Char and d_Octet changed from "signed char" to "char" to conform
00051 // more precisely with Objectivity definitions.  This does mean that
00052 // their signedness can vary from platform to platform, but this is 
00053 // better than having the type of d_Char depend on whether Objectivity
00054 // is included in a build or not.
00055 */
00056 
00057 /* It is only legitimate to define these types if Objectivity has */
00058 /* not itself been set up by including "oo.h".  oo.h defines all  */
00059 /* the types below as macros (not typedefs).  The use of typedefs */
00060 /* here comes from RD45.                                          */
00061 
00062 #ifndef OO_H
00063 
00064 /* Switch over architectures */
00065 
00066 #if defined(__DECCXX) || defined(__alpha__)     
00067 
00068 /* DEC Unix (C++ or g++) */
00069 
00070 typedef signed short int      d_Short;
00071 typedef signed int            d_Long;
00072 typedef unsigned short int    d_UShort;
00073 typedef unsigned int          d_ULong;
00074 typedef float                 d_Float;
00075 typedef double                d_Double;
00076 typedef char                  d_Char; 
00077 typedef char                  d_Octet;
00078 typedef unsigned char         d_Boolean;
00079 typedef unsigned char         uint8;
00080 
00081 #else
00082 
00083 /* All other architectures */
00084 
00085 /* This is no longer needed with the aCC compiler on HPs. */
00086 /*   No other Bes platforms had this property.          */
00087 /* #ifdef Hep_NO_SIGNED_KEYWORD */
00088 /*   / * hp compiler does not know about the signed keyword * / */
00089 /*   #define signed */
00090 /* #endif */
00091 
00092 
00093 typedef signed short          d_Short;
00094 typedef signed int            d_Long;
00095 typedef unsigned short        d_UShort;
00096 typedef unsigned int          d_ULong;
00097 typedef float                 d_Float;
00098 typedef double                d_Double;
00099 typedef char                  d_Char; 
00100 typedef char                  d_Octet;
00101 typedef unsigned char         d_Boolean;
00102 typedef unsigned char         uint8; 
00103 
00104 
00105 /* #ifdef Hep_NO_SIGNED_KEYWORD */
00106 /*   / * hp compiler does not know about the signed keyword * / */
00107 /*   #undef signed */
00108 /* #endif */
00109 
00110 
00111 /* End of architecture selection */
00112 #endif
00113 
00114 /* End of check on OO_H */
00115 #endif
00116 
00117 /* End of BESODMGTYPES_H */
00118 #endif 

Generated on Tue Nov 29 23:13:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7