Completing the setup for TTherminator model.
[u/mrichter/AliRoot.git] / TTherminator / Therminator / Hypersurface.h
1 /***************************************************************************
2  *                             L H Y Q U I D                               *
3  *              reLativistic HYdrodynamics of Quark glUon fluID            *
4  *                                                                         *
5  *                         T H E R M I N A T O R                           *
6  *                      THERMal heavy-IoN generATOR                        *
7  *                                                                         *
8  *                              INTERFACE                                  *
9  *                                                                         *
10  * Author of LHYQUID THERMINATOR INTERFACE code:                           *
11  *   Miko´┐Żaj Chojnacki, e-mail: Mikolaj.Chojnacki@ifj.edu.pl               *
12  *                                                                         *
13  * About the interface:                                                    *
14  *   Code in the files "Hypersurface.h" and "Hypersurface.cxx" enables the *
15  * usage of a paramatrized hypersurface from LHYQUID (written in           *
16  * Mathematica).                                                           *
17  * Set the option FreezeOutModel = Lhyquid in the file "therminator.in".   *
18  * Modifications in the original files (Integrator.cxx, Integrator.h,      *
19  * therm_events, Makefile, therminator.in are marked by "MCH" comment      *
20  *                                                                         *
21  ***************************************************************************/
22
23
24 #ifndef _MCH_HYPERSURFACE_
25 #define _MCH_HYPERSURFACE_
26
27 #include <stdio.h>
28 #include <iostream>
29 #include <fstream>
30
31 using namespace std;
32
33 class Hypersurface {
34   public:
35     // constructor
36     Hypersurface(const char *dirname);
37     Hypersurface(void);
38     // destructor
39     ~Hypersurface(void);
40     // variables
41     double TFO;
42     double tau0;
43     // functions
44     double fahs  (double p, double z);
45     double fvhs  (double p, double z);
46     double fdhs  (double p, double z);
47     double fDpdhs(double p, double z);
48     double fDzdhs(double p, double z);
49   private:
50     unsigned int i, j;
51     unsigned int Np, Nz;
52     double   ip, fp, dp, iz, fz, dz;
53     double   **aArr, **vArr, **dArr, **DpdArr, **DzdArr;
54     char     *FName;
55     char     buff[100];
56     ifstream *HSFile;
57 };
58
59
60 #endif /* _MCH_HYPERSURFACE_ */