Fixing error on gcc 4.5.1
[u/mrichter/AliRoot.git] / TTherminator / Therminator / Parser.h
CommitLineData
2e967919 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_PARSER_
28#define _BFPW_PARSER_
29
30#include <stdio.h>
31#include <stdlib.h>
32#include <math.h>
33//#include <curses.h>
34#include <iostream>
35#include <fstream>
36#include <map>
37#include <string>
38#include "THGlobal.h"
39#include "ReadPar.h"
40#include "ParticleType.h"
41#include "Integrator.h"
42#include "ParticleDB.h"
43
44class Parser
45{
46 private:
47 char mNameBuffer[369][20]; //local table with particle names
48 double mMassBuffer[369]; //local table with particle masses
49 double mGammaBuffer[369]; //local table with particle gammas
50 double mSpinBuffer[369]; //local table with particle spins
51
52 int mBarionBuffer[369]; //local table with particle barion number
53 int mStrangeBuffer[369]; //local table with partcle strangeless number
54 double mI3Buffer[369]; //local table with particle izospin3
55 int mDecayBuffer[369][2];
56
57 int mParticleCount; //number of particles
58 int mTypeCountBuffer[369]; //number of each particle
59
60 ParticleDB *mDB;
61
62 TString mInputDir;
63
64 double DeltaJ(double aJot1, double aJot2, double aJot);
65 double ClebschGordan(double aJot, double aEm, double aJot1, double aEm1, double aJot2, double aEm2);
66 void ReadParameters();
67
68 public:
69 Parser(ParticleDB *aDB);
70 ~Parser();
71 void ReadInput(); //read input1 "tables.m" and "i200STAR.m"
72 void ReadShare(); //read input from SHaRe format: particles.data & decays.data
73
74 int GetParticleCount();
75
76 int check(char *,char *); //check particules by name
77
78 char *GetParticleName(int);
79 double GetParticleMass(int);
80 double GetParticleGamma(int);
81 double GetParticleSpin(int);
82 int GetParticleBarionN(int);
83 int GetParticleStrangeN(int);
84 double GetParticleI3(int);
85 int GetParticleDecayChannelCount(int,int);
86 int GetParticleNumber(int);
87};
88
89#endif