1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
20 #include "TMevSimPartTypeParams.h"
22 ClassImp(TMevSimPartTypeParams)
25 //______________________________________________________________________________
26 TMevSimPartTypeParams::TMevSimPartTypeParams()
28 // Default constructor
30 for (Int_t i = 0; i < 4; i++)
31 for (Int_t j = 0; j < NFLOWTERMS; j++) {
37 //__________________________________________________________________________
38 TMevSimPartTypeParams::TMevSimPartTypeParams(Int_t agpid, Int_t amultmean, Int_t amultvc,
39 Float_t atempmean, Float_t atempstdev, Float_t asigmamean,
40 Float_t asigmastdev, Float_t aexpvelmean, Float_t aexpvelstdev)
42 // Construct the particle type parametrs class. Use the values provide
43 // by the user to initialize the internal variables. For the meaning of
44 // the parametrs see the TMevSim class documentation.
47 fMultMean = amultmean;
48 fMultVarianceControl = amultvc;
49 fTempMean = atempmean;
50 fTempStDev = atempstdev;
51 fSigmaMean = asigmamean;
52 fSigmaStDev = asigmastdev;
53 fExpVelMean = aexpvelmean;
54 fExpVelStDev = aexpvelstdev;
55 for (Int_t i = 0; i < 4; i++)
56 for (Int_t j = 0; j < NFLOWTERMS; j++) {
63 //______________________________________________________________________________
64 TMevSimPartTypeParams::~TMevSimPartTypeParams() {}
66 //______________________________________________________________________________
67 TMevSimPartTypeParams::TMevSimPartTypeParams (const TMevSimPartTypeParams& pars) {
68 // The copy constructor
70 this->fGPid = pars.GetGPid();
71 this->fMultMean = pars.GetMultMean();
72 this->fMultVarianceControl = pars.GetMultVarianceControl();
73 this->fTempMean = pars.GetTempMean();
74 this->fTempStDev = pars.GetTempStDev();
75 this->fSigmaMean = pars.GetSigmaMean();
76 this->fSigmaStDev = pars.GetSigmaStDev();
77 this->fExpVelMean = pars.GetExpVelMean();
78 this->fExpVelStDev = pars.GetExpVelStDev();
79 for (Int_t i = 0; i < 4; i++)
80 for (Int_t j = 0; j < NFLOWTERMS; j++) {
81 this->fVnMean[j][i] = pars.GetVnMeanComponent(j, i);
82 this->fVnStDev[j][i] = pars.GetVnStDevComponent(j, i);
86 //______________________________________________________________________________
87 TMevSimPartTypeParams& TMevSimPartTypeParams::operator=(const TMevSimPartTypeParams& pars) {
88 // The assignment operator
90 this->fGPid = pars.GetGPid();
91 this->fMultMean = pars.GetMultMean();
92 this->fMultVarianceControl = pars.GetMultVarianceControl();
93 this->fTempMean = pars.GetTempMean();
94 this->fTempStDev = pars.GetTempStDev();
95 this->fSigmaMean = pars.GetSigmaMean();
96 this->fSigmaStDev = pars.GetSigmaStDev();
97 this->fExpVelMean = pars.GetExpVelMean();
98 this->fExpVelStDev = pars.GetExpVelStDev();
99 for (Int_t i = 0; i < 4; i++)
100 for (Int_t j = 0; j < NFLOWTERMS; j++) {
101 this->fVnMean[j][i] = GetVnMeanComponent(j, i);
102 this->fVnStDev[j][i] = GetVnStDevComponent(j, i);
107 //______________________________________________________________________________
108 void TMevSimPartTypeParams::SetGPid(Int_t gpid) {
111 //______________________________________________________________________________
112 Int_t TMevSimPartTypeParams::GetGPid() const {
115 //______________________________________________________________________________
116 void TMevSimPartTypeParams::SetMultMean(Int_t multmean) {
117 fMultMean = multmean;
119 //______________________________________________________________________________
120 Int_t TMevSimPartTypeParams::GetMultMean() const {
123 //______________________________________________________________________________
124 void TMevSimPartTypeParams::SetMultVarianceControl(Int_t multvc) {
125 fMultVarianceControl = multvc;
127 //______________________________________________________________________________
128 Int_t TMevSimPartTypeParams::GetMultVarianceControl() const {
129 return fMultVarianceControl;
131 //______________________________________________________________________________
132 void TMevSimPartTypeParams::SetTempParams(Float_t tempmean, Float_t tempsdev) {
133 fTempMean = tempmean;
134 fTempStDev = tempsdev;
136 //______________________________________________________________________________
137 Float_t TMevSimPartTypeParams::GetTempMean() const {
140 //______________________________________________________________________________
141 Float_t TMevSimPartTypeParams::GetTempStDev() const {
144 //______________________________________________________________________________
145 void TMevSimPartTypeParams::SetSigmaPrams(Float_t sigmamean, Float_t sigmastdev) {
146 fSigmaMean = sigmamean;
147 fSigmaStDev = sigmastdev;
149 //______________________________________________________________________________
150 Float_t TMevSimPartTypeParams::GetSigmaMean() const {
153 //______________________________________________________________________________
154 Float_t TMevSimPartTypeParams::GetSigmaStDev() const {
157 //______________________________________________________________________________
158 void TMevSimPartTypeParams::SetExpVelParams(Float_t expvelmean, Float_t expvelstdev) {
159 fExpVelMean = expvelmean;
160 fExpVelStDev = expvelstdev;
162 //______________________________________________________________________________
163 Float_t TMevSimPartTypeParams::GetExpVelMean() const {
166 //______________________________________________________________________________
167 Float_t TMevSimPartTypeParams::GetExpVelStDev() const {
170 //______________________________________________________________________________
172 void TMevSimPartTypeParams::SetVnMeanComponent
173 (Int_t nComponent, Float_t mean1, Float_t mean2, Float_t mean3, Float_t mean4) {
176 if (nComponent < 0 || nComponent > NFLOWTERMS )
177 Error("SetVnMeanComponent", "Wrong Vn component n = %d (must be [%d , %d])",
178 nComponent, 0, NFLOWTERMS);
180 fVnMean[nComponent][0] = mean1;
181 fVnMean[nComponent][1] = mean2;
182 fVnMean[nComponent][2] = mean3;
183 fVnMean[nComponent][3] = mean4;
185 //______________________________________________________________________________
187 void TMevSimPartTypeParams::SetVnStDevComponent
188 (Int_t nComponent, Float_t stdev1, Float_t stdev2,Float_t stdev3, Float_t stdev4) {
190 if (nComponent < 0 || nComponent > NFLOWTERMS )
191 Error("SetVnStDevComponent", "Wrong Vn component n = %d (must be [%d , %d])",
192 nComponent, 0, NFLOWTERMS);
194 fVnStDev[nComponent][0] = stdev1;
195 fVnStDev[nComponent][1] = stdev2;
196 fVnStDev[nComponent][2] = stdev3;
197 fVnStDev[nComponent][3] = stdev4;
200 //______________________________________________________________________________
202 void TMevSimPartTypeParams::SetVnMeanComponent (Int_t nComponent, Float_t mean[4]) {
204 if (nComponent < 0 || nComponent > NFLOWTERMS )
205 Error("SetVnMeanComponent", "Wrong Vn component (%d) (must be [%d,%d])",
206 nComponent, 0, NFLOWTERMS);
209 for (Int_t i=0; i<N; i++)
210 fVnMean[nComponent][i] = mean[i];
214 //______________________________________________________________________________
216 void TMevSimPartTypeParams::SetVnStDevComponent (Int_t nComponent, Float_t stdev[4]) {
218 if (nComponent < 0 || nComponent > NFLOWTERMS )
219 Error("SetVnStDevComponent", "Wrong Vn component n = %d (must be [%d , %d])",
220 nComponent, 0, NFLOWTERMS);
223 for (Int_t i=0; i<N; i++)
224 fVnStDev[nComponent][i] = stdev[i];
227 //______________________________________________________________________________
229 Float_t TMevSimPartTypeParams::GetVnMeanComponent(Int_t nComponent, Int_t nMean) const {
231 if ((nComponent < 0) || (nComponent>NFLOWTERMS) || (nMean < 0) || (nMean > 3)) return 0.0;
232 return fVnMean[nComponent][nMean];
234 //______________________________________________________________________________
235 Float_t TMevSimPartTypeParams::GetVnStDevComponent(Int_t nComponent, Int_t nStDev) const {
237 if ((nComponent < 0) || (nComponent>NFLOWTERMS) || (nStDev < 0) || (nStDev > 3)) return 0.0;
238 return fVnMean[nComponent][nStDev];
241 //______________________________________________________________________________