User stepping methods added (E. Futo)
[u/mrichter/AliRoot.git] / TMEVSIM / TMevSimPartTypeParams.h
CommitLineData
1a2762e8 1#ifndef ROOT_TMevSimPartTypeParams
2#define ROOT_TMevSimPartTypeParams
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//////////////////////////////////////////////////////////////////////////
9// //
10// TMevSimPartTypeParams //
11// //
12// This class is a helper class for TMevSim interface. It stores //
13// (and writes out on demand) the properties of a single particle //
14// type. //
15// //
16//////////////////////////////////////////////////////////////////////////
17
eae0fe66 18#include <Riostream.h>
1a2762e8 19#ifndef ROOT_TObject
20#include <TObject.h>
21#endif
22
23#include "MevSimCommon.h"
24
25class TMevSimPartTypeParams : public TObject {
26
27 protected:
28
29 Int_t fGPid;
30 Int_t fMultMean;
31 Int_t fMultVarianceControl;
32 Float_t fTempMean, fTempStDev;
33 Float_t fSigmaMean, fSigmaStDev;
34 Float_t fExpVelMean, fExpVelStDev;
35 Float_t fVnMean[NFLOWTERMS][4];
36 Float_t fVnStDev[NFLOWTERMS][4];
37
38 // GPid : particle ID ala geant3
39 // MultMean, MultVarianceControl: mean multiplicy and variance control
40 // MultVarianceControl 0; for no variance in multiplicity
41 // MultVarianceControl 1; to allow Poisson distribution for particle multiplicities
42 // TempMean, TempStDev: Temperature parameter (in GeV)
43 // mean and standard deviation (Gaussian distribution assumed)
44 // SigmaMean, SigmaStDev: Rapidity distribution width (sigma)
45 // mean and standard deviation (Gaussian distribution assumed)
46 // ExpVelMean, ExpVelStDev: Expansion velocity ala Scott Pratt (in units of c)
47 // mean and standard deviation (Gaussian distribution assumed)
48 // VnMean VnStDev: Anisotropic flow parameters for Fourier components NFLOWTERMS=1,6
49 // mean and standard deviation
50 // include all 6 sets of parameters, set them to 0 if not used
51
52 public:
53
54 // Constructors and destructors
55
56 TMevSimPartTypeParams();
57 TMevSimPartTypeParams(Int_t agpid, Int_t amultmean, Int_t amultvc,
58 Float_t atempmean, Float_t atempstdev, Float_t asigmamean,
59 Float_t asigmastdev, Float_t aexpvelmean, Float_t aexpvelstdev);
60 virtual ~TMevSimPartTypeParams();
61
62 // Copy and assignment operators;
63
64 TMevSimPartTypeParams (const TMevSimPartTypeParams& pars); // copy constructor
65 virtual TMevSimPartTypeParams& operator=(const TMevSimPartTypeParams& pars); // assignment operator
66
67 // Parameters of the particle type
68
69 virtual void SetGPid(Int_t gpid);
70 virtual Int_t GetGPid() const;
71
72 virtual void SetMultMean(Int_t multmean);
73 virtual Int_t GetMultMean() const;
74
75 virtual void SetMultVarianceControl(Int_t multvc);
76 virtual Int_t GetMultVarianceControl() const;
77
78 virtual void SetTempParams(Float_t tempmean, Float_t tempstdev);
79 virtual Float_t GetTempMean() const;
80 virtual Float_t GetTempStDev() const;
81
82 virtual void SetSigmaPrams(Float_t sigmamean, Float_t sigmastdev);
83 virtual Float_t GetSigmaMean() const;
84 virtual Float_t GetSigmaStDev() const;
85
86 virtual void SetExpVelParams(Float_t expvelmean, Float_t expvelstdev);
87 virtual Float_t GetExpVelMean() const;
88 virtual Float_t GetExpVelStDev() const;
89
90 virtual void SetVnMeanComponent(Int_t nComponent, Float_t mean1, Float_t mean2,
91 Float_t mean3, Float_t mean4);
92 virtual void SetVnStDevComponent(Int_t nComponent, Float_t stdev1, Float_t stdev2,
93 Float_t stdev3, Float_t stdev4);
94
95 virtual void SetVnMeanComponent (Int_t nComponent, Float_t mean[4]);
96 virtual void SetVnStDevComponent(Int_t nComponent, Float_t stdev[4]);
97
98 virtual Float_t GetVnMeanComponent(Int_t nComponent, Int_t nMean) const;
99 virtual Float_t GetVnStDevComponent(Int_t nComponent, Int_t nStDev) const;
100
101
102 ClassDef(TMevSimPartTypeParams,1) //Parameters of the type of particle for MevSim event generator
103
104
105};
106#endif
107
108
109
110
111
112
113
114
115
116
117
118