00001 #ifndef bmptconfig_cxx
00002 #define bmptconfig_cxx
00003 #include "MessageService/MsgService.h"
00004 #include "MCReweight/BMPTConfig.h"
00005
00006 CVSID("$Id: BMPTConfig.cxx,v 1.2 2005/02/28 14:08:24 cbs Exp $");
00007
00008
00009 BMPTConfig::BMPTConfig() :
00010 CPA_PI(0),CPA_K(0),CPA_P(0),CPA_PBAR(0),
00011 CPB_PI(0),CPB_K(0),CPB_P(0),CPB_PBAR(0),
00012 ALPHA_PI(0),ALPHA_K(0),ALPHA_P(0),ALPHA_PBAR(0),
00013 BETA_PI(0),BETA_K(0),BETA_P(0),BETA_PBAR(0),
00014 GAMMA_PI(0),GAMMA_K(0),GAMMA_P(0),GAMMA_PBAR(0),
00015 DELTA_PI(0),DELTA_K(0),DELTA_P(0),DELTA_PBAR(0),
00016 SMA_PI(0),SMA_K(0),SMA_P(0),SMA_PBAR(0),
00017 SMB_PI(0),SMB_K(0),SMB_P(0),SMB_PBAR(0),
00018 R0_PI(0),R0_K(0),R0_P(0),R0_PBAR(0),
00019 R1_PI(0),R1_K(0),R1_P(0),R1_PBAR(0),
00020 BEAM_P(0),A_TARGET(0),A_BE(0),
00021 TARGET_RHO(0),LAMBDA_P(0),LAMBDA_S(0)
00022 {
00023
00024 MSG("BMPT",Msg::kDebug) << "In BMPTConfig Constructor" << endl;
00025 SetDefaults();
00026
00027 }
00028
00029
00030 BMPTConfig::~BMPTConfig()
00031 {
00032 }
00033
00034
00035 void BMPTConfig::SetDefaults()
00036 {
00037
00038 BEAM_P = 120.0;
00039 A_TARGET = 12.0;
00040 A_BE = 4.0;
00041
00042 CPA_PI = 62.3;
00043 CPA_K = 7.74;
00044 CPA_P = 8.69;
00045 CPA_PBAR = 5.20;
00046
00047 CPB_PI = 1.57;
00048 CPB_K = 0.0;
00049 CPB_P = 12.3;
00050 CPB_PBAR = 0.0;
00051
00052 ALPHA_PI = 3.45;
00053 ALPHA_K = 2.45;
00054 ALPHA_P = 0.0;
00055 ALPHA_PBAR = 7.56;
00056
00057 BETA_PI = 0.517;
00058 BETA_K = 0.444;
00059 BETA_P = 0.0;
00060 BETA_PBAR = 0.362;
00061
00062 SMA_PI = 6.10;
00063 SMA_K = 5.04;
00064 SMA_P = 5.77;
00065 SMA_PBAR = 5.77;
00066
00067 SMB_PI = 0.0;
00068 SMB_K = 0.0;
00069 SMB_P = 1.47;
00070 SMB_PBAR = 0.0;
00071
00072 GAMMA_PI = 0.153;
00073 GAMMA_K = 0.121;
00074 GAMMA_P = 0.0;
00075 GAMMA_PBAR = 0.0;
00076
00077 DELTA_PI = 0.478;
00078 DELTA_K = 2.0*GAMMA_K;
00079 DELTA_P = 0.0;
00080 DELTA_PBAR = 0.0;
00081
00082 R0_PI = 1.05;
00083 R0_K = 1.15;
00084 R0_P = 0.0;
00085 R0_PBAR = 0.0;
00086
00087 R1_PI = 2.65;
00088 R1_K = -3.17;
00089 R1_P = 0.0;
00090 R1_PBAR = 0.0;
00091
00092 TARGET_RHO = 1.754;
00093 LAMBDA_P = 45.0;
00094 LAMBDA_S = 45.0;
00095
00096 }
00097
00098
00099 void BMPTConfig::Print(ostream & stream)
00100 {
00101 stream << "=============================" << endl;
00102 stream << "BMPTConfig parameters:" << endl;
00103 stream << "----------------------" << endl;
00104 stream << "CPA_PI = " << CPA_PI << endl;
00105 stream << "CPA_K = " << CPA_K << endl;
00106 stream << "CPA_P = " << CPA_P << endl;
00107 stream << "CPA_PBAR = " << CPA_PBAR << endl;
00108
00109 stream << "CPB_PI = " << CPB_PI << endl;
00110 stream << "CPB_K = " << CPB_K << endl;
00111 stream << "CPB_P = " << CPB_P << endl;
00112 stream << "CPB_PBAR = " << CPB_PBAR << endl;
00113
00114 stream << "ALPHA_PI = " << ALPHA_PI << endl;
00115 stream << "ALPHA_K = " << ALPHA_K << endl;
00116 stream << "ALPHA_P = " << ALPHA_P << endl;
00117 stream << "ALPHA_PBAR = " << ALPHA_PBAR << endl;
00118
00119 stream << "BETA_PI = " << BETA_PI << endl;
00120 stream << "BETA_K = " << BETA_K << endl;
00121 stream << "BETA_P = " << BETA_P << endl;
00122 stream << "BETA_PBAR = " << BETA_PBAR << endl;
00123
00124 stream << "GAMMA_PI = " << GAMMA_PI << endl;
00125 stream << "GAMMA_K = " << GAMMA_K << endl;
00126 stream << "GAMMA_P = " << GAMMA_P << endl;
00127 stream << "GAMMA_PBAR = " << GAMMA_PBAR << endl;
00128
00129 stream << "DELTA_PI = " << DELTA_PI << endl;
00130 stream << "DELTA_K = " << DELTA_K << endl;
00131 stream << "DELTA_P = " << DELTA_P << endl;
00132 stream << "DELTA_PBAR = " << DELTA_PBAR << endl;
00133
00134 stream << "SMA_PI = " << SMA_PI << endl;
00135 stream << "SMA_K = " << SMA_K << endl;
00136 stream << "SMA_P = " << SMA_P << endl;
00137 stream << "SMA_PBAR = " << SMA_PBAR << endl;
00138
00139 stream << "SMB_PI = " << SMB_PI << endl;
00140 stream << "SMB_K = " << SMB_K << endl;
00141 stream << "SMB_P = " << SMB_P << endl;
00142 stream << "SMB_PBAR = " << SMB_PBAR << endl;
00143
00144 stream << "R0_PI = " << R0_PI << endl;
00145 stream << "R0_K = " << R0_K << endl;
00146 stream << "R0_P = " << R0_P << endl;
00147 stream << "R0_PBAR = " << R0_PBAR << endl;
00148
00149 stream << "R1_PI = " << R1_PI << endl;
00150 stream << "R1_K = " << R1_K << endl;
00151 stream << "R1_P = " << R1_P << endl;
00152 stream << "R1_PBAR = " << R1_PBAR << endl;
00153
00154 stream << "BEAM_P = " << BEAM_P << endl;
00155 stream << "A_TARGET = " << A_TARGET << endl;
00156 stream << "A_BE = " << A_BE << endl;
00157
00158 stream << "TARGET_RHO = " << TARGET_RHO << endl;
00159 stream << "LAMBDA_P = " << LAMBDA_P << endl;
00160 stream << "LAMBDA_S = " << LAMBDA_S << endl;
00161 stream << "=============================" << endl;
00162
00163 }
00164
00165
00166 BMPTConfig BMPTConfig::operator=(BMPTConfig source)
00167 {
00168
00169 CPA_PI = source.GetCPA_PI();
00170 CPA_K = source.GetCPA_K();
00171 CPA_P = source.GetCPA_P();
00172 CPA_PBAR = source.GetCPA_PBAR();
00173
00174 CPB_PI = source.GetCPB_PI();
00175 CPB_K = source.GetCPB_K();
00176 CPB_P = source.GetCPB_P();
00177 CPB_PBAR = source.GetCPB_PBAR();
00178
00179 ALPHA_PI = source.GetALPHA_PI();
00180 ALPHA_K = source.GetALPHA_K();
00181 ALPHA_P = source.GetALPHA_P();
00182 ALPHA_PBAR = source.GetALPHA_PBAR();
00183
00184 BETA_PI = source.GetBETA_PI();
00185 BETA_K = source.GetBETA_K();
00186 BETA_P = source.GetBETA_P();
00187 BETA_PBAR = source.GetBETA_PBAR();
00188
00189 GAMMA_PI = source.GetGAMMA_PI();
00190 GAMMA_K = source.GetGAMMA_K();
00191 GAMMA_P = source.GetGAMMA_P();
00192 GAMMA_PBAR = source.GetGAMMA_PBAR();
00193
00194 DELTA_PI = source.GetDELTA_PI();
00195 DELTA_K = source.GetDELTA_K();
00196 DELTA_P = source.GetDELTA_P();
00197 DELTA_PBAR = source.GetDELTA_PBAR();
00198
00199 SMA_PI = source.GetSMA_PI();
00200 SMA_K = source.GetSMA_K();
00201 SMA_P = source.GetSMA_P();
00202 SMA_PBAR = source.GetSMA_PBAR();
00203
00204 SMB_PI = source.GetSMB_PI();
00205 SMB_K = source.GetSMB_K();
00206 SMB_P = source.GetSMB_P();
00207 SMB_PBAR = source.GetSMB_PBAR();
00208
00209 R0_PI = source.GetR0_PI();
00210 R0_K = source.GetR0_K();
00211 R0_P = source.GetR0_P();
00212 R0_PBAR = source.GetR0_PBAR();
00213
00214 R1_PI = source.GetR1_PI();
00215 R1_K = source.GetR1_K();
00216 R1_P = source.GetR1_P();
00217 R1_PBAR = source.GetR1_PBAR();
00218
00219 BEAM_P = source.GetBEAM_P();
00220 A_TARGET = source.GetA_TARGET();
00221 A_BE = source.GetA_BE();
00222
00223 TARGET_RHO = source.GetTARGET_RHO();
00224 LAMBDA_P = source.GetLAMBDA_P();
00225 LAMBDA_S = source.GetLAMBDA_S();
00226
00227 return *this;
00228 }
00229
00230
00231
00232 const double BMPTConfig::GetCPA(int pid) const
00233 {
00234 if(pid==8||pid==9){
00235 return CPA_PI;
00236 }
00237 else if(pid==10||pid==11||pid==12||pid==16){
00238 return CPA_K;
00239 }
00240 else if(pid==14){
00241 return CPA_P;
00242 }
00243 else if(pid==15){
00244 return CPA_PBAR;
00245 }
00246 return 0;
00247 }
00248
00249
00250 const double BMPTConfig::GetCPB(int pid) const
00251 {
00252 if(pid==8||pid==9){
00253 return CPB_PI;
00254 }
00255 else if(pid==10||pid==11||pid==12||pid==16){
00256 return CPB_K;
00257 }
00258 else if(pid==14){
00259 return CPB_P;
00260 }
00261 else if(pid==15){
00262 return CPB_PBAR;
00263 }
00264 return 0;
00265 }
00266
00267
00268 const double BMPTConfig::GetALPHA(int pid) const
00269 {
00270 if(pid==8||pid==9){
00271 return ALPHA_PI;
00272 }
00273 else if(pid==10||pid==11||pid==12||pid==16){
00274 return ALPHA_K;
00275 }
00276 else if(pid==14){
00277 return ALPHA_P;
00278 }
00279 else if(pid==15){
00280 return ALPHA_PBAR;
00281 }
00282 return 0;
00283 }
00284
00285
00286 const double BMPTConfig::GetBETA(int pid) const
00287 {
00288 if(pid==8||pid==9){
00289 return BETA_PI;
00290 }
00291 else if(pid==10||pid==11||pid==12||pid==16){
00292 return BETA_K;
00293 }
00294 else if(pid==14){
00295 return BETA_P;
00296 }
00297 else if(pid==15){
00298 return BETA_PBAR;
00299 }
00300 return 0;
00301 }
00302
00303
00304 const double BMPTConfig::GetGAMMA(int pid) const
00305 {
00306 if(pid==8||pid==9){
00307 return GAMMA_PI;
00308 }
00309 else if(pid==10||pid==11||pid==12||pid==16){
00310 return GAMMA_K;
00311 }
00312 else if(pid==14){
00313 return GAMMA_P;
00314 }
00315 else if(pid==15){
00316 return GAMMA_PBAR;
00317 }
00318 return 0;
00319 }
00320
00321
00322 const double BMPTConfig::GetDELTA(int pid) const
00323 {
00324 if(pid==8||pid==9){
00325 return DELTA_PI;
00326 }
00327 else if(pid==10||pid==11||pid==12||pid==16){
00328 return DELTA_K;
00329 }
00330 else if(pid==14){
00331 return DELTA_P;
00332 }
00333 else if(pid==15){
00334 return DELTA_PBAR;
00335 }
00336 return 0;
00337 }
00338
00339
00340 const double BMPTConfig::GetSMA(int pid) const
00341 {
00342 if(pid==8||pid==9){
00343 return SMA_PI;
00344 }
00345 else if(pid==10||pid==11||pid==12||pid==16){
00346 return SMA_K;
00347 }
00348 else if(pid==14){
00349 return SMA_P;
00350 }
00351 else if(pid==15){
00352 return SMA_PBAR;
00353 }
00354 return 0;
00355 }
00356
00357
00358 const double BMPTConfig::GetSMB(int pid) const
00359 {
00360 if(pid==8||pid==9){
00361 return SMB_PI;
00362 }
00363 else if(pid==10||pid==11||pid==12||pid==16){
00364 return SMB_K;
00365 }
00366 else if(pid==14){
00367 return SMB_P;
00368 }
00369 else if(pid==15){
00370 return SMB_PBAR;
00371 }
00372 return 0;
00373 }
00374
00375
00376 const double BMPTConfig::GetR0(int pid) const
00377 {
00378 if(pid==8||pid==9){
00379 return R0_PI;
00380 }
00381 else if(pid==10||pid==11||pid==12||pid==16){
00382 return R0_K;
00383 }
00384 else if(pid==14){
00385 return R0_P;
00386 }
00387 else if(pid==15){
00388 return R0_PBAR;
00389 }
00390 return 0;
00391 }
00392
00393
00394 const double BMPTConfig::GetR1(int pid) const
00395 {
00396 if(pid==8||pid==9){
00397 return R1_PI;
00398 }
00399 else if(pid==10||pid==11||pid==12||pid==16){
00400 return R1_K;
00401 }
00402 else if(pid==14){
00403 return R1_P;
00404 }
00405 else if(pid==15){
00406 return R1_PBAR;
00407 }
00408 return 0;
00409 }
00410
00411
00412 void BMPTConfig::SetCPA(int pid,double val)
00413 {
00414 if(pid==8||pid==9){
00415 CPA_PI = val;
00416 }
00417 else if(pid==10||pid==11||pid==12||pid==16){
00418 CPA_K = val;
00419 }
00420 else if(pid==14){
00421 CPA_P = val;
00422 }
00423 else if(pid==15){
00424 CPA_PBAR = val;
00425 }
00426 }
00427
00428
00429 void BMPTConfig::SetCPB(int pid,double val)
00430 {
00431 if(pid==8||pid==9){
00432 CPB_PI = val;
00433 }
00434 else if(pid==10||pid==11||pid==12||pid==16){
00435 CPB_K = val;
00436 }
00437 else if(pid==14){
00438 CPB_P = val;
00439 }
00440 else if(pid==15){
00441 CPB_PBAR = val;
00442 }
00443 }
00444
00445
00446 void BMPTConfig::SetALPHA(int pid,double val)
00447 {
00448 if(pid==8||pid==9){
00449 ALPHA_PI = val;
00450 }
00451 else if(pid==10||pid==11||pid==12||pid==16){
00452 ALPHA_K = val;
00453 }
00454 else if(pid==14){
00455 ALPHA_P = val;
00456 }
00457 else if(pid==15){
00458 ALPHA_PBAR = val;
00459 }
00460 }
00461
00462
00463 void BMPTConfig::SetBETA(int pid,double val)
00464 {
00465 if(pid==8||pid==9){
00466 BETA_PI = val;
00467 }
00468 else if(pid==10||pid==11||pid==12||pid==16){
00469 BETA_K = val;
00470 }
00471 else if(pid==14){
00472 BETA_P = val;
00473 }
00474 else if(pid==15){
00475 BETA_PBAR = val;
00476 }
00477 }
00478
00479
00480 void BMPTConfig::SetGAMMA(int pid,double val)
00481 {
00482 if(pid==8||pid==9){
00483 GAMMA_PI = val;
00484 }
00485 else if(pid==10||pid==11||pid==12||pid==16){
00486 GAMMA_K = val;
00487 }
00488 else if(pid==14){
00489 GAMMA_P = val;
00490 }
00491 else if(pid==15){
00492 GAMMA_PBAR = val;
00493 }
00494 }
00495
00496
00497 void BMPTConfig::SetDELTA(int pid,double val)
00498 {
00499 if(pid==8||pid==9){
00500 DELTA_PI = val;
00501 }
00502 else if(pid==10||pid==11||pid==12||pid==16){
00503 DELTA_K = val;
00504 }
00505 else if(pid==14){
00506 DELTA_P = val;
00507 }
00508 else if(pid==15){
00509 DELTA_PBAR = val;
00510 }
00511 }
00512
00513
00514 void BMPTConfig::SetSMA(int pid,double val)
00515 {
00516 if(pid==8||pid==9){
00517 SMA_PI = val;
00518 }
00519 else if(pid==10||pid==11||pid==12||pid==16){
00520 SMA_K = val;
00521 }
00522 else if(pid==14){
00523 SMA_P = val;
00524 }
00525 else if(pid==15){
00526 SMA_PBAR = val;
00527 }
00528 }
00529
00530
00531 void BMPTConfig::SetSMB(int pid,double val)
00532 {
00533 if(pid==8||pid==9){
00534 SMB_PI = val;
00535 }
00536 else if(pid==10||pid==11||pid==12||pid==16){
00537 SMB_K = val;
00538 }
00539 else if(pid==14){
00540 SMB_P = val;
00541 }
00542 else if(pid==15){
00543 SMB_PBAR = val;
00544 }
00545 }
00546
00547
00548 void BMPTConfig::SetR0(int pid,double val)
00549 {
00550 if(pid==8||pid==9){
00551 R0_PI = val;
00552 }
00553 else if(pid==10||pid==11||pid==12||pid==16){
00554 R0_K = val;
00555 }
00556 else if(pid==14){
00557 R0_P = val;
00558 }
00559 else if(pid==15){
00560 R0_PBAR = val;
00561 }
00562 }
00563
00564
00565 void BMPTConfig::SetR1(int pid,double val)
00566 {
00567 if(pid==8||pid==9){
00568 R1_PI = val;
00569 }
00570 else if(pid==10||pid==11||pid==12||pid==16){
00571 R1_K = val;
00572 }
00573 else if(pid==14){
00574 R1_P = val;
00575 }
00576 else if(pid==15){
00577 R1_PBAR = val;
00578 }
00579 }
00580
00581 #endif