Fixing error on gcc 4.5.1
[u/mrichter/AliRoot.git] / TTherminator / Therminator / ParticleType.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_PARTICLE_TYPE_
28#define _BFPW_PARTICLE_TYPE_
29
30#include <iostream>
31#include "THGlobal.h"
32
33class DecayChannel;
34class DecayTable;
35
36class ParticleType
37{
38 private:
39
40 int mNumber; //particle number
41 float mMass; //mass
42 int mStrangeness; //strangness
43 int mBarionN; //barion number
44 int mCharmN; //charm
45 float mSpin; //spin
46 float mI; //izospin
47 float mI3; //izospin3
48 float mGamma; //szerokosc polowkowa
49 string mName; //particle name
50 int mPDGCode;
51 int mDecayChannelCount2; //number of channels in this case
52 int mDecayChannelCount3; //number of channels in this case
53 DecayTable *mTable;
54 float mFMax;
55
56 public:
57 ParticleType(); //constructor
58 ParticleType(const ParticleType& aParticleType); //copying constructor
59 ~ParticleType(); //destructor
60
61 int GetNumber() const;
62 float GetMass() const;
63 int GetStrangeness() const;
64 int GetBarionN() const;
65 int GetCharmN() const;
66 float GetSpin() const;
67 float GetI() const;
68 float GetI3() const;
69 float GetGamma() const;
70 string GetName() const;
71 int GetDecayChannelCount2() const;
72 int GetDecayChannelCount3() const;
73 int GetCharge();
74 int GetPDGCode() const;
75 float GetFMax() const;
76
77 void SetNumber(int aNumber);
78 void SetMass(float aMass);
79 void SetStrangeness(int aStrangeness);
80 void SetBarionN(int aBarionN);
81 void SetCharmN(int aCharmN);
82 void SetSpin(float aSpin);
83 void SetI(float aI);
84 void SetI3(float aI3);
85 void SetGamma(float aGamma);
86 void SetName(char *aName);
87 void SetDecayChannelCount2(int aDCCount2);
88 void SetDecayChannelCount3(int aDCCount3);
89 void SetPDGCode(int aCode);
90 void SetFMax(float aFMax);
91
92 DecayTable* GetTable() const;
93 void AddDecayChannel(DecayChannel aChannel);
94
95 void WriteParticle(int);
96
97 static int GetParticleTypeNumber(std::string aPartName);
98};
99
100
101#endif