Fixing error on gcc 4.5.1
[u/mrichter/AliRoot.git] / TTherminator / Therminator / Integrator.h
1 /******************************************************************************
2  *                      T H E R M I N A T O R                                 *
3  *                   THERMal heavy-IoN generATOR                              *
4  *                           version 1.0                                      *
5  *                                                                            *
6  * Authors of the model: Wojciech Broniowski, Wojciech.Broniowski@ifj.edu.pl, *
7  *                       Wojciech Florkowski, Wojciech.Florkowski@ifj.edu.pl  *
8  * Authors of the code:  Adam Kisiel, kisiel@if.pw.edu.pl                     *
9  *                       Tomasz Taluc, ttaluc@if.pw.edu.pl                    *
10  * Code designers: Adam Kisiel, Tomasz Taluc, Wojciech Broniowski,            *
11  *                 Wojciech Florkowski                                        *
12  *                                                                            *
13  * For the detailed description of the program and furhter references         * 
14  * to the description of the model plesase refer to: nucl-th/0504047,         *
15  * accessibile at: http://www.arxiv.org/nucl-th/0504047                       *
16  *                                                                            *
17  * Homepage: http://hirg.if.pw.edu.pl/en/therminator/                         *
18  *                                                                            *
19  * This code can be freely used and redistributed. However if you decide to   *
20  * make modifications to the code, please contact the authors, especially     *
21  * if you plan to publish the results obtained with such modified code.       *
22  * Any publication of results obtained using this code must include the       *
23  * reference to nucl-th/0504047 and the published version of it, when         *
24  * available.                                                                 *
25  *                                                                            *
26  *****************************************************************************/
27 #ifndef _BFPW_INTEGRATOR_
28 #define _BFPW_INTEGRATOR_
29
30 #include <stdio.h>
31 #include <stdlib.h>
32 #include <iostream>
33 #include <math.h>
34 #include <string>
35 #include <fstream>
36 #include <TRandom2.h>
37 #include "THGlobal.h"
38 #include "ReadPar.h"
39 #include "ParticleDB.h"
40 #include "Hypersurface.h"       /*MCH*/
41
42 class ParticleType;
43 class Particle;
44
45 class Integrator
46 {
47  public:
48   Integrator(int);
49   ~Integrator(){}
50           
51   double CalcBE(double);
52   double CalcFD(double);
53   double GetMiu(double,double,double);
54
55   double Calka(double,double,double*,double*,double*,double*,double*,double*,double*,double,int keeppos=0);
56   double CalcFunPodCalk(double,double,double,double,double);
57   double Integrate(double,double,double,double,double);
58   void   Generate(ParticleType *aPartType, int aPartCount, Particle*** oParticles);
59   
60   void   Randomize();
61   void   ReadMultInteg(ParticleDB *aDB);
62   char  *ParameterHash();
63
64  private:
65   void   ReadParameters();
66   
67   int    mNPart;
68   double kFmToGev;
69   double mRhoMax;
70   double mTau;
71   double mTemp;
72   double mMiu_i;
73   double mMiu_s;
74   double mMiu_b;
75
76   double mBWA;
77   double mBWP;
78
79   double mBWVt;
80   
81   double mBWDelay;
82
83   double mAlfaRange;
84   double mRapRange;
85   
86   double kTwoPi2;               /*MCH*/
87   double kTwoPi3;
88
89   TRandom2 *mRandom;
90
91   // Hydro parameters
92   double mTauf;
93   double mTau0;
94   double mLambda;
95   double mBN;
96   double mAlfa;
97
98   Hypersurface *mFOHS;          /*MCH*/
99   TString mFOHSlocation;
100 };
101
102 #endif
103