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 **************************************************************************/
18 #include "TMevSimPartTypeParams.h"
20 ClassImp(TMevSimPartTypeParams)
23 //______________________________________________________________________________
24 TMevSimPartTypeParams::TMevSimPartTypeParams()
26 // Default constructor
28 for (Int_t i = 0; i < 4; i++)
29 for (Int_t j = 0; j < NFLOWTERMS; j++) {
35 //__________________________________________________________________________
36 TMevSimPartTypeParams::TMevSimPartTypeParams(Int_t agpid, Int_t amultmean, Int_t amultvc,
37 Float_t atempmean, Float_t atempstdev, Float_t asigmamean,
38 Float_t asigmastdev, Float_t aexpvelmean, Float_t aexpvelstdev)
40 // Construct the particle type parametrs class. Use the values provide
41 // by the user to initialize the internal variables. For the meaning of
42 // the parametrs see the TMevSim class documentation.
45 fMultMean = amultmean;
46 fMultVarianceControl = amultvc;
47 fTempMean = atempmean;
48 fTempStDev = atempstdev;
49 fSigmaMean = asigmamean;
50 fSigmaStDev = asigmastdev;
51 fExpVelMean = aexpvelmean;
52 fExpVelStDev = aexpvelstdev;
53 for (Int_t i = 0; i < 4; i++)
54 for (Int_t j = 0; j < NFLOWTERMS; j++) {
61 //______________________________________________________________________________
62 TMevSimPartTypeParams::~TMevSimPartTypeParams() {}
64 //______________________________________________________________________________
65 TMevSimPartTypeParams::TMevSimPartTypeParams (const TMevSimPartTypeParams& pars) : TObject(pars) {
66 // The copy constructor
68 this->fGPid = pars.GetGPid();
69 this->fMultMean = pars.GetMultMean();
70 this->fMultVarianceControl = pars.GetMultVarianceControl();
71 this->fTempMean = pars.GetTempMean();
72 this->fTempStDev = pars.GetTempStDev();
73 this->fSigmaMean = pars.GetSigmaMean();
74 this->fSigmaStDev = pars.GetSigmaStDev();
75 this->fExpVelMean = pars.GetExpVelMean();
76 this->fExpVelStDev = pars.GetExpVelStDev();
77 for (Int_t i = 0; i < 4; i++)
78 for (Int_t j = 0; j < NFLOWTERMS; j++) {
79 this->fVnMean[j][i] = pars.GetVnMeanComponent(j, i);
80 this->fVnStDev[j][i] = pars.GetVnStDevComponent(j, i);
84 //______________________________________________________________________________
85 TMevSimPartTypeParams& TMevSimPartTypeParams::operator=(const TMevSimPartTypeParams& pars) {
86 // The assignment operator
88 this->fGPid = pars.GetGPid();
89 this->fMultMean = pars.GetMultMean();
90 this->fMultVarianceControl = pars.GetMultVarianceControl();
91 this->fTempMean = pars.GetTempMean();
92 this->fTempStDev = pars.GetTempStDev();
93 this->fSigmaMean = pars.GetSigmaMean();
94 this->fSigmaStDev = pars.GetSigmaStDev();
95 this->fExpVelMean = pars.GetExpVelMean();
96 this->fExpVelStDev = pars.GetExpVelStDev();
97 for (Int_t i = 0; i < 4; i++)
98 for (Int_t j = 0; j < NFLOWTERMS; j++) {
99 this->fVnMean[j][i] = GetVnMeanComponent(j, i);
100 this->fVnStDev[j][i] = GetVnStDevComponent(j, i);
105 //______________________________________________________________________________
106 void TMevSimPartTypeParams::SetGPid(Int_t gpid) {
109 //______________________________________________________________________________
110 Int_t TMevSimPartTypeParams::GetGPid() const {
113 //______________________________________________________________________________
114 void TMevSimPartTypeParams::SetMultMean(Int_t multmean) {
115 fMultMean = multmean;
117 //______________________________________________________________________________
118 Int_t TMevSimPartTypeParams::GetMultMean() const {
121 //______________________________________________________________________________
122 void TMevSimPartTypeParams::SetMultVarianceControl(Int_t multvc) {
123 fMultVarianceControl = multvc;
125 //______________________________________________________________________________
126 Int_t TMevSimPartTypeParams::GetMultVarianceControl() const {
127 return fMultVarianceControl;
129 //______________________________________________________________________________
130 void TMevSimPartTypeParams::SetTempParams(Float_t tempmean, Float_t tempsdev) {
131 fTempMean = tempmean;
132 fTempStDev = tempsdev;
134 //______________________________________________________________________________
135 Float_t TMevSimPartTypeParams::GetTempMean() const {
138 //______________________________________________________________________________
139 Float_t TMevSimPartTypeParams::GetTempStDev() const {
142 //______________________________________________________________________________
143 void TMevSimPartTypeParams::SetSigmaPrams(Float_t sigmamean, Float_t sigmastdev) {
144 fSigmaMean = sigmamean;
145 fSigmaStDev = sigmastdev;
147 //______________________________________________________________________________
148 Float_t TMevSimPartTypeParams::GetSigmaMean() const {
151 //______________________________________________________________________________
152 Float_t TMevSimPartTypeParams::GetSigmaStDev() const {
155 //______________________________________________________________________________
156 void TMevSimPartTypeParams::SetExpVelParams(Float_t expvelmean, Float_t expvelstdev) {
157 fExpVelMean = expvelmean;
158 fExpVelStDev = expvelstdev;
160 //______________________________________________________________________________
161 Float_t TMevSimPartTypeParams::GetExpVelMean() const {
164 //______________________________________________________________________________
165 Float_t TMevSimPartTypeParams::GetExpVelStDev() const {
168 //______________________________________________________________________________
170 void TMevSimPartTypeParams::SetVnMeanComponent
171 (Int_t nComponent, Float_t mean1, Float_t mean2, Float_t mean3, Float_t mean4) {
174 if (nComponent < 0 || nComponent > NFLOWTERMS )
175 Error("SetVnMeanComponent", "Wrong Vn component n = %d (must be [%d , %d])",
176 nComponent, 0, NFLOWTERMS);
178 fVnMean[nComponent][0] = mean1;
179 fVnMean[nComponent][1] = mean2;
180 fVnMean[nComponent][2] = mean3;
181 fVnMean[nComponent][3] = mean4;
183 //______________________________________________________________________________
185 void TMevSimPartTypeParams::SetVnStDevComponent
186 (Int_t nComponent, Float_t stdev1, Float_t stdev2,Float_t stdev3, Float_t stdev4) {
188 if (nComponent < 0 || nComponent > NFLOWTERMS )
189 Error("SetVnStDevComponent", "Wrong Vn component n = %d (must be [%d , %d])",
190 nComponent, 0, NFLOWTERMS);
192 fVnStDev[nComponent][0] = stdev1;
193 fVnStDev[nComponent][1] = stdev2;
194 fVnStDev[nComponent][2] = stdev3;
195 fVnStDev[nComponent][3] = stdev4;
198 //______________________________________________________________________________
200 void TMevSimPartTypeParams::SetVnMeanComponent (Int_t nComponent, Float_t mean[4]) {
202 if (nComponent < 0 || nComponent > NFLOWTERMS )
203 Error("SetVnMeanComponent", "Wrong Vn component (%d) (must be [%d,%d])",
204 nComponent, 0, NFLOWTERMS);
207 for (Int_t i=0; i<N; i++)
208 fVnMean[nComponent][i] = mean[i];
212 //______________________________________________________________________________
214 void TMevSimPartTypeParams::SetVnStDevComponent (Int_t nComponent, Float_t stdev[4]) {
216 if (nComponent < 0 || nComponent > NFLOWTERMS )
217 Error("SetVnStDevComponent", "Wrong Vn component n = %d (must be [%d , %d])",
218 nComponent, 0, NFLOWTERMS);
221 for (Int_t i=0; i<N; i++)
222 fVnStDev[nComponent][i] = stdev[i];
225 //______________________________________________________________________________
227 Float_t TMevSimPartTypeParams::GetVnMeanComponent(Int_t nComponent, Int_t nMean) const {
229 if ((nComponent < 0) || (nComponent>NFLOWTERMS) || (nMean < 0) || (nMean > 3)) return 0.0;
230 return fVnMean[nComponent][nMean];
232 //______________________________________________________________________________
233 Float_t TMevSimPartTypeParams::GetVnStDevComponent(Int_t nComponent, Int_t nStDev) const {
235 if ((nComponent < 0) || (nComponent>NFLOWTERMS) || (nStDev < 0) || (nStDev > 3)) return 0.0;
236 return fVnMean[nComponent][nStDev];
239 //______________________________________________________________________________