EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MgridDirection.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file MgridDirection.h
1 /* -------------------------------------------------------------------------- */
2 /* MgridDirection.h */
3 /* */
4 /* A.Kisselev, PNPI, St.Petersburg, Russia. */
5 /* e-mail: kisselev@hermes.desy.de */
6 /* -------------------------------------------------------------------------- */
7 
8 #ifndef _MGRID_DIRECTION_H
9 #define _MGRID_DIRECTION_H
10 
11 //#include <asm/types.h>
12 // import only relevant parts here ...;
13 //@@#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
14 //typedef __signed__ long long __s64;
15 typedef unsigned long long __u64;
16 //@@#endif
17 //typedef __signed__ char __s8;
18 typedef unsigned char __u8;
19 
20 //typedef __signed__ short __s16;
21 typedef unsigned short __u16;
22 
23 //typedef __signed__ int __s32;
24 typedef unsigned int __u32;
25 
26 //
27 // -> never change data fields order, etc in this class!;
28 //
29 
31  friend class Mgrid;
32  friend class MgridInterpolation;
33 
34  public:
35  // Would need to think whether this placeholder constructor works
36  // for importing binary mgrid files;
38  // Meaningful constuctor;
39  MgridDirection(int _dim, double _min, double _max);
40 
41  // Do not want to declare few more firend functions -> allow read
42  // access to this variable;
43  inline double getStep() { return step;};
44 
45  private:
46  // These numbers characterize a given
47  // direction in a simple grid case;
48  __u64 dim;
49  double min, max;
50 
51  // This number will in fact be calculated out of min/max/dim;
52  // but it is convenient to keep it in this same structure; yes,
53  // it is dumped into a data file;
54  double step;
55 } ;
56 
57 #endif