Fit mathematics improved, obsollete GBTracker cleaned up
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCADef.h
1 //-*- Mode: C++ -*-
2
3 //* This file is property of and copyright by the ALICE HLT Project        * 
4 //* ALICE Experiment at CERN, All rights reserved.                         *
5 //* See cxx source for full Copyright notice                               *
6
7 #ifndef ALIHLTTPCCADEF_H
8 #define ALIHLTTPCCADEF_H
9
10  
11 /**
12  * Definitions needed for AliHLTTPCCATracker
13  *
14  */  
15  
16 //#define HLTCA_STANDALONE // compilation w/o root
17 #define HLTCA_INTERNAL_PERFORMANCE
18
19 #ifdef __CUDACC__
20
21 #define HLTCA_GPUCODE
22
23 #endif
24
25 #if defined(HLTCA_STANDALONE) || defined(HLTCA_GPUCODE)
26
27 // class TObject{};
28
29 #define ClassDef(name,id)
30 #define ClassImp(name)
31
32 typedef char           Char_t;      //Signed Character 1 byte (char)
33 typedef unsigned char  UChar_t;     //Unsigned Character 1 byte (unsigned char)
34 typedef short          Short_t;     //Signed Short integer 2 bytes (short)
35 typedef unsigned short UShort_t;    //Unsigned Short integer 2 bytes (unsigned short)
36 #ifdef R__INT16
37 typedef long           Int_t;       //Signed integer 4 bytes
38 typedef unsigned long  UInt_t;      //Unsigned integer 4 bytes
39 #else
40 typedef int            Int_t;       //Signed integer 4 bytes (int)
41 typedef unsigned int   UInt_t;      //Unsigned integer 4 bytes (unsigned int)
42 #endif
43 #ifdef R__B64    // Note: Long_t and ULong_t are currently not portable types
44 typedef int            Seek_t;      //File pointer (int)
45 typedef long           Long_t;      //Signed long integer 8 bytes (long)
46 typedef unsigned long  ULong_t;     //Unsigned long integer 8 bytes (unsigned long)
47 #else
48 typedef int            Seek_t;      //File pointer (int)
49 typedef long           Long_t;      //Signed long integer 4 bytes (long)
50 typedef unsigned long  ULong_t;     //Unsigned long integer 4 bytes (unsigned long)
51 #endif
52 typedef float          Float_t;     //Float 4 bytes (float)
53 typedef float          Float16_t;   //Float 4 bytes written with a truncated mantissa
54 typedef double         Double_t;    //Double 8 bytes
55 typedef double         Double32_t;  //Double 8 bytes in memory, written as a 4 bytes float
56 typedef char           Text_t;      //General string (char)
57 typedef bool           Bool_t;      //Boolean (0=false, 1=true) (bool)
58 typedef unsigned char  Byte_t;      //Byte (8 bits) (unsigned char)
59 typedef short          Version_t;   //Class version identifier (short)
60 typedef const char     Option_t;    //Option string (const char)
61 typedef int            Ssiz_t;      //String size (int)
62 typedef float          Real_t;      //TVector and TMatrix element type (float)
63 #if defined(R__WIN32) && !defined(__CINT__)
64 typedef __int64          Long64_t;  //Portable signed long integer 8 bytes
65 typedef unsigned __int64 ULong64_t; //Portable unsigned long integer 8 bytes
66 #else
67 typedef long long          Long64_t; //Portable signed long integer 8 bytes
68 typedef unsigned long long ULong64_t;//Portable unsigned long integer 8 bytes
69 #endif
70 typedef double         Axis_t;      //Axis values type (double)
71 typedef double         Stat_t;      //Statistics type (double)
72 typedef short          Font_t;      //Font number (short)
73 typedef short          Style_t;     //Style number (short)
74 typedef short          Marker_t;    //Marker number (short)
75 typedef short          Width_t;     //Line width (short)
76 typedef short          Color_t;     //Color number (short)
77 typedef short          SCoord_t;    //Screen coordinates (short)
78 typedef double         Coord_t;     //Pad world coordinates (double)
79 typedef float          Angle_t;     //Graphics angle (float)
80 typedef float          Size_t;      //Attribute size (float)
81
82 #else 
83
84 #include "Rtypes.h"
85 #include "AliHLTDataTypes.h"
86
87 namespace AliHLTTPCCADefinitions
88 {
89   extern const AliHLTComponentDataType fgkTrackletsDataType;
90 }
91
92 #endif
93
94
95 #ifdef HLTCA_GPUCODE
96
97 #define GPUd() __device__ 
98 #define GPUhd() __host__ __device__ 
99 #define GPUh() __host__ inline 
100 #define GPUg() __global__ 
101
102 #define GPUshared() __shared__ 
103 #define GPUsync() __syncthreads()
104
105 __constant__ float4 gAliHLTTPCCATracker[30000/sizeof(float4)];
106
107 #else
108
109 #define GPUd() 
110 #define GPUhd()
111 #define GPUg()
112 #define GPUh() 
113 #define GPUshared() 
114 #define GPUsync() 
115
116 struct float2{ float x; float y; };
117 struct uchar2{ unsigned char x; unsigned char y; };
118 struct ushort2{ unsigned short x; unsigned short y; };
119 struct uint1{ unsigned int x; };
120 struct uint4{ unsigned int x,y,z,w; };
121
122 #endif
123
124
125 #endif