Fixing error on gcc 4.5.1
[u/mrichter/AliRoot.git] / TTherminator / Therminator / Particle.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_PARTICLE_
28 #define _BFPW_PARTICLE_
29
30 #include <iostream>
31 #include "THGlobal.h"
32
33 class ParticleType;
34
35 class Particle
36 {
37  public:
38   Particle();
39   Particle(double aRapidity, double aPt, double aPhip, 
40            double aAlfam, double aRho, double aPhis, double aTau,
41            ParticleType *aType);
42   Particle(ParticleType *aType, 
43            double aPx, double aPy, double aPz, 
44            double aRx, double aRy, double aRz,
45            double aTime);
46   Particle(const Particle& aParticle);
47   ~Particle();
48
49   double        Pt();
50   double        Rapidity();
51   ParticleType *GetParticleType() const;
52   int           HadDecayed();
53   double        GetMass();
54   double        GetI3();
55   double        GetBarionN();
56   double        GetStrangeness();
57   double        GetEnergy();
58   int           GetFather() const;
59   
60   void          WriteParticle(ostream *aOuts);
61   void          SetDecayed();
62   void          SetFather(int aFather);
63   
64   double px, py, pz;
65   double rx, ry, rz, rt;
66
67  private:
68   int mDecayed;
69   int mHasFather;
70   ParticleType* mPartType;
71 };
72
73
74
75 #endif