13 /**************************************************************************/
15 TIsajet::TIsajet() : TGenerator("Isajet", "Isajet")
17 // Default constructor
19 if (!sRandom) sRandom=fRandom;
21 // Initialising equivalence structures in FRGPAR :
22 // EQUIVALENCE (PMIX1(1,1),PMIXX1(1))
23 // EQUIVALENCE (PMIX2(1,1),PMIXX2(1))
24 // EQUIVALENCE (FRPAR(1),PUD)
26 FRGPAR.pmixx1[0] = &FRGPAR.pmix1[0][0];
27 FRGPAR.pmixx2[0] = &FRGPAR.pmix2[0][0];
28 FRGPAR.frpar[0] = &FRGPAR.pud;
30 for (Int_t i = 1; i < 6; i++) {
31 FRGPAR.pmixx1[i] = FRGPAR.pmixx1[i-1] + 1;
32 FRGPAR.pmixx1[i] = FRGPAR.pmixx1[i-1] + 1;
35 for (Int_t i = 1; i < 32; i++) {
36 FRGPAR.frpar[i] = FRGPAR.frpar[i-1] +1;
39 // Internal logical flags ensuring that theta and y limits are not simultaneously set :
41 DYLIM.ywset = DYLIM.thwset = false;
45 title = ("Default title.");
51 /**************************************************************************/
55 // No housekeeping required at the moment.
58 /**************************************************************************/
60 void TIsajet::Initialise()
63 // Writes parameter file and stores common block variables in
64 // data members, according to booleans.
65 // If TIsajet is being used in online-control mode, the parameter file is
66 // unnecessary, hence the output is echoed to the screen instead.
68 const char *fname = gSystem->ExpandPathName("$ALICE_ROOT/ISAJET/data/myjob.par");
69 ofstream Write(fname, ios::out);
71 ostream *Writer = &Write;
73 if (online) Writer = &cout;
75 *Writer << title << '\n';
76 *Writer << PRIMAR.ecm << ',' << PRIMAR.nevent << ",1,1/\n";
77 *Writer << jobtype << '\n';
79 center_energy = PRIMAR.ecm;
82 beam1_type = PRIMAR.idin[0];
83 beam2_type = PRIMAR.idin[1];
86 if (PRIMAR.idin[0] == -1120) *Writer << "AP,";
87 else if (PRIMAR.idin[0] == 1220) *Writer << "N,";
88 else if (PRIMAR.idin[0] == -1220) *Writer << "AN,";
91 if (PRIMAR.idin[1] == -1120) *Writer << "AP/\n";
92 else if (PRIMAR.idin[1] == 1220) *Writer << "N/\n";
93 else if (PRIMAR.idin[1] == -1220) *Writer << "AN/\n";
94 else *Writer << "P/\n";
98 cutoff_mass = QCDPAR.cutjet;
99 *Writer << "CUTJET\n" << QCDPAR.cutjet << "/\n";
103 for (Int_t i = 0; i < 32; i++) frag_params[i] = *FRGPAR.frpar[i];
105 *Writer << "FRAGMENT\n";
106 for (Int_t i = 0; i < 31; i++) *Writer << FRGPAR.frpar[i] << ',';
107 *Writer << FRGPAR.frpar[31] << "/\n";
111 for (Int_t i = 0; i < TYPES.njttyp[0]; i++) jet1_type[i] = XTYPES.jetyp[0][i];
112 num_jet_type[0] = TYPES.njttyp[0];
114 *Writer << "JETTYPE1\n";
115 for (Int_t i = 0; i < TYPES.njttyp[0]-1; i++) *Writer << XTYPES.jetyp[0][i] << ',';
116 *Writer << XTYPES.jetyp[0][TYPES.njttyp[0]-1] << "/\n";
119 for (Int_t i = 0; i < TYPES.njttyp[1]; i++) jet2_type[i] = XTYPES.jetyp[1][i];
120 num_jet_type[0] = TYPES.njttyp[0];
122 *Writer << "JETTYPE2\n";
123 for (Int_t i = 0; i < TYPES.njttyp[1]-1; i++) *Writer << XTYPES.jetyp[1][i] << ',';
124 *Writer << XTYPES.jetyp[1][TYPES.njttyp[1]-1] << "/\n";
127 for (Int_t i = 0; i < TYPES.njttyp[2]; i++) jet3_type[i] = XTYPES.jetyp[2][i];
128 num_jet_type[0] = TYPES.njttyp[0];
130 *Writer << "JETTYPE3\n";
131 for (Int_t i = 0; i < TYPES.njttyp[2]-1; i++) *Writer << XTYPES.jetyp[2][i] << ',';
132 *Writer << XTYPES.jetyp[2][TYPES.njttyp[2]-1] << "/\n";
137 qcd_lambda = QCDPAR.alam;
138 *Writer << "LAMBDA\n" << QCDPAR.alam << "/\n";
143 forbid_decay = NODCAY.nodcay;
145 *Writer << "NODCAY\n";
146 if (NODCAY.nodcay) *Writer << "TRUE/\n";
147 else *Writer << "FALSE/\n";
151 forbid_eta = NODCAY.noeta;
153 *Writer << "NOETA\n";
154 if (NODCAY.noeta) *Writer << "TRUE/\n";
155 else *Writer << "FALSE/\n";
159 forbid_evolve = NODCAY.noevol;
161 *Writer << "NOEVOLVE\n";
162 if (NODCAY.noevol) *Writer << "TRUE/\n";
163 else *Writer << "FALSE/\n";
167 forbid_hadron = NODCAY.nohadr;
169 *Writer << "NOHADRON\n";
170 if (NODCAY.nohadr) *Writer << "TRUE/\n";
171 else *Writer << "FALSE/\n";
175 forbid_pi0 = NODCAY.nopi0;
177 *Writer << "NOPI0\n";
178 if (NODCAY.nopi0) *Writer << "TRUE/\n";
179 else *Writer << "FALSE/\n";
183 generate_sigma = PRIMAR.nsigma;
184 *Writer << "NSIGMA\n" << PRIMAR.nsigma << "/\n";
188 for (Int_t i = 0; i < 3; i++) {
189 p_limits[2 * i] = JETLIM.pmin[i];
190 p_limits[2 * i + 1] = JETLIM.pmax[i];
194 *Writer << JETLIM.pmin[0] << ',' << JETLIM.pmax[0] << ',';
195 *Writer << JETLIM.pmin[1] << ',' << JETLIM.pmax[1] << ',';
196 *Writer << JETLIM.pmin[2] << ',' << JETLIM.pmax[2] << "/\n";
200 for (Int_t i = 0; i < 3; i++) {
201 phi_limits[2 * i] = JETLIM.phimin[i];
202 phi_limits[2 * i + 1] = JETLIM.phimax[i];
206 *Writer << JETLIM.phimin[0] << ',' << JETLIM.phimax[0] << ',';
207 *Writer << JETLIM.phimin[1] << ',' << JETLIM.phimax[1] << ',';
208 *Writer << JETLIM.phimin[2] << ',' << JETLIM.phimax[2] << "/\n";
212 for (Int_t i = 0; i < 3; i++) {
213 pt_limits[2 * i] = JETLIM.ptmin[i];
214 pt_limits[2 * i + 1] = JETLIM.ptmax[i];
218 *Writer << JETLIM.ptmin[0] << ',' << JETLIM.ptmax[0] << ',';
219 *Writer << JETLIM.ptmin[1] << ',' << JETLIM.ptmax[1] << ',';
220 *Writer << JETLIM.ptmin[2] << ',' << JETLIM.ptmax[2] << "/\n";
224 for (Int_t i = 0; i < 3; i++) {
225 theta_limits[2 * i] = JETLIM.thmin[i];
226 theta_limits[2 * i + 1] = JETLIM.thmax[i];
229 *Writer << "THETA\n";
230 *Writer << JETLIM.thmin[0] << ',' << JETLIM.thmax[0] << ',';
231 *Writer << JETLIM.thmin[1] << ',' << JETLIM.thmax[1] << ',';
232 *Writer << JETLIM.thmin[2] << ',' << JETLIM.thmax[2] << "/\n";
236 for (Int_t i = 0; i < 3; i++) {
237 x_limits[2 * i] = JETLIM.xjmin[i];
238 x_limits[2 * i + 1] = JETLIM.xjmax[i];
242 *Writer << JETLIM.xjmin[0] << ',' << JETLIM.xjmax[0] << ',';
243 *Writer << JETLIM.xjmin[1] << ',' << JETLIM.xjmax[1] << ',';
244 *Writer << JETLIM.xjmin[2] << ',' << JETLIM.xjmax[2] << "/\n";
248 for (Int_t i = 0; i < 3; i++) {
249 y_limits[2 * i] = JETLIM.yjmin[i];
250 y_limits[2 * i + 1] = JETLIM.yjmax[i];
254 *Writer << JETLIM.yjmin[0] << ',' << JETLIM.yjmax[0] << ',';
255 *Writer << JETLIM.yjmin[1] << ',' << JETLIM.yjmax[1] << ',';
256 *Writer << JETLIM.yjmin[2] << ',' << JETLIM.yjmax[2] << "/\n";
260 for (Int_t i = 0; i < 8; i++) peter_jet_frag[i] = FRGPAR.xgen[i];
263 for (Int_t i = 0; i < 7; i++) *Writer << FRGPAR.xgen[i] << ',';
264 *Writer << FRGPAR.xgen[7] << "/\n";
268 *Writer << "PDFLIB\n";
269 for (Int_t i = 0; i < num_Pdf; i++) *Writer << "\'" << pdfpar[i] << "\'" << ',' << pdfval[i] << "/\n";
277 // Stuff for online-control mode :
282 for (Int_t i = 0; i < KEYS.mxkeys; i++) KEYS.keys[i] = false;
284 if (!strcmp(KEYS.reac, "TWOJET")) {
289 else if (!strcmp(KEYS.reac, "MINBIAS")) {
295 printf("Error in TIsajet::Initialise :\n");
296 printf("Invalid job type %s.\n", KEYS.reac);
297 printf("Only TWOJET and MINBIAS are currently supported for online mode.\n");
307 /**************************************************************************/
309 void TIsajet::Reload()
312 // Sets the common block variables to the data member values.
315 SetECM(center_energy);
318 SetIDIN(0, beam1_type);
319 SetIDIN(1, beam2_type);
322 if (setCutjet) SetCUTJET(cutoff_mass);
324 if (setFragment) SetAllFRPAR(frag_params, 32);
326 if (setJettype1) for (Int_t i = 0; i < num_jet_type[0]; i++) SetJETYP(0, jet1_type[i]);
328 if (setJettype2) for (Int_t i = 0; i < num_jet_type[1]; i++) SetJETYP(1, jet2_type[i]);
330 if (setJettype3) for (Int_t i = 0; i < num_jet_type[2]; i++) SetJETYP(2, jet3_type[i]);
332 if (setLambda) SetALAM(qcd_lambda);
334 if (setNodcay) SetNODCAY(forbid_decay);
336 if (setNoeta) SetNOETA(forbid_eta);
338 if (setNoevolve) SetNOEVOL(forbid_evolve);
340 if (setNohadron) SetNOHADR(forbid_hadron);
342 if (setNopi0) SetNOPI0(forbid_pi0);
344 if (setNsigma) SetNSIGMA(generate_sigma);
347 for (Int_t i = 0; i < 3; i++) {
348 SetPMIN(p_limits[2 * i], i);
349 SetPMAX(p_limits[2 * i + 1], i);
354 for (Int_t i = 0; i < 3; i++) {
355 SetPHIMIN(phi_limits[2 * i], i);
356 SetPHIMAX(phi_limits[2 * i + 1], i);
361 for (Int_t i = 0; i < 3; i++) {
362 SetPTMIN(pt_limits[2 * i], i);
363 SetPTMAX(pt_limits[2 * i + 1], i);
368 for (Int_t i = 0; i < 3; i++) {
369 SetTHMIN(theta_limits[2 * i], i);
370 SetTHMAX(theta_limits[2 * i + 1], i);
375 for (Int_t i = 0; i < 3; i++) {
376 SetXJMIN(x_limits[2 * i], i);
377 SetXJMAX(x_limits[2 * i + 1], i);
382 for (Int_t i = 0; i < 3; i++) {
383 SetYJMIN(y_limits[2 * i], i);
384 SetYJMAX(y_limits[2 * i + 1], i);
388 if (setXgen) SetAllXGEN(peter_jet_frag, 8);
391 /**************************************************************************/
393 void TIsajet::RestoreDefaults()
395 // Booleans indicating which keywords should be written into the parameter file.
397 setBeams = setCutjet = setFragment = setJettype1 = false;
398 setJettype2 = setJettype3 = setLambda = setNodcay = false;
399 setNoeta = setNoevolve = setNohadron = setNopi0 = false;
400 setNsigma = setP = setPhi = setPt = setTheta = false;
401 setX = setXgen = setY = setPdf = false;
404 // Calling on FORTRAN for initialisation of variables
419 /**************************************************************************/
421 Int_t TIsajet::ImportParticles(TClonesArray *particles, Option_t *option)
424 // Default primary creation method. It reads the /HEPEVT/ common block which
425 // has been filled by the GenerateEvent method. If the event generator does
426 // not use the HEPEVT common block, this routine has to be overloaded by
428 // The function loops on the generated particles and stores them in
429 // the TClonesArray pointed by the argument particles.
430 // The default action is to store only the stable particles (ISTHEP = 1)
431 // This can be demanded explicitly by setting the option = "Final"
432 // If the option = "All", all the particles are stored.
434 if (particles == 0) return 0;
435 TClonesArray &Particles = *particles;
437 TDatabasePDG* converter = TDatabasePDG::Instance();
438 Int_t numpart = PARTCL.nptcl;
439 printf("\n TIsajet: ISAJET stack contains %d particles.", numpart);
440 printf("\n TIsajet: Total energy: %f ", PRIMAR.ecm);
442 if ((!strcmp(option,"")) || (!strcmp(option,"Final"))) {
443 for (Int_t i = 0; i < numpart; i++) {
445 if (PARTCL.idcay[i] == 0) { // Check whether particle is stable.
447 // Use the common block values for the TParticle constructor
450 new(Particles[i]) TParticle(
451 converter->ConvertIsajetToPdg(PARTCL.ident[i]) , // PDG code
452 0 , // Status - currently a default
454 -1, // Mothers and daughters - not used for stable particles
459 PARTCL.pptcl[i][0] , // x, y, z and 0 momenta
464 0, // Velocities - currently not used.
471 else if (!strcmp(option,"All")) {
473 for (Int_t i = 0; i < numpart; i++) {
475 // Determine mother particle. Set to -1 if the particle originates from
476 // a parton or is a beam particle.
478 Int_t origin = PARTCL.iorig[i];
479 Int_t jet = origin / PARTCL.ipack;
480 origin = origin - (jet * PARTCL.ipack);
482 if (origin < 0) origin = 0;
484 // Determine first and last decay products. Both are -1 if the particle is stable.
485 // Note this means they are set to 0, because one is subtracted after decoding;
486 // this avoid off-by-one errors relative to the FORTRAN.
488 Int_t first_Daughter = 0;
489 Int_t last_Daughter = 0;
491 if (PARTCL.idcay[i] != 0) {
492 first_Daughter = PARTCL.idcay[i] / PARTCL.ipack;
493 last_Daughter = PARTCL.idcay[i] - (first_Daughter * PARTCL.ipack);
495 new(Particles[i]) TParticle(
496 converter->ConvertIsajetToPdg(PARTCL.ident[i]) ,
518 /**************************************************************************/
520 void TIsajet::GenerateEvent()
526 // if (online) Isabg2(e);
533 /**************************************************************************/
535 void TIsajet::SetJobtype(Char_t *val)
537 if ((!strcmp(val, "TWOJET")) || (!strcmp(val, "E+E-")) ||
538 (!strcmp(val, "DRELLYAN")) || (!strcmp(val, "MINBIAS")) ||
539 (!strcmp(val, "SUSY")) || (!strcmp(val, "WPAIR")) ||
540 (!strcmp(val, "HIGGS")) || (!strcmp(val, "PHOTON")) ||
541 (!strcmp(val, "TCOLOR")) || (!strcmp(val, "WHIGGS")) ||
542 (!strcmp(val, "EXTRADIM")) || (!strcmp(val, "ZJJ"))) {
546 printf("Error in TIsajet::SetJobtype :\n");
547 printf("Invalid reaction keyword %s.\n", val);
548 printf("Valid keywords are : TWOJET, E+E-, DRELLYAN,\n");
549 printf("MINBIAS, SUSY, WPAIR, HIGGS, PHOTON, TCOLOR,\n");
550 printf("WHIGGS, EXTRADIM and ZJJ.\n");
554 /**************************************************************************/
556 void TIsajet::GetJobtype() const
558 printf ("Current job type is %s.\n", jobtype);
561 /**************************************************************************/
563 void TIsajet::SetOnline(Bool_t val)
568 /**************************************************************************/
570 Bool_t TIsajet::GetOnline() const
575 /**************************************************************************/
577 void TIsajet::SetPDF(Char_t *name, Float_t val)
580 pdfpar[num_Pdf] = name;
581 pdfval[num_Pdf] = val;
586 printf ("Error in TIsajet::SetPDF :\n");
587 printf ("Maximum of twenty PDF parameters may be set.\n");
591 /**************************************************************************/
593 // Access routines for common blocks.
594 // Begins DYLIM access.
596 /**************************************************************************/
598 void TIsajet::SetQMIN(Float_t val)
600 if (val > DYLIM.qmax) {
601 printf("Error in TIsajet::SetQMIN : \n");
602 printf("You may not set QMIN to a value larger than QMAX = %f.\n", DYLIM.qmax);
607 if (!DYLIM.ywset) SetYWLIMS();
610 /**************************************************************************/
612 Float_t TIsajet::GetQMIN() const
617 /**************************************************************************/
619 void TIsajet::SetQMAX(Float_t val)
621 if (val < DYLIM.qmin) {
622 printf("Error in TIsajet::SetQMAX : \n");
623 printf("You may not set QMAX to a value less than QMIN = %f.\n", DYLIM.qmin);
630 /**************************************************************************/
632 Float_t TIsajet::GetQMAX() const
637 /**************************************************************************/
639 void TIsajet::SetQTMIN(Float_t val)
641 if (val > DYLIM.qtmax) {
642 printf("Error in TIsajet::SetQTMIN : \n");
643 printf("You may not set QTMIN to a value larger than QTMAX = %f.\n", DYLIM.qtmax);
647 if (!DYLIM.ywset) SetYWLIMS();
650 /**************************************************************************/
652 Float_t TIsajet::GetQTMIN() const
657 /**************************************************************************/
659 void TIsajet::SetQTMAX(Float_t val)
661 if (val < DYLIM.qtmin) {
662 printf("Error in TIsajet::SetQTMAX : \n");
663 printf("You may not set QTMAX to a value less than QTMIN = %f.\n", DYLIM.qtmin);
668 if (!DYLIM.ywset) SetYWLIMS();
671 /**************************************************************************/
673 Float_t TIsajet::GetQTMAX() const
678 /**************************************************************************/
680 void TIsajet::SetYWMIN(Float_t val)
682 if (val > DYLIM.ywmax) {
683 printf("Error in TIsajet::SetYWMIN : \n");
684 printf("You may not set YWMIN to a value larger than YWMAX = %f.\n", DYLIM.ywmax);
689 printf("Error in TIsajet::SetYWMIN :\n");
690 printf("May not set both theta and y limits. Use SetTHWLIMS, then set YWMIN.\n");
698 /**************************************************************************/
700 Float_t TIsajet::GetYWMIN() const
705 /**************************************************************************/
707 void TIsajet::SetYWMAX(Float_t val)
709 if (val < DYLIM.ywmin) {
710 printf("Error in TIsajet::SetYWMAX : \n");
711 printf("You may not set YWMAX to a value less than YWMIN = %f.\n", DYLIM.ywmin);
716 printf("Error in TIsajet::SetYWMAX :\n");
717 printf("May not set both theta and y limits. Use SetTHWLIMS, then set YWMAX.\n");
725 /**************************************************************************/
727 Float_t TIsajet::GetYWMAX() const
732 /**************************************************************************/
734 void TIsajet::SetYWLIMS()
736 Float_t rot = sqrt(DYLIM.qmin * DYLIM.qmin + DYLIM.qtmin * DYLIM.qtmin);
737 DYLIM.ywmax = acosh(PRIMAR.halfe / rot);
738 DYLIM.ywmin = -DYLIM.ywmax;
742 /**************************************************************************/
744 void TIsajet::SetXWMIN(Float_t val)
746 if (val > DYLIM.xwmax) {
747 printf("Error in TIsajet::SetXWMIN : \n");
748 printf("You may not set XWMIN to a value larger than XWMAX = %f.\n", DYLIM.xwmax);
754 /**************************************************************************/
756 Float_t TIsajet::GetXWMIN() const
761 /**************************************************************************/
763 void TIsajet::SetXWMAX(Float_t val)
765 if (val < DYLIM.xwmin) {
766 printf("Error in TIsajet::SetXWMAX : \n");
767 printf("You may not set XWMAX to a value less than XWMIN = %f.\n", DYLIM.xwmin);
774 /**************************************************************************/
776 Float_t TIsajet::GetXWMAX() const
781 /**************************************************************************/
783 void TIsajet::SetTHWMIN(Float_t val)
785 if (val > DYLIM.thwmax) {
786 printf("Error in TIsajet::SetTHWMIN : \n");
787 printf("You may not set THWMIN to a value larger than THWMAX = %f.\n", DYLIM.thwmax);
792 printf("Error in TIsajet::SetTHWMIN :\n");
793 printf("May not set both theta and y limits. Use SetYWLIMS, then set THWMIN.\n");
801 /**************************************************************************/
803 Float_t TIsajet::GetTHWMIN() const
808 /**************************************************************************/
810 void TIsajet::SetTHWMAX(Float_t val)
812 if (val < DYLIM.thwmin) {
813 printf("Error in TIsajet::SetTHWMAX : \n");
814 printf("You may not set THWMAX to a value less than THWMIN = %f.\n", DYLIM.thwmin);
819 printf("Error in TIsajet::SetTHWMAX :\n");
820 printf("May not set both theta and y limits. Use SetYWLIMS, then set THWMAX.\n");
828 /**************************************************************************/
830 Float_t TIsajet::GetTHWMAX() const
835 /**************************************************************************/
837 void TIsajet::SetTHWLIMS()
840 DYLIM.thwmax = TMath::Pi();
841 DYLIM.thwset = false;
844 /**************************************************************************/
846 void TIsajet::SetPHWMIN(Float_t val)
848 if (val > DYLIM.phwmax) {
849 printf("Error in TIsajet::SetPHWMIN : \n");
850 printf("You may not set PHWMIN to a value larger than PHWMAX = %f.\n", DYLIM.phwmax);
856 /**************************************************************************/
858 Float_t TIsajet::GetPHWMIN() const
863 /**************************************************************************/
865 void TIsajet::SetPHWMAX(Float_t val)
867 if (val < DYLIM.phwmin) {
868 printf("Error in TIsajet::SetPHWMAX : \n");
869 printf("You may not set PHWMAX to a value less than PHWMIN = %f.\n", DYLIM.phwmin);
876 /**************************************************************************/
878 Float_t TIsajet::GetPHWMAX() const
883 /**************************************************************************/
885 Bool_t TIsajet::GetSETLMQ(Int_t index) const
887 Int_t length = (sizeof DYLIM.setlmq / sizeof DYLIM.setlmq[0]);
888 if ((index < 0) || (index >= length)) {
889 printf ("Error in TIsajet::GetSETLMQ : \n");
890 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
894 return DYLIM.setlmq[index];
897 /**************************************************************************/
899 // End of DYLIM access.
900 // Begins EEPAR access.
902 /**************************************************************************/
904 void TIsajet::SetPLEP(Float_t val)
909 /**************************************************************************/
911 Float_t TIsajet::GetPLEP() const
916 /**************************************************************************/
918 void TIsajet::SetPLEM(Float_t val)
923 /**************************************************************************/
925 Float_t TIsajet::GetPLEM() const
930 /**************************************************************************/
932 void TIsajet::SetRSHMIN(Float_t val)
934 if (val > EEPAR.rshmax) {
935 printf("Error in TIsajet::SetRSHMIN : \n");
936 printf("You may not set RSHMIN to a value larger than RSHMAX = %f.\n", EEPAR.rshmax);
942 /**************************************************************************/
944 Float_t TIsajet::GetRSHMIN() const
949 /**************************************************************************/
951 void TIsajet::SetRSHMAX(Float_t val)
953 if (val < EEPAR.rshmin) {
954 printf("Error in TIsajet::SetRSHMAX : \n");
955 printf("You may not set RSHMAX to a value less than RSHMIN = %f.\n", EEPAR.rshmin);
962 /**************************************************************************/
964 Float_t TIsajet::GetRSHMAX() const
969 /**************************************************************************/
971 void TIsajet::SetUPSLON(Float_t val)
976 /**************************************************************************/
978 Float_t TIsajet::GetUPSLON() const
983 /**************************************************************************/
985 void TIsajet::SetSIGZ(Float_t val)
990 /**************************************************************************/
992 Float_t TIsajet::GetSIGZ() const
997 /**************************************************************************/
999 Bool_t TIsajet::GetIBREM() const
1004 /**************************************************************************/
1006 Bool_t TIsajet::GetIBEAM() const
1011 /**************************************************************************/
1013 Float_t TIsajet::GetSGMXEE() const
1015 return EEPAR.sgmxee;
1018 /**************************************************************************/
1020 // End of EEPAR access.
1021 // Begins FORCE access.
1023 /**************************************************************************/
1025 Int_t TIsajet::GetNFORCE() const
1027 return FORCE.nforce;
1030 /**************************************************************************/
1032 void TIsajet::SetIFORCE(const Int_t val[], Int_t arraySize, Bool_t anti = true)
1034 if (GetNFORCE() >= FORCE.mxforc - anti) {
1035 printf ("ERROR in TIsajet::SetIFORCE :\n");
1036 printf ("Cannot have more than %d forced decays.\n", FORCE.mxforc );
1040 if ((arraySize > 6) || (arraySize < 2)) {
1041 printf ("Error in TIsajet::SetIFORCE : \n");
1042 printf ("Invalid array size %d; must be 2-6.\n", arraySize);
1046 for (Int_t i = 0; i < FORCE.nforce; i++) {
1047 if (FORCE.iforce[i] == val[0]) {
1048 printf ("Error in TIsajet::SetIFORCE : \n");
1049 printf ("Particle %d has already been forced, index %d.\n", val[0], i);
1055 FORCE.iforce[FORCE.nforce] = val[0];
1056 for (Int_t i = 1; i < arraySize; i++) {
1057 FORCE.mforce[FORCE.nforce][i-1] = val[i];
1062 printf ("Decay channel %d -> ", val[0]);
1063 for (Int_t i = 1; i < arraySize; i++) {
1064 printf ("%d, ", val[i]);
1069 Int_t antivals[arraySize];
1070 for (Int_t i = 0; i < arraySize; i++){
1071 antivals[i] = (0 - val[i]);
1073 SetIFORCE(antivals, arraySize, false);
1077 /**************************************************************************/
1079 void TIsajet::UnForce(Int_t index, Bool_t anti = true)
1081 if (FORCE.nforce == 0) {
1082 printf ("Error in TIsajet::UnForce : \n");
1083 printf ("No decays have been forced.\n");
1087 if ((index < 0) || (index >= FORCE.nforce)) {
1088 printf ("Error in TIsajet::UnForce : \n");
1089 printf ("Invalid decay index %d; range is 0-%d.\n", index, FORCE.nforce-1);
1093 Int_t particle_ID = FORCE.iforce[index];
1095 for (Int_t i = index; i < FORCE.mxforc - 1; i++) {
1096 FORCE.iforce[i] = FORCE.iforce[i+1];
1097 for (Int_t j = 0; j < 5; j++) {
1098 FORCE.mforce[i][j] = FORCE.mforce[i+1][j];
1101 FORCE.iforce[FORCE.mxforc - 1] = 0;
1102 for (Int_t j = 0; j < 5; j++) {
1103 FORCE.mforce[FORCE.mxforc - 1][j] = 0;
1108 printf ("Decay of %d unforced.\n", particle_ID);
1110 if (anti) UnForceID(-particle_ID, false);
1113 /**************************************************************************/
1115 void TIsajet::UnForceID(Int_t particle_ID, Bool_t anti = true)
1117 if (FORCE.nforce == 0) {
1118 printf ("Error in TIsajet::UnForceID : \n");
1119 printf ("No decays have been forced.\n");
1123 for (Int_t i = 0; i < FORCE.nforce; i++) {
1124 if (FORCE.iforce[i] == particle_ID) {
1130 printf ("Error in TIsajet::UnForceID : \n");
1131 printf ("Cannot find particle %d.\n", particle_ID);
1134 /**************************************************************************/
1136 Int_t* TIsajet::GetIFORCE(Int_t index) const
1138 if (FORCE.nforce == 0) {
1139 printf ("Error in TIsajet::GetIFORCE : \n");
1140 printf ("No decays have been forced.\n");
1144 if ((index < 0) || (index >= FORCE.nforce)) {
1145 printf ("Error in TIsajet::GetIFORCE : \n");
1146 printf ("Invalid decay index %d; range is 0-%d.\n", index, FORCE.nforce-1);
1151 decay[0] = FORCE.iforce[index];
1153 for (Int_t i = 1; i < 6; i++) {
1154 decay[i] = FORCE.mforce[index][i-1];
1160 /**************************************************************************/
1162 Int_t TIsajet::GetMEFORC(Int_t index) const
1164 if (FORCE.nforce == 0) {
1165 printf ("Error in TIsajet::GetMEFORCE : \n");
1166 printf ("No decays have been forced.\n");
1170 if ((index < 0) || (index >= FORCE.nforce)) {
1171 printf ("Error in TIsajet::GetMEFORC : \n");
1172 printf ("Invalid array index %d; range is 0-%d.\n", index, FORCE.nforce-1);
1176 return FORCE.meforc[index];
1179 /**************************************************************************/
1181 // End of FORCE access.
1182 // Begins FRGPAR access.
1184 /**************************************************************************/
1186 void TIsajet::SetFRPAR(Float_t val, Int_t index)
1188 Int_t length = (sizeof FRGPAR.frpar / sizeof FRGPAR.frpar[0]);
1189 if ((index < 0) || (index >= length)) {
1190 printf ("Error in TIsajet::SetFRPAR : \n");
1191 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1195 *FRGPAR.frpar[index] = val;
1199 /**************************************************************************/
1201 void TIsajet::SetAllFRPAR(const Float_t val[], Int_t arraySize)
1203 Int_t length = (sizeof FRGPAR.frpar / sizeof FRGPAR.frpar[0]);
1204 if (arraySize != length) {
1205 printf ("Error in TIsajet::SetAllFRPAR : \n");
1206 printf ("Array must have %d elements.\n", length);
1210 for (Int_t i = 0; i < arraySize; i++) {
1211 SetFRPAR(val[i], i);
1215 /**************************************************************************/
1217 Float_t TIsajet::GetFRPAR(Int_t index) const
1219 Int_t length = (sizeof FRGPAR.frpar / sizeof FRGPAR.frpar[0]);
1220 if ((index < 0) || (index >= length)) {
1221 printf ("Error in TIsajet::GetFRPAR : \n");
1222 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1226 return *FRGPAR.frpar[index];
1229 /**************************************************************************/
1231 void TIsajet::SetPUD(Float_t val)
1236 /**************************************************************************/
1238 Float_t TIsajet::GetPUD() const
1243 /**************************************************************************/
1245 void TIsajet::SetPBARY(Float_t val)
1250 /**************************************************************************/
1252 Float_t TIsajet::GetPBARY() const
1257 /**************************************************************************/
1259 void TIsajet::SetSIGQT(Float_t val)
1264 /**************************************************************************/
1266 Float_t TIsajet::GetSIGQT() const
1271 /**************************************************************************/
1273 void TIsajet::SetPEND(Float_t val)
1278 /**************************************************************************/
1280 Float_t TIsajet::GetPEND() const
1285 /**************************************************************************/
1287 void TIsajet::SetXGEN(Float_t val, Int_t index)
1289 Int_t length = (sizeof FRGPAR.xgen / sizeof FRGPAR.xgen[0]);
1290 if ((index < 0) || (index >= length)) {
1291 printf ("Error in TIsajet::SetXGEN : \n");
1292 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1295 SetFRPAR(val, index + 4);
1299 /**************************************************************************/
1301 void TIsajet::SetAllXGEN(const Float_t val[], Int_t arraySize)
1303 Int_t length = (sizeof FRGPAR.xgen / sizeof FRGPAR.xgen[0]);
1304 if (arraySize != length) {
1305 printf ("Error in TIsajet::SetAllXGEN : \n");
1306 printf ("Array must have %d elements.\n", length);
1310 for (Int_t i = 0; i < arraySize; i++) {
1315 /**************************************************************************/
1317 Float_t TIsajet::GetXGEN(Int_t index) const
1319 Int_t length = (sizeof FRGPAR.xgen / sizeof FRGPAR.xgen[0]);
1320 if ((index < 0) || (index >= length)) {
1321 printf ("Error in TIsajet::GetXGEN : \n");
1322 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1326 return GetFRPAR(index + 4);
1329 /**************************************************************************/
1331 void TIsajet::SetPSPIN1(Float_t val, Int_t index)
1333 Int_t length = (sizeof FRGPAR.pspin1 / sizeof FRGPAR.pspin1[0]);
1334 if ((index < 0) || (index >= length)) {
1335 printf ("Error in TIsajet::SetPSPIN1 : \n");
1336 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1340 SetFRPAR(val, index + 12);
1343 /**************************************************************************/
1345 void TIsajet::SetAllPSPIN1(const Float_t val[], Int_t arraySize)
1347 Int_t length = (sizeof FRGPAR.pspin1 / sizeof FRGPAR.pspin1[0]);
1348 if (arraySize != length) {
1349 printf ("Error in TIsajet::SetAllPSPIN1 : \n");
1350 printf ("Array must have %d elements.\n", length);
1354 for (Int_t i = 0; i < arraySize; i++) {
1355 SetPSPIN1(val[i], i);
1359 /**************************************************************************/
1361 Float_t TIsajet::GetPSPIN1(Int_t index) const
1363 Int_t length = (sizeof FRGPAR.xgen / sizeof FRGPAR.xgen[0]);
1364 if ((index < 0) || (index >= length)) {
1365 printf ("Error in TIsajet::GetPSPIN1 : \n");
1366 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1370 return GetFRPAR(index + 12);
1373 /**************************************************************************/
1375 void TIsajet::SetPMIX1(Float_t val, Int_t index1, Int_t index2)
1377 Int_t col_num = (sizeof FRGPAR.pmix1[0] / sizeof FRGPAR.pmix1[0][0]);
1378 Int_t row_num = (sizeof FRGPAR.pmix1 / (sizeof FRGPAR.pmix1[0][0] * col_num));
1380 if ((index1 < 0) || (index1 >= row_num)) {
1381 printf ("Error in TIsajet::SetPMIX1 : \n");
1382 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
1386 if ((index2 < 0) || (index2 >= col_num)) {
1387 printf ("Error in TIsajet::SetPMIX1 : \n");
1388 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
1392 FRGPAR.pmix1[index1][index2] = val;
1396 /**************************************************************************/
1398 void TIsajet::SetAllPMIX1(const Float_t val[2][3])
1400 for (Int_t i = 0; i < 2; i++) {
1401 for (Int_t j = 0; j < 3; j++) {
1402 SetPMIX1(val[i][j], i, j);
1407 /**************************************************************************/
1409 void TIsajet::SetColumnPMIX1(const Float_t val[], Int_t col)
1411 Int_t col_num = (sizeof FRGPAR.pmix1[0] / sizeof FRGPAR.pmix1[0][0]);
1412 Int_t row_num = (sizeof FRGPAR.pmix1 / (sizeof FRGPAR.pmix1[0][0] * col_num));
1414 if ((col < 0) || (col >= col_num)) {
1415 printf ("Error in TIsajet::SetColumnPMIX1 : \n");
1416 printf ("Invalid column index %d, range is 0-%d.\n", col, col_num-1);
1420 for (Int_t i = 0; i < row_num; i++) {
1421 SetPMIX1(val[i], i, col);
1425 /**************************************************************************/
1427 Float_t TIsajet::GetPMIX1(Int_t index1, Int_t index2) const
1429 Int_t col_num = (sizeof FRGPAR.pmix1[0] / sizeof FRGPAR.pmix1[0][0]);
1430 Int_t row_num = (sizeof FRGPAR.pmix1 / (sizeof FRGPAR.pmix1[0][0] * col_num));
1432 if ((index1 < 0) || (index1 >= row_num)) {
1433 printf ("Error in TIsajet::GetPMIX1 : \n");
1434 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
1438 if ((index2 < 0) || (index2 >= col_num)) {
1439 printf ("Error in TIsajet::GetPMIX1 : \n");
1440 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
1444 return FRGPAR.pmix1[index1][index2];
1447 /**************************************************************************/
1449 void TIsajet::SetPMIX2(Float_t val, Int_t index1, Int_t index2)
1451 Int_t col_num = (sizeof FRGPAR.pmix2[0] / sizeof FRGPAR.pmix2[0][0]);
1452 Int_t row_num = (sizeof FRGPAR.pmix2 / (sizeof FRGPAR.pmix2[0][0] * col_num));
1454 if ((index1 < 0) || (index1 >= row_num)) {
1455 printf ("Error in TIsajet::SetPMIX2 : \n");
1456 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
1460 if ((index2 < 0) || (index2 >= col_num)) {
1461 printf ("Error in TIsajet::SetPMIX2 : \n");
1462 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
1466 FRGPAR.pmix2[index1][index2] = val;
1470 /**************************************************************************/
1472 void TIsajet::SetAllPMIX2(const Float_t val[2][3])
1474 for (Int_t i = 0; i < 2; i++) {
1475 for (Int_t j = 0; j < 3; j++) {
1476 SetPMIX2(val[i][j], i, j);
1481 /**************************************************************************/
1483 void TIsajet::SetColumnPMIX2(const Float_t val[], Int_t col)
1485 Int_t col_num = (sizeof FRGPAR.pmix2[0] / sizeof FRGPAR.pmix2[0][0]);
1486 Int_t row_num = (sizeof FRGPAR.pmix2 / (sizeof FRGPAR.pmix2[0][0] * col_num));
1488 if ((col < 0) || (col >= col_num)) {
1489 printf ("Error in TIsajet::SetColumnPMIX2 : \n");
1490 printf ("Invalid column index %d, range is 0-%d.\n", col, col_num-1);
1494 for (Int_t i = 0; i < row_num; i++) {
1495 SetPMIX2(val[i], i, col);
1499 /**************************************************************************/
1501 Float_t TIsajet::GetPMIX2(Int_t index1, Int_t index2) const
1503 Int_t col_num = (sizeof FRGPAR.pmix2[0] / sizeof FRGPAR.pmix2[0][0]);
1504 Int_t row_num = (sizeof FRGPAR.pmix2 / (sizeof FRGPAR.pmix2[0][0] * col_num));
1506 if ((index1 < 0) || (index1 >= row_num)) {
1507 printf ("Error in TIsajet::GetPMIX2 : \n");
1508 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
1512 if ((index2 < 0) || (index2 >= col_num)) {
1513 printf ("Error in TIsajet::GetPMIX2 : \n");
1514 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
1518 return FRGPAR.pmix2[index1][index2];
1521 /**************************************************************************/
1523 void TIsajet::SetPMIXX1(Float_t val, Int_t index)
1525 Int_t length = (sizeof FRGPAR.pmixx1 / sizeof FRGPAR.pmixx1[0]);
1526 if ((index < 0) || (index >= length)) {
1527 printf ("Error in TIsajet::SetPMIXX1 : \n");
1528 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1532 *FRGPAR.pmixx1[index] = val;
1536 /**************************************************************************/
1538 void TIsajet::SetAllPMIXX1(const Float_t val[], Int_t arraySize)
1540 Int_t length = (sizeof FRGPAR.pmixx1 / sizeof FRGPAR.pmixx1[0]);
1541 if (arraySize != length) {
1542 printf ("Error in TIsajet::SetAllPMIXX1 : \n");
1543 printf ("Array must have %d elements.\n", length);
1547 for (Int_t i = 0; i < arraySize; i++) {
1548 SetPMIXX1(val[i], i);
1552 /**************************************************************************/
1554 Float_t TIsajet::GetPMIXX1(Int_t index) const
1556 Int_t length = (sizeof FRGPAR.pmixx1 / sizeof FRGPAR.pmixx1[0]);
1557 if ((index < 0) || (index >= length)) {
1558 printf ("Error in TIsajet::GetPMIXX1 : \n");
1559 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1563 return *FRGPAR.pmixx1[index];
1566 /**************************************************************************/
1568 void TIsajet::SetPMIXX2(Float_t val, Int_t index)
1570 Int_t length = (sizeof FRGPAR.pmixx2 / sizeof FRGPAR.pmixx2[0]);
1571 if ((index < 0) || (index >= length)) {
1572 printf ("Error in TIsajet::SetPMIXX2 : \n");
1573 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1577 *FRGPAR.pmixx2[index] = val;
1581 /**************************************************************************/
1583 void TIsajet::SetAllPMIXX2(const Float_t val[], Int_t arraySize)
1585 Int_t length = (sizeof FRGPAR.pmixx2 / sizeof FRGPAR.pmixx2[0]);
1586 if (arraySize != length) {
1587 printf ("Error in TIsajet::SetAllPMIXX2 : \n");
1588 printf ("Array must have %d elements.\n", length);
1592 for (Int_t i = 0; i < arraySize; i++) {
1593 SetPMIXX2(val[i], i);
1597 /**************************************************************************/
1599 Float_t TIsajet::GetPMIXX2(Int_t index) const
1601 Int_t length = (sizeof FRGPAR.pmixx2 / sizeof FRGPAR.pmixx2[0]);
1602 if ((index < 0) || (index >= length)) {
1603 printf ("Error in TIsajet::GetPMIXX2 : \n");
1604 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1608 return *FRGPAR.pmixx2[index];
1611 /**************************************************************************/
1613 void TIsajet::SetXGENSS(Float_t val, Int_t index)
1615 Int_t length = (sizeof FRGPAR.xgenss / sizeof FRGPAR.xgenss[0]);
1616 if ((index < 0) || (index >= length)) {
1617 printf ("Error in TIsajet::SetXGENSS : \n");
1618 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1622 FRGPAR.xgenss[index] = val;
1625 /**************************************************************************/
1627 void TIsajet::SetAllXGENSS(const Float_t val[], Int_t arraySize)
1629 Int_t length = (sizeof FRGPAR.xgenss / sizeof FRGPAR.xgenss[0]);
1630 if (arraySize != length) {
1631 printf ("Error in TIsajet::SetAllXGENSS : \n");
1632 printf ("Array must have %d elements.\n", length);
1636 for (Int_t i = 0; i < arraySize; i++) {
1637 SetXGENSS(val[i], i);
1641 /**************************************************************************/
1643 Float_t TIsajet::GetXGENSS(Int_t index) const
1645 Int_t length = (sizeof FRGPAR.xgenss / sizeof FRGPAR.xgenss[0]);
1646 if ((index < 0) || (index >= length)) {
1647 printf ("Error in TIsajet::GetXGENSS : \n");
1648 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1652 return FRGPAR.xgenss[index];
1655 /**************************************************************************/
1657 // End of FRGPAR access.
1658 // Begins HCON access.
1660 /**************************************************************************/
1662 Float_t TIsajet::GetANWWWW(Int_t index1, Int_t index2, Int_t index3) const
1664 Int_t elem_Size = sizeof HCON.anwwww[0][0][0];
1665 Int_t thd_Dim_Length = (sizeof HCON.anwwww[0][0] / elem_Size);
1666 Int_t sec_Dim_Length = (sizeof HCON.anwwww[0] / (elem_Size * thd_Dim_Length));
1667 Int_t fst_Dim_Length = (sizeof HCON.anwwww / (elem_Size * thd_Dim_Length * sec_Dim_Length));
1669 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
1670 printf ("Error in TIsajet::GetANWWWW : \n");
1671 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
1675 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
1676 printf ("Error in TIsajet::GetANWWWW : \n");
1677 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
1681 if ((index3 < 0) || (index3 >= thd_Dim_Length)) {
1682 printf ("Error in TIsajet::GetANWWWW : \n");
1683 printf ("Invalid third index %d; range is 0-%d.\n", index3, thd_Dim_Length-1);
1687 return HCON.anwwww[index1][index2][index3];
1690 /**************************************************************************/
1692 Float_t TIsajet::GetADWWWW(Int_t index1, Int_t index2) const
1694 Int_t elem_Size = sizeof HCON.adwwww[0][0];
1695 Int_t sec_Dim_Length = (sizeof HCON.adwwww[0] / elem_Size);
1696 Int_t fst_Dim_Length = (sizeof HCON.adwwww / (elem_Size * sec_Dim_Length));
1698 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
1699 printf ("Error in TIsajet::GetADWWWW : \n");
1700 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
1704 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
1705 printf ("Error in TIsajet::GetADWWWW : \n");
1706 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
1710 return HCON.adwwww[index1][index2];
1713 /**************************************************************************/
1715 Float_t TIsajet::GetAIWWWW(Int_t index) const
1717 Int_t length = (sizeof HCON.aiwwww / sizeof HCON.aiwwww[0]);
1718 if ((index < 0) || (index >= length)) {
1719 printf ("Error in TIsajet::GetAIWWWW : \n");
1720 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1724 return HCON.aiwwww[index];
1727 /**************************************************************************/
1729 Float_t TIsajet::GetHMASS() const
1734 /**************************************************************************/
1736 Float_t TIsajet::GetHGAM() const
1741 /**************************************************************************/
1743 Float_t TIsajet::GetHGAMS(Int_t index) const
1745 Int_t length = (sizeof HCON.hgams / sizeof HCON.hgams[0]);
1746 if ((index < 0) || (index >= length)) {
1747 printf ("Error in TIsajet::GetHGAMS : \n");
1748 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1752 return HCON.hgams[index];
1755 /**************************************************************************/
1757 Float_t TIsajet::GetETAHGG() const
1762 /**************************************************************************/
1764 Int_t TIsajet::GetMATCHH(Int_t index) const
1766 Int_t length = (sizeof HCON.matchh / sizeof HCON.matchh[0]);
1767 if ((index < 0) || (index >= length)) {
1768 printf ("Error in TIsajet::GetMATCHH : \n");
1769 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1773 return HCON.matchh[index];
1776 /**************************************************************************/
1778 Float_t TIsajet::GetZSTARS(Int_t index1, Int_t index2) const
1780 Int_t elem_Size = sizeof HCON.zstars[0][0];
1781 Int_t sec_Dim_Length = (sizeof HCON.zstars[0] / elem_Size);
1782 Int_t fst_Dim_Length = (sizeof HCON.zstars / (elem_Size * sec_Dim_Length));
1784 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
1785 printf ("Error in TIsajet::GetZSTARS : \n");
1786 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
1790 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
1791 printf ("Error in TIsajet::GetZSTARS : \n");
1792 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
1796 return HCON.zstars[index1][index2];
1799 /**************************************************************************/
1801 void TIsajet::SetIHTYPE(Int_t val)
1803 if ((val < 82) || (val > 84)) {
1804 printf ("Error in TIsajet::SetIHTYPE : \n");
1805 printf ("Invalid input value %d. Possible values are 82, 83, 84.\n", val);
1812 /**************************************************************************/
1814 void TIsajet::SetIHTYPE(Char_t val[])
1816 if (!strcmp("HL0", val)) {
1819 else if (!strcmp("HH0", val)) {
1822 else if (!strcmp("HA0", val)){
1826 printf ("Error in TIsajet::SetIHTYPE : \n");
1827 printf ("Invalid input string %s. Possible strings are HL0, HH0, HA0.\n", val);
1831 /**************************************************************************/
1833 Int_t TIsajet::GetIHTYPE() const
1838 /**************************************************************************/
1840 Float_t TIsajet::GetHGAMSS(Int_t index1, Int_t index2) const
1842 Int_t elem_Size = sizeof HCON.hgamss[0][0];
1843 Int_t sec_Dim_Length = (sizeof HCON.hgamss[0] / elem_Size);
1844 Int_t fst_Dim_Length = (sizeof HCON.hgamss / (elem_Size * sec_Dim_Length));
1846 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
1847 printf ("Error in TIsajet::GetHGAMSS : \n");
1848 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
1852 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
1853 printf ("Error in TIsajet::GetHGAMSS : \n");
1854 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
1858 return HCON.hgamss[index1][index2];
1861 /**************************************************************************/
1863 // End of HCON access
1864 // Begins JETLIM access
1866 /**************************************************************************/
1868 void TIsajet::SetPMIN(Float_t val, Int_t index)
1870 Int_t length = (sizeof JETLIM.pmin / sizeof JETLIM.pmin[0]);
1871 if ((index < 0) || (index >= length)) {
1872 printf ("Error in TIsajet::SetPMIN : \n");
1873 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1877 if (val > JETLIM.pmax[index]) {
1878 printf("Error in TIsajet::SetPMIN : \n");
1879 printf("You may not set PMIN to a value larger than PMAX = %f.\n", JETLIM.pmax[index]);
1883 JETLIM.pmin[index] = val;
1887 /**************************************************************************/
1889 void TIsajet::SetAllPMIN(const Float_t val[], Int_t arraySize)
1891 Int_t length = (sizeof JETLIM.pmin / sizeof JETLIM.pmin[0]);
1892 if (arraySize != length) {
1893 printf ("Error in TIsajet::SetAllPMIN : \n");
1894 printf ("Array must have %d elements.\n", length);
1898 for (Int_t i = 0; i < arraySize; i++) {
1903 /**************************************************************************/
1905 Float_t TIsajet::GetPMIN(Int_t index) const
1907 Int_t length = (sizeof JETLIM.pmin / sizeof JETLIM.pmin[0]);
1908 if ((index < 0) || (index >= length)) {
1909 printf ("Error in TIsajet::GetPMIN : \n");
1910 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1914 return JETLIM.pmin[index];
1917 /**************************************************************************/
1919 void TIsajet::SetPMAX(Float_t val, Int_t index)
1921 Int_t length = (sizeof JETLIM.pmax / sizeof JETLIM.pmax[0]);
1922 if ((index < 0) || (index >= length)) {
1923 printf ("Error in TIsajet::SetPMAX : \n");
1924 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1928 if (val < JETLIM.pmin[index]) {
1929 printf("Error in TIsajet::SetPMAX : \n");
1930 printf("You may not set PMAX to a value larger than PMIN = %f.\n", JETLIM.pmin[index]);
1934 JETLIM.pmax[index] = val;
1938 /**************************************************************************/
1940 void TIsajet::SetAllPMAX(const Float_t val[], Int_t arraySize)
1942 Int_t length = (sizeof JETLIM.pmax / sizeof JETLIM.pmax[0]);
1943 if (arraySize != length) {
1944 printf ("Error in TIsajet::SetAllPMAX : \n");
1945 printf ("Array must have %d elements.\n", length);
1949 for (Int_t i = 0; i < arraySize; i++) {
1954 /**************************************************************************/
1956 Float_t TIsajet::GetPMAX(Int_t index) const
1958 Int_t length = (sizeof JETLIM.pmax / sizeof JETLIM.pmax[0]);
1959 if ((index < 0) || (index >= length)) {
1960 printf ("Error in TIsajet::GetPMAX : \n");
1961 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1965 return JETLIM.pmax[index];
1968 /**************************************************************************/
1970 void TIsajet::SetPTMIN(Float_t val, Int_t index)
1972 Int_t length = (sizeof JETLIM.ptmin / sizeof JETLIM.ptmin[0]);
1973 if ((index < 0) || (index >= length)) {
1974 printf ("Error in TIsajet::SetPTMIN : \n");
1975 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
1979 if (val > JETLIM.ptmax[index]) {
1980 printf("Error in TIsajet::SetPTMIN : \n");
1981 printf("You may not set PTMIN to a value larger than PTMAX = %f.\n", JETLIM.ptmax[index]);
1985 JETLIM.ptmin[index] = val;
1986 // if (!setY) SetYJLIMS();
1987 // if (!setTheta) SetTHLIMS();
1991 /**************************************************************************/
1993 void TIsajet::SetAllPTMIN(const Float_t val[], Int_t arraySize)
1995 Int_t length = (sizeof JETLIM.ptmin / sizeof JETLIM.ptmin[0]);
1996 if (arraySize != length) {
1997 printf ("Error in TIsajet::SetAllPTMIN : \n");
1998 printf ("Array must have %d elements.\n", length);
2002 for (Int_t i = 0; i < arraySize; i++) {
2003 SetPTMIN(val[i], i);
2007 /**************************************************************************/
2009 Float_t TIsajet::GetPTMIN(Int_t index) const
2011 Int_t length = (sizeof JETLIM.ptmin / sizeof JETLIM.ptmin[0]);
2012 if ((index < 0) || (index >= length)) {
2013 printf ("Error in TIsajet::GetPTMIN : \n");
2014 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2018 return JETLIM.ptmin[index];
2021 /**************************************************************************/
2023 void TIsajet::SetPTMAX(Float_t val, Int_t index)
2025 Int_t length = (sizeof JETLIM.ptmax / sizeof JETLIM.ptmax[0]);
2026 if ((index < 0) || (index >= length)) {
2027 printf ("Error in TIsajet::SetPTMAX : \n");
2028 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2032 if (val < JETLIM.ptmin[index]) {
2033 printf("Error in TIsajet::SetPTMAX : \n");
2034 printf("You may not set PTMAX to a value larger than PTMIN = %f.\n", JETLIM.ptmin[index]);
2038 JETLIM.ptmax[index] = val;
2042 /**************************************************************************/
2044 void TIsajet::SetAllPTMAX(const Float_t val[], Int_t arraySize)
2046 Int_t length = (sizeof JETLIM.ptmax / sizeof JETLIM.ptmax[0]);
2047 if (arraySize != length) {
2048 printf ("Error in TIsajet::SetAllPTMAX : \n");
2049 printf ("Array must have %d elements.\n", length);
2053 for (Int_t i = 0; i < arraySize; i++) {
2054 SetPTMAX(val[i], i);
2058 /**************************************************************************/
2060 Float_t TIsajet::GetPTMAX(Int_t index) const
2062 Int_t length = (sizeof JETLIM.ptmax / sizeof JETLIM.ptmax[0]);
2063 if ((index < 0) || (index >= length)) {
2064 printf ("Error in TIsajet::GetPTMAX : \n");
2065 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2069 return JETLIM.ptmax[index];
2072 /**************************************************************************/
2074 void TIsajet::SetYJMIN(Float_t val, Int_t index)
2076 Int_t length = (sizeof JETLIM.yjmin / sizeof JETLIM.yjmin[0]);
2077 if ((index < 0) || (index >= length)) {
2078 printf ("Error in TIsajet::SetYJMIN : \n");
2079 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2083 if (val > JETLIM.yjmax[index]) {
2084 printf("Error in TIsajet::SetYJMIN : \n");
2085 printf("You may not set YJMIN to a value larger than YJMAX = %f.\n", JETLIM.yjmax[index]);
2090 printf("Error in TIsajet::SetYJMIN :\n");
2091 printf("May not set both theta and y limits. Use SetTHLIMS, then set YJMIN.\n");
2096 JETLIM.yjmin[index] = val;
2099 /**************************************************************************/
2101 void TIsajet::SetAllYJMIN(const Float_t val[], Int_t arraySize)
2103 Int_t length = (sizeof JETLIM.yjmin / sizeof JETLIM.yjmin[0]);
2104 if (arraySize != length) {
2105 printf ("Error in TIsajet::SetAllYJMIN : \n");
2106 printf ("Array must have %d elements.\n", length);
2110 for (Int_t i = 0; i < arraySize; i++) {
2111 SetYJMIN(val[i], i);
2115 /**************************************************************************/
2117 Float_t TIsajet::GetYJMIN(Int_t index) const
2119 Int_t length = (sizeof JETLIM.yjmin / sizeof JETLIM.yjmin[0]);
2120 if ((index < 0) || (index >= length)) {
2121 printf ("Error in TIsajet::GetYJMIN : \n");
2122 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2126 return JETLIM.yjmin[index];
2129 /**************************************************************************/
2131 void TIsajet::SetYJMAX(Float_t val, Int_t index)
2133 Int_t length = (sizeof JETLIM.yjmax / sizeof JETLIM.yjmax[0]);
2134 if ((index < 0) || (index >= length)) {
2135 printf ("Error in TIsajet::SetYJMAX : \n");
2136 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2140 if (val < JETLIM.yjmin[index]) {
2141 printf("Error in TIsajet::SetYJMAX : \n");
2142 printf("You may not set YJMAX to a value larger than YJMIN = %f.\n", JETLIM.yjmin[index]);
2147 printf("Error in TIsajet::SetYJMAX :\n");
2148 printf("May not set both theta and y limits. Use SetTHLIMS, then set YJMAX.\n");
2153 JETLIM.yjmax[index] = val;
2156 /**************************************************************************/
2158 void TIsajet::SetAllYJMAX(const Float_t val[], Int_t arraySize)
2160 Int_t length = (sizeof JETLIM.yjmax / sizeof JETLIM.yjmax[0]);
2161 if (arraySize != length) {
2162 printf ("Error in TIsajet::SetAllYJMAX : \n");
2163 printf ("Array must have %d elements.\n", length);
2167 for (Int_t i = 0; i < arraySize; i++) {
2168 SetYJMAX(val[i], i);
2172 /**************************************************************************/
2174 Float_t TIsajet::GetYJMAX(Int_t index) const
2176 Int_t length = (sizeof JETLIM.yjmax / sizeof JETLIM.yjmax[0]);
2177 if ((index < 0) || (index >= length)) {
2178 printf ("Error in TIsajet::GetYJMAX : \n");
2179 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2183 return JETLIM.yjmax[index];
2186 /**************************************************************************/
2188 void TIsajet::SetYJLIMS()
2190 for (Int_t i = 0; i < JETLIM.mxlim; i++) {
2191 JETLIM.yjmax[i] = acosh(PRIMAR.halfe / JETLIM.ptmin[i]);
2192 JETLIM.yjmax[i] = -JETLIM.yjmin[i];
2197 /**************************************************************************/
2199 void TIsajet::SetPHIMIN(Float_t val, Int_t index)
2201 Int_t length = (sizeof JETLIM.phimin / sizeof JETLIM.phimin[0]);
2202 if ((index < 0) || (index >= length)) {
2203 printf ("Error in TIsajet::SetPHIMIN : \n");
2204 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2208 if (val > JETLIM.phimax[index]) {
2209 printf("Error in TIsajet::SetPHIMIN : \n");
2210 printf("You may not set PHIMIN to a value larger than PHIMAX = %f.\n", JETLIM.phimax[index]);
2214 JETLIM.phimin[index] = val;
2218 /**************************************************************************/
2220 void TIsajet::SetAllPHIMIN(const Float_t val[], Int_t arraySize)
2222 Int_t length = (sizeof JETLIM.phimin / sizeof JETLIM.phimin[0]);
2223 if (arraySize != length) {
2224 printf ("Error in TIsajet::SetAllPHIMIN : \n");
2225 printf ("Array must have %d elements.\n", length);
2229 for (Int_t i = 0; i < arraySize; i++) {
2230 SetPHIMIN(val[i], i);
2234 /**************************************************************************/
2236 Float_t TIsajet::GetPHIMIN(Int_t index) const
2238 Int_t length = (sizeof JETLIM.phimin / sizeof JETLIM.phimin[0]);
2239 if ((index < 0) || (index >= length)) {
2240 printf ("Error in TIsajet::GetPHIMIN : \n");
2241 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2245 return JETLIM.phimin[index];
2248 /**************************************************************************/
2250 void TIsajet::SetPHIMAX(Float_t val, Int_t index)
2252 Int_t length = (sizeof JETLIM.phimax / sizeof JETLIM.phimax[0]);
2253 if ((index < 0) || (index >= length)) {
2254 printf ("Error in TIsajet::SetPHIMAX : \n");
2255 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2259 if (val < JETLIM.phimin[index]) {
2260 printf("Error in TIsajet::SetPHIMAX : \n");
2261 printf("You may not set PHIMAX to a value larger than PHIMIN = %f.\n", JETLIM.phimin[index]);
2265 JETLIM.phimax[index] = val;
2269 /**************************************************************************/
2271 void TIsajet::SetAllPHIMAX(const Float_t val[], Int_t arraySize)
2273 Int_t length = (sizeof JETLIM.phimax / sizeof JETLIM.phimax[0]);
2274 if (arraySize != length) {
2275 printf ("Error in TIsajet::SetAllPHIMAX : \n");
2276 printf ("Array must have %d elements.\n", length);
2280 for (Int_t i = 0; i < arraySize; i++) {
2281 SetPHIMAX(val[i], i);
2285 /**************************************************************************/
2287 Float_t TIsajet::GetPHIMAX(Int_t index) const
2289 Int_t length = (sizeof JETLIM.phimax / sizeof JETLIM.phimax[0]);
2290 if ((index < 0) || (index >= length)) {
2291 printf ("Error in TIsajet::GetPHIMAX : \n");
2292 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2296 return JETLIM.phimax[index];
2299 /**************************************************************************/
2301 void TIsajet::SetXJMIN(Float_t val, Int_t index)
2303 Int_t length = (sizeof JETLIM.xjmin / sizeof JETLIM.xjmin[0]);
2304 if ((index < 0) || (index >= length)) {
2305 printf ("Error in TIsajet::SetXJMIN : \n");
2306 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2309 if (val > JETLIM.xjmax[index]) {
2310 printf("Error in TIsajet::SetXJMIN : \n");
2311 printf("You may not set XJMIN to a value larger than XJMAX = %f.\n", JETLIM.xjmax[index]);
2315 JETLIM.xjmin[index] = val;
2319 /**************************************************************************/
2321 void TIsajet::SetAllXJMIN(const Float_t val[], Int_t arraySize)
2323 Int_t length = (sizeof JETLIM.xjmin / sizeof JETLIM.xjmin[0]);
2324 if (arraySize != length) {
2325 printf ("Error in TIsajet::SetAllXJMIN : \n");
2326 printf ("Array must have %d elements.\n", length);
2330 for (Int_t i = 0; i < arraySize; i++) {
2331 SetXJMIN(val[i], i);
2335 /**************************************************************************/
2337 Float_t TIsajet::GetXJMIN(Int_t index) const
2339 Int_t length = (sizeof JETLIM.xjmin / sizeof JETLIM.xjmin[0]);
2340 if ((index < 0) || (index >= length)) {
2341 printf ("Error in TIsajet::GetXJMIN : \n");
2342 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2346 return JETLIM.xjmin[index];
2349 /**************************************************************************/
2351 void TIsajet::SetXJMAX(Float_t val, Int_t index)
2353 Int_t length = (sizeof JETLIM.xjmax / sizeof JETLIM.xjmax[0]);
2354 if ((index < 0) || (index >= length)) {
2355 printf ("Error in TIsajet::SetXJMAX : \n");
2356 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2360 if (val < JETLIM.xjmin[index]) {
2361 printf("Error in TIsajet::SetXJMAX : \n");
2362 printf("You may not set XJMAX to a value larger than XJMIN = %f.\n", JETLIM.xjmin[index]);
2366 JETLIM.xjmax[index] = val;
2370 /**************************************************************************/
2372 void TIsajet::SetAllXJMAX(const Float_t val[], Int_t arraySize)
2374 Int_t length = (sizeof JETLIM.xjmax / sizeof JETLIM.xjmax[0]);
2375 if (arraySize != length) {
2376 printf ("Error in TIsajet::SetAllXJMAX : \n");
2377 printf ("Array must have %d elements.\n", length);
2381 for (Int_t i = 0; i < arraySize; i++) {
2382 SetXJMAX(val[i], i);
2386 /**************************************************************************/
2388 Float_t TIsajet::GetXJMAX(Int_t index) const
2390 Int_t length = (sizeof JETLIM.xjmax / sizeof JETLIM.xjmax[0]);
2391 if ((index < 0) || (index >= length)) {
2392 printf ("Error in TIsajet::GetXJMAX : \n");
2393 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2397 return JETLIM.xjmax[index];
2400 /**************************************************************************/
2402 void TIsajet::SetTHMIN(Float_t val, Int_t index)
2404 Int_t length = (sizeof JETLIM.thmin / sizeof JETLIM.thmin[0]);
2405 if ((index < 0) || (index >= length)) {
2406 printf ("Error in TIsajet::SetTHMIN : \n");
2407 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2411 if (val > JETLIM.thmax[index]) {
2412 printf("Error in TIsajet::SetTHMIN : \n");
2413 printf("You may not set THMIN to a value larger than THMAX = %f.\n", JETLIM.thmax[index]);
2418 printf("Error in TIsajet::SetTHMIN :\n");
2419 printf("May not set both theta and y limits. Use SetYJLIMS, then set THMIN.\n");
2424 JETLIM.thmin[index] = val;
2428 /**************************************************************************/
2430 void TIsajet::SetAllTHMIN(const Float_t val[], Int_t arraySize)
2432 Int_t length = (sizeof JETLIM.thmin / sizeof JETLIM.thmin[0]);
2433 if (arraySize != length) {
2434 printf ("Error in TIsajet::SetAllTHMIN : \n");
2435 printf ("Array must have %d elements.\n", length);
2439 for (Int_t i = 0; i < arraySize; i++) {
2440 SetTHMIN(val[i], i);
2444 /**************************************************************************/
2446 Float_t TIsajet::GetTHMIN(Int_t index) const
2448 Int_t length = (sizeof JETLIM.thmin / sizeof JETLIM.thmin[0]);
2449 if ((index < 0) || (index >= length)) {
2450 printf ("Error in TIsajet::GetTHMIN : \n");
2451 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2455 return JETLIM.thmin[index];
2458 /**************************************************************************/
2460 void TIsajet::SetTHMAX(Float_t val, Int_t index)
2462 Int_t length = (sizeof JETLIM.thmax / sizeof JETLIM.thmax[0]);
2463 if ((index < 0) || (index >= length)) {
2464 printf ("Error in TIsajet::SetTHMAX : \n");
2465 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2469 if (val < JETLIM.thmin[index]) {
2470 printf("Error in TIsajet::SetTHMAX : \n");
2471 printf("You may not set THMAX to a value larger than THMIN = %f.\n", JETLIM.thmin[index]);
2476 printf("Error in TIsajet::SetTHMAX :\n");
2477 printf("May not set both theta and y limits. Use SetYJLIMS, then set THMAX.\n");
2482 JETLIM.thmax[index] = val;
2485 /**************************************************************************/
2487 void TIsajet::SetAllTHMAX(const Float_t val[], Int_t arraySize)
2489 Int_t length = (sizeof JETLIM.thmax / sizeof JETLIM.thmax[0]);
2490 if (arraySize != length) {
2491 printf ("Error in TIsajet::SetAllTHMAX : \n");
2492 printf ("Array must have %d elements.\n", length);
2496 for (Int_t i = 0; i < arraySize; i++) {
2497 SetTHMAX(val[i], i);
2501 /**************************************************************************/
2503 Float_t TIsajet::GetTHMAX(Int_t index) const
2505 Int_t length = (sizeof JETLIM.thmax / sizeof JETLIM.thmax[0]);
2506 if ((index < 0) || (index >= length)) {
2507 printf ("Error in TIsajet::GetTHMAX : \n");
2508 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2512 return JETLIM.thmax[index];
2515 /**************************************************************************/
2517 void TIsajet::SetTHLIMS()
2520 for (Int_t i = 0; i < JETLIM.mxlim; i++) {
2521 tmin = acosh(PRIMAR.halfe / JETLIM.ptmin[i]);
2522 JETLIM.thmin[i] = 2*atan(exp(tmin));
2523 JETLIM.thmax[i] = 2*atan(exp(-tmin));
2528 /**************************************************************************/
2530 Bool_t TIsajet::GetSETLMJ(Int_t index) const
2532 Int_t length = (sizeof JETLIM.setlmj / sizeof JETLIM.setlmj[0]);
2533 if ((index < 0) || (index >= length)) {
2534 printf ("Error in TIsajet::GetSETLMJ : \n");
2535 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2539 return JETLIM.setlmj[index];
2542 /**************************************************************************/
2544 // Ends JETLIM access.
2545 // Begins JETPAR access.
2547 /**************************************************************************/
2549 Float_t TIsajet::GetP(Int_t index) const
2551 Int_t length = (sizeof JETPAR.p / sizeof JETPAR.p[0]);
2552 if ((index < 0) || (index >= length)) {
2553 printf ("Error in TIsajet::GetP : \n");
2554 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2558 return JETPAR.p[index];
2561 /**************************************************************************/
2563 Float_t TIsajet::GetPT(Int_t index) const
2565 Int_t length = (sizeof JETPAR.pt / sizeof JETPAR.pt[0]);
2566 if ((index < 0) || (index >= length)) {
2567 printf ("Error in TIsajet::GetPT : \n");
2568 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2572 return JETPAR.pt[index];
2575 /**************************************************************************/
2577 Float_t TIsajet::GetYJ(Int_t index) const
2579 Int_t length = (sizeof JETPAR.yj / sizeof JETPAR.yj[0]);
2580 if ((index < 0) || (index >= length)) {
2581 printf ("Error in TIsajet::GetYJ : \n");
2582 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2586 return JETPAR.yj[index];
2589 /**************************************************************************/
2591 Float_t TIsajet::GetPHI(Int_t index) const
2593 Int_t length = (sizeof JETPAR.phi / sizeof JETPAR.phi[0]);
2594 if ((index < 0) || (index >= length)) {
2595 printf ("Error in TIsajet::GetPHI : \n");
2596 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2600 return JETPAR.phi[index];
2603 /**************************************************************************/
2605 Float_t TIsajet::GetXJ(Int_t index) const
2607 Int_t length = (sizeof JETPAR.xj / sizeof JETPAR.xj[0]);
2608 if ((index < 0) || (index >= length)) {
2609 printf ("Error in TIsajet::GetXJ : \n");
2610 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2614 return JETPAR.xj[index];
2617 /**************************************************************************/
2619 Float_t TIsajet::GetTH(Int_t index) const
2621 Int_t length = (sizeof JETPAR.th / sizeof JETPAR.th[0]);
2622 if ((index < 0) || (index >= length)) {
2623 printf ("Error in TIsajet::GetTH : \n");
2624 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2628 return JETPAR.th[index];
2631 /**************************************************************************/
2633 Float_t TIsajet::GetCTH(Int_t index) const
2635 Int_t length = (sizeof JETPAR.cth / sizeof JETPAR.cth[0]);
2636 if ((index < 0) || (index >= length)) {
2637 printf ("Error in TIsajet::GetCTH : \n");
2638 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2642 return JETPAR.cth[index];
2645 /**************************************************************************/
2647 Float_t TIsajet::GetSTH(Int_t index) const
2649 Int_t length = (sizeof JETPAR.sth / sizeof JETPAR.sth[0]);
2650 if ((index < 0) || (index >= length)) {
2651 printf ("Error in TIsajet::GetSTH : \n");
2652 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2656 return JETPAR.sth[index];
2659 /**************************************************************************/
2661 Int_t TIsajet::GetJETTYP(Int_t index) const
2663 Int_t length = (sizeof JETPAR.jettyp / sizeof JETPAR.jettyp[0]);
2664 if ((index < 0) || (index >= length)) {
2665 printf ("Error in TIsajet::GetJETTYP : \n");
2666 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2670 return JETPAR.jettyp[index];
2673 /**************************************************************************/
2675 Float_t TIsajet::GetSHAT() const
2680 /**************************************************************************/
2682 Float_t TIsajet::GetTHAT() const
2687 /**************************************************************************/
2689 Float_t TIsajet::GetUHAT() const
2694 /**************************************************************************/
2696 Float_t TIsajet::GetQSQ() const
2701 /**************************************************************************/
2703 Float_t TIsajet::GetX1() const
2708 /**************************************************************************/
2710 Float_t TIsajet::GetX2() const
2715 /**************************************************************************/
2717 Float_t TIsajet::GetPBEAM(Int_t index) const
2719 Int_t length = (sizeof JETPAR.pbeam / sizeof JETPAR.pbeam[0]);
2720 if ((index < 0) || (index >= length)) {
2721 printf ("Error in TIsajet::GetPBEAM : \n");
2722 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2726 return JETPAR.pbeam[index];
2729 /**************************************************************************/
2731 Float_t TIsajet::GetQMW() const
2736 /**************************************************************************/
2738 Float_t TIsajet::GetQW() const
2743 /**************************************************************************/
2745 Float_t TIsajet::GetQTW() const
2750 /**************************************************************************/
2752 Float_t TIsajet::GetYW() const
2757 /**************************************************************************/
2759 Float_t TIsajet::GetXW() const
2764 /**************************************************************************/
2766 Float_t TIsajet::GetTHW() const
2771 /**************************************************************************/
2773 Float_t TIsajet::GetQTMW() const
2778 /**************************************************************************/
2780 Float_t TIsajet::GetPHIW() const
2785 /**************************************************************************/
2787 Float_t TIsajet::GetSHAT1() const
2789 return JETPAR.shat1;
2792 /**************************************************************************/
2794 Float_t TIsajet::GetTHAT1() const
2796 return JETPAR.that1;
2799 /**************************************************************************/
2801 Float_t TIsajet::GetUHAT1() const
2803 return JETPAR.uhat1;
2806 /**************************************************************************/
2808 void TIsajet::SetJWTYP(Int_t val)
2810 if ((val < 1) || (val > 4) || (val == 2))
2812 printf ("Error in TIsajet::SetJWTYP : \n");
2813 printf ("Invalid value %d; range is 1, 3, and 4.\n", val);
2820 /**************************************************************************/
2822 void TIsajet::SetJWTYP(Char_t val[])
2826 if (!strcmp(val, "GM")) value = 1;
2827 else if (!strcmp(val, "W+")) value = 3;
2828 else if (!strcmp(val, "W-")) value = 3;
2829 else if (!strcmp(val, "Z0")) value = 4;
2832 printf ("Error in TIsajet::SetJWTYP : \n");
2833 printf ("Invalid value %s; possible are GM, Z0, W+ and W-.\n", val);
2838 JETPAR.jwtyp = value;
2841 /**************************************************************************/
2843 Int_t TIsajet::GetJWTYP() const
2845 return JETPAR.jwtyp;
2848 /**************************************************************************/
2850 Float_t TIsajet::GetALFQSQ() const
2852 return JETPAR.alfqsq;
2855 /**************************************************************************/
2857 Float_t TIsajet::GetCTHW() const
2862 /**************************************************************************/
2864 Float_t TIsajet::GetSTHW() const
2869 /**************************************************************************/
2871 Float_t TIsajet::GetQ0W() const
2876 /**************************************************************************/
2878 Int_t TIsajet::GetINITYP(Int_t index) const
2880 Int_t length = (sizeof JETPAR.inityp / sizeof JETPAR.inityp[0]);
2881 if ((index < 0) || (index >= length)) {
2882 printf ("Error in TIsajet::GetINITYP : \n");
2883 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2887 return JETPAR.inityp[index];
2890 /**************************************************************************/
2892 Int_t TIsajet::GetISIGS() const
2894 return JETPAR.isigs;
2897 /**************************************************************************/
2899 Float_t TIsajet::GetPBEAMS(Int_t index) const
2901 Int_t length = (sizeof JETPAR.pbeams / sizeof JETPAR.pbeams[0]);
2902 if ((index < 0) || (index >= length)) {
2903 printf ("Error in TIsajet::GetPBEAMS : \n");
2904 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2908 return JETPAR.pbeams[index];
2911 /**************************************************************************/
2913 // Ends JETPAR access.
2914 // Begins KKGRAV access.
2916 /**************************************************************************/
2918 void TIsajet::SetNEXTRAD(Int_t val)
2920 KKGRAV.nextrad = val;
2923 /**************************************************************************/
2925 Int_t TIsajet::GetNEXTRAD() const
2927 return KKGRAV.nextrad;
2930 /**************************************************************************/
2932 void TIsajet::SetMASSD(Float_t val)
2937 /**************************************************************************/
2939 Float_t TIsajet::GetMASSD() const
2941 return KKGRAV.massd;
2944 /**************************************************************************/
2946 Float_t TIsajet::GetKKGSD() const
2948 return KKGRAV.kkgsd;
2951 /**************************************************************************/
2953 Float_t TIsajet::GetSURFD() const
2955 return KKGRAV.surfd;
2958 /**************************************************************************/
2960 void TIsajet::SetUVCUT(Bool_t val)
2965 /**************************************************************************/
2967 Bool_t TIsajet::GetUVCUT() const
2969 return KKGRAV.uvcut;
2972 /**************************************************************************/
2974 // Ends KKGRAV access.
2975 // Begins MBGEN access.
2977 /**************************************************************************/
2979 Float_t TIsajet::GetPOMWT(Int_t index) const
2981 Int_t length = (sizeof MBGEN.pomwt / sizeof MBGEN.pomwt[0]);
2982 if ((index < 0) || (index >= length)) {
2983 printf ("Error in TIsajet::GetPOMWT : \n");
2984 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
2988 return MBGEN.pomwt[index];
2991 /**************************************************************************/
2993 Float_t TIsajet::GetPOMGEN(Int_t index) const
2995 Int_t length = (sizeof MBGEN.pomgen / sizeof MBGEN.pomgen[0]);
2996 if ((index < 0) || (index >= length)) {
2997 printf ("Error in TIsajet::GetPOMGEN : \n");
2998 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3002 return MBGEN.pomgen[index];
3005 /**************************************************************************/
3007 void TIsajet::SetMNPOM(Int_t val)
3009 if (val > MBGEN.mxpom) {
3010 printf("Error in TIsajet::SetMNPOM : \n");
3011 printf("You may not set MNPOM to a value larger than MXPOM = %d.\n", MBGEN.mxpom);
3018 /**************************************************************************/
3020 Int_t TIsajet::GetMNPOM() const
3025 /**************************************************************************/
3027 void TIsajet::SetMXPOM(Int_t val)
3029 if (val < MBGEN.mnpom) {
3030 printf("Error in TIsajet::SetMXPOM : \n");
3031 printf("You may not set MXPOM to a value less than MNPOM = %d.\n", MBGEN.mnpom);
3038 /**************************************************************************/
3040 Int_t TIsajet::GetMXPOM() const
3045 /**************************************************************************/
3047 Float_t TIsajet::GetPDIFFR() const
3049 return MBGEN.pdiffr;
3052 /**************************************************************************/
3054 Int_t TIsajet::GetNPOM() const
3059 /**************************************************************************/
3061 Float_t TIsajet::GetXBARY(Int_t index) const
3063 Int_t length = (sizeof MBGEN.xbary / sizeof MBGEN.xbary[0]);
3064 if ((index < 0) || (index >= length)) {
3065 printf ("Error in TIsajet::GetXBARY : \n");
3066 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3070 return MBGEN.xbary[index];
3073 /**************************************************************************/
3075 Float_t TIsajet::GetDXBARY(Int_t index) const
3077 Int_t length = (sizeof MBGEN.dxbary / sizeof MBGEN.dxbary[0]);
3078 if ((index < 0) || (index >= length)) {
3079 printf ("Error in TIsajet::GetDXBARY : \n");
3080 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3084 return MBGEN.dxbary[index];
3087 /**************************************************************************/
3089 Float_t TIsajet::GetXPOM(Int_t index1, Int_t index2) const
3091 Int_t elem_Size = sizeof MBGEN.xpom[0][0];
3092 Int_t sec_Dim_Length = (sizeof MBGEN.xpom[0] / elem_Size);
3093 Int_t fst_Dim_Length = (sizeof MBGEN.xpom / (elem_Size * sec_Dim_Length));
3095 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
3096 printf ("Error in TIsajet::GetXPOM : \n");
3097 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
3101 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
3102 printf ("Error in TIsajet::GetXPOM : \n");
3103 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
3107 return MBGEN.xpom[index1][index2];
3110 /**************************************************************************/
3112 // Ends MBGEN access.
3113 // Begins MGLIMS access.
3115 /**************************************************************************/
3117 void TIsajet::SetEHMGMN(Float_t val)
3119 if (val > MGLIMS.ehmgmx) {
3120 printf("Error in TIsajet::SetEHMGMN : \n");
3121 printf("You may not set EHMGMN to a value larger than EHMGMX = %f.\n", MGLIMS.ehmgmx);
3125 MGLIMS.ehmgmn = val;
3128 /**************************************************************************/
3130 Float_t TIsajet::GetEHMGMN() const
3132 return MGLIMS.ehmgmn;
3135 /**************************************************************************/
3137 void TIsajet::SetEHMGMX(Float_t val)
3139 if (val < MGLIMS.ehmgmn) {
3140 printf("Error in TIsajet::SetEHMGMX : \n");
3141 printf("You may not set EHMGMX to a value less than EHMGMN = %f.\n", MGLIMS.ehmgmn);
3145 MGLIMS.ehmgmx = val;
3148 /**************************************************************************/
3150 Float_t TIsajet::GetEHMGMX() const
3152 return MGLIMS.ehmgmx;
3155 /**************************************************************************/
3157 Float_t TIsajet::GetYHMGMN() const
3159 return MGLIMS.yhmgmn;
3162 /**************************************************************************/
3164 Float_t TIsajet::GetYHMGMX() const
3166 return MGLIMS.yhmgmx;
3169 /**************************************************************************/
3171 void TIsajet::SetAMIJMN(Float_t val, Int_t index1, Int_t index2)
3173 Int_t col_num = (sizeof MGLIMS.amijmn[0] / sizeof MGLIMS.amijmn[0][0]);
3174 Int_t row_num = (sizeof MGLIMS.amijmn / (sizeof MGLIMS.amijmn[0][0] * col_num));
3176 if ((index1 < 0) || (index1 >= row_num)) {
3177 printf ("Error in TIsajet::SetAMIJMN : \n");
3178 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
3182 if ((index2 < 0) || (index2 >= col_num)) {
3183 printf ("Error in TIsajet::SetAMIJMN : \n");
3184 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
3188 if (val > MGLIMS.amijmx[index1][index2]) {
3189 printf("Error in TIsajet::SetAMIJMN : \n");
3190 printf("You may not set AMIJMN to a value larger than AMIJMX = %f.\n", MGLIMS.amijmx[index1][index2]);
3194 MGLIMS.amijmn[index1][index2] = val;
3197 /**************************************************************************/
3199 void TIsajet::SetAllAMIJMN(const Float_t val[MGLIMS.mxlim][MGLIMS.mxlim])
3201 for (Int_t i = 0; i < 2; i++) {
3202 for (Int_t j = 0; j < 3; j++) {
3203 SetAMIJMN(val[i][j], i, j);
3208 /**************************************************************************/
3210 void TIsajet::SetColumnAMIJMN(const Float_t val[], Int_t col)
3212 Int_t col_num = (sizeof MGLIMS.amijmn[0] / sizeof MGLIMS.amijmn[0][0]);
3213 Int_t row_num = (sizeof MGLIMS.amijmn / (sizeof MGLIMS.amijmn[0][0] * col_num));
3215 if ((col < 0) || (col >= col_num)) {
3216 printf ("Error in TIsajet::SetColumnAMIJMN : \n");
3217 printf ("Invalid column index %d, range is 0-%d.\n", col, col_num-1);
3221 for (Int_t i = 0; i < row_num; i++) {
3222 SetAMIJMN(val[i], i, col);
3226 /**************************************************************************/
3228 Float_t TIsajet::GetAMIJMN(Int_t index1, Int_t index2) const
3230 Int_t col_num = (sizeof MGLIMS.amijmn[0] / sizeof MGLIMS.amijmn[0][0]);
3231 Int_t row_num = (sizeof MGLIMS.amijmn / (sizeof MGLIMS.amijmn[0][0] * col_num));
3233 if ((index1 < 0) || (index1 >= row_num)) {
3234 printf ("Error in TIsajet::GetAMIJMN : \n");
3235 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
3239 if ((index2 < 0) || (index2 >= col_num)) {
3240 printf ("Error in TIsajet::GetAMIJMN : \n");
3241 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
3245 return MGLIMS.amijmn[index1][index2];
3248 /**************************************************************************/
3250 void TIsajet::SetAMIJMX(Float_t val, Int_t index1, Int_t index2)
3252 Int_t col_num = (sizeof MGLIMS.amijmx[0] / sizeof MGLIMS.amijmx[0][0]);
3253 Int_t row_num = (sizeof MGLIMS.amijmx / (sizeof MGLIMS.amijmx[0][0] * col_num));
3255 if ((index1 < 0) || (index1 >= row_num)) {
3256 printf ("Error in TIsajet::SetAMIJMX : \n");
3257 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
3261 if ((index2 < 0) || (index2 >= col_num)) {
3262 printf ("Error in TIsajet::SetAMIJMX : \n");
3263 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
3267 if (val < MGLIMS.amijmn[index1][index2]) {
3268 printf("Error in TIsajet::SetAMIJMX : \n");
3269 printf("You may not set AMIJMX to a value less than AMIJMN = %f.\n", MGLIMS.amijmn[index1][index2]);
3273 MGLIMS.amijmx[index1][index2] = val;
3276 /**************************************************************************/
3278 void TIsajet::SetAllAMIJMX(const Float_t val[MGLIMS.mxlim][MGLIMS.mxlim])
3280 for (Int_t i = 0; i < 2; i++) {
3281 for (Int_t j = 0; j < 3; j++) {
3282 SetAMIJMX(val[i][j], i, j);
3287 /**************************************************************************/
3289 void TIsajet::SetColumnAMIJMX(const Float_t val[], Int_t col)
3291 Int_t col_num = (sizeof MGLIMS.amijmx[0] / sizeof MGLIMS.amijmx[0][0]);
3292 Int_t row_num = (sizeof MGLIMS.amijmx / (sizeof MGLIMS.amijmx[0][0] * col_num));
3294 if ((col < 0) || (col >= col_num)) {
3295 printf ("Error in TIsajet::SetColumnAMIJMX : \n");
3296 printf ("Invalid column index %d, range is 0-%d.\n", col, col_num-1);
3300 for (Int_t i = 0; i < row_num; i++) {
3301 SetAMIJMX(val[i], i, col);
3305 /**************************************************************************/
3307 Float_t TIsajet::GetAMIJMX(Int_t index1, Int_t index2) const
3309 Int_t col_num = (sizeof MGLIMS.amijmx[0] / sizeof MGLIMS.amijmx[0][0]);
3310 Int_t row_num = (sizeof MGLIMS.amijmx / (sizeof MGLIMS.amijmx[0][0] * col_num));
3312 if ((index1 < 0) || (index1 >= row_num)) {
3313 printf ("Error in TIsajet::GetAMIJMX : \n");
3314 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
3318 if ((index2 < 0) || (index2 >= col_num)) {
3319 printf ("Error in TIsajet::GetAMIJMX : \n");
3320 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
3324 return MGLIMS.amijmx[index1][index2];
3327 /**************************************************************************/
3329 Bool_t TIsajet::GetFIXMIJ(Int_t index1, Int_t index2) const
3331 Int_t elem_Size = sizeof MGLIMS.fixmij[0][0];
3332 Int_t sec_Dim_Length = (sizeof MGLIMS.fixmij[0] / elem_Size);
3333 Int_t fst_Dim_Length = (sizeof MGLIMS.fixmij / (elem_Size * sec_Dim_Length));
3335 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
3336 printf ("Error in TIsajet::GetFIXMIJ : \n");
3337 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
3341 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
3342 printf ("Error in TIsajet::GetFIXMIJ : \n");
3343 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
3347 return MGLIMS.fixmij[index1][index2];
3350 /**************************************************************************/
3352 // Ends MGLIMS access.
3353 // Begins NODCAY access.
3355 /**************************************************************************/
3357 void TIsajet::SetNODCAY(Bool_t val)
3359 NODCAY.nodcay = val;
3363 /**************************************************************************/
3365 Bool_t TIsajet::GetNODCAY() const
3367 return NODCAY.nodcay;
3370 /**************************************************************************/
3372 void TIsajet::SetNOETA(Bool_t val)
3378 /**************************************************************************/
3380 Bool_t TIsajet::GetNOETA() const
3382 return NODCAY.noeta;
3385 /**************************************************************************/
3387 void TIsajet::SetNOPI0(Bool_t val)
3393 /**************************************************************************/
3395 Bool_t TIsajet::GetNOPI0() const
3397 return NODCAY.nopi0;
3400 /**************************************************************************/
3402 void TIsajet::SetNONUNU(Bool_t val)
3404 NODCAY.nonunu = val;
3407 /**************************************************************************/
3409 Bool_t TIsajet::GetNONUNU() const
3411 return NODCAY.nonunu;
3414 /**************************************************************************/
3416 void TIsajet::SetNOEVOL(Bool_t val)
3418 NODCAY.noevol = val;
3422 /**************************************************************************/
3424 Bool_t TIsajet::GetNOEVOL() const
3426 return NODCAY.noevol;
3429 /**************************************************************************/
3431 void TIsajet::SetNOHADR(Bool_t val)
3433 NODCAY.nohadr = val;
3437 /**************************************************************************/
3439 Bool_t TIsajet::GetNOHADR() const
3441 return NODCAY.nohadr;
3444 /**************************************************************************/
3446 void TIsajet::SetNOGRAV(Bool_t val)
3448 NODCAY.nograv = val;
3451 /**************************************************************************/
3453 Bool_t TIsajet::GetNOGRAV() const
3455 return NODCAY.nograv;
3458 /**************************************************************************/
3460 // Ends NODCAY access.
3461 // Begins PARTCL access.
3463 /**************************************************************************/
3465 Int_t TIsajet::GetNPTCL() const
3467 return PARTCL.nptcl;
3470 /**************************************************************************/
3472 Float_t TIsajet::GetPX(Int_t index) const
3474 if ((index < 0) || (index >= PARTCL.nptcl)) {
3475 printf ("Error in TIsajet::GetPX : \n");
3476 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3480 return PARTCL.pptcl[index][0];
3483 /**************************************************************************/
3485 Float_t TIsajet::GetPY(Int_t index) const
3487 if ((index < 0) || (index >= PARTCL.nptcl)) {
3488 printf ("Error in TIsajet::GetPY : \n");
3489 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3493 return PARTCL.pptcl[index][1];
3496 /**************************************************************************/
3498 Float_t TIsajet::GetPZ(Int_t index) const
3500 if ((index < 0) || (index >= PARTCL.nptcl)) {
3501 printf ("Error in TIsajet::GetPZ : \n");
3502 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3506 return PARTCL.pptcl[index][2];
3509 /**************************************************************************/
3511 Float_t TIsajet::GetP0(Int_t index) const
3513 if ((index < 0) || (index >= PARTCL.nptcl)) {
3514 printf ("Error in TIsajet::GetP0 : \n");
3515 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3519 return PARTCL.pptcl[index][3];
3522 /**************************************************************************/
3524 Float_t TIsajet::GetMASS(Int_t index) const
3526 if ((index < 0) || (index >= PARTCL.nptcl)) {
3527 printf ("Error in TIsajet::GetMASS : \n");
3528 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3532 return PARTCL.pptcl[index][4];
3535 /**************************************************************************/
3537 Float_t TIsajet::GetORIG(Int_t index) const
3539 if ((index < 0) || (index >= PARTCL.nptcl)) {
3540 printf ("Error in TIsajet::GetORIG : \n");
3541 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3545 return PARTCL.iorig[index];
3548 /**************************************************************************/
3550 Float_t TIsajet::GetIDENT(Int_t index) const
3552 if ((index < 0) || (index >= PARTCL.nptcl)) {
3553 printf ("Error in TIsajet::GetIDENT : \n");
3554 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3558 return PARTCL.ident[index];
3561 /**************************************************************************/
3563 Float_t TIsajet::GetIDCAY(Int_t index) const
3565 if ((index < 0) || (index >= PARTCL.nptcl)) {
3566 printf ("Error in TIsajet::GetIDCAY : \n");
3567 printf ("Invalid array index %d; range is 0-%d.\n", index, PARTCL.nptcl-1);
3571 return PARTCL.idcay[index];
3574 /**************************************************************************/
3576 // Ends PARTCL access.
3577 // Begins PRIMAR access.
3579 /**************************************************************************/
3581 Int_t TIsajet::GetNJET() const
3586 /**************************************************************************/
3588 Float_t TIsajet::GetSCM() const
3593 /**************************************************************************/
3595 Float_t TIsajet::GetHALFE() const
3597 return PRIMAR.halfe;
3600 /**************************************************************************/
3602 void TIsajet::SetECM(Float_t val)
3605 printf ("Error in TIsajet::SetECM :\n");
3606 printf ("Cannot set energy to a negative value.\n");
3611 PRIMAR.scm = val*val;
3612 PRIMAR.halfe = val / 2;
3615 /**************************************************************************/
3617 Float_t TIsajet::GetECM() const
3622 /**************************************************************************/
3624 void TIsajet::SetIDIN(Int_t val, Int_t index)
3626 Int_t length = (sizeof PRIMAR.idin / sizeof PRIMAR.idin[0]);
3627 if ((index < 0) || (index >= length)) {
3628 printf ("Error in TIsajet::SetIDIN : \n");
3629 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3633 if ((val = 1120) || (val = 1220) || (val = -1120) || (val = -1220)) {
3634 PRIMAR.idin[index] = val;
3637 printf ("Error in TIsajet::SetIDIN : \n");
3638 printf ("Invalid input value %d. Possible values are 1120, 1220, -1120, -1220.\n", val);
3645 /**************************************************************************/
3647 void TIsajet::SetIDIN(const Char_t val[], Int_t index)
3649 Int_t length = (sizeof PRIMAR.idin / sizeof PRIMAR.idin[0]);
3650 if ((index < 0) || (index >= length)) {
3651 printf ("Error in TIsajet::SetIDIN : \n");
3652 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3656 if (!strcmp("P", val)) {
3657 PRIMAR.idin[index] = 1120;
3659 else if (!strcmp("AP", val)) {
3660 PRIMAR.idin[index] = -1120;
3662 else if (!strcmp("N", val)) {
3663 PRIMAR.idin[index] = 1220;
3665 else if (!strcmp("AN", val)) {
3666 PRIMAR.idin[index] = -1220;
3669 printf ("Error in TIsajet::SetIDIN : \n");
3670 printf ("Invalid input string %s. Possible strings are P, AP, N, and AN.\n", val);
3675 /**************************************************************************/
3677 Int_t TIsajet::GetIDIN(Int_t index) const
3679 Int_t length = (sizeof PRIMAR.idin / sizeof PRIMAR.idin[0]);
3680 if ((index < 0) || (index >= length)) {
3681 printf ("Error in TIsajet::GetIDIN : \n");
3682 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3686 return PRIMAR.idin[index];
3689 /**************************************************************************/
3691 Int_t TIsajet::GetNEVENT() const
3693 return PRIMAR.nevent;
3696 /**************************************************************************/
3698 void TIsajet::SetNTRIES(Int_t val)
3700 PRIMAR.ntries = val;
3703 /**************************************************************************/
3705 Int_t TIsajet::GetNTRIES() const
3707 return PRIMAR.ntries;
3710 /**************************************************************************/
3712 void TIsajet::SetNSIGMA(Int_t val)
3714 PRIMAR.nsigma = val;
3718 /**************************************************************************/
3720 Int_t TIsajet::GetNSIGMA() const
3722 return PRIMAR.nsigma;
3725 /**************************************************************************/
3727 // Ends PRIMAR access.
3728 // Begins QCDPAR access.
3730 /**************************************************************************/
3732 void TIsajet::SetALAM(Float_t val)
3735 QCDPAR.alam2 = val*val;
3739 /**************************************************************************/
3741 Float_t TIsajet::GetALAM() const
3746 /**************************************************************************/
3748 Float_t TIsajet::GetALAM2() const
3750 return QCDPAR.alam2;
3753 /**************************************************************************/
3755 void TIsajet::SetCUTJET(Float_t val)
3757 QCDPAR.cutjet = val;
3761 /**************************************************************************/
3763 Float_t TIsajet::GetCUTJET() const
3765 return QCDPAR.cutjet;
3768 /**************************************************************************/
3770 void TIsajet::SetISTRUC(Int_t val)
3772 if ((val < 1) || (val > 6)) {
3773 printf ("Error in TIsajet::SetISTRUC : \n");
3774 printf ("Invalid input value %d. Possible values are 1 through 6.\n", val);
3777 QCDPAR.istruc = val;
3780 /**************************************************************************/
3782 void TIsajet::SetISTRUC(const Char_t val[])
3784 if (!strcmp("OWENS", val)) {
3787 else if (!strcmp("BAIER", val)) {
3790 else if ((!strcmp("EICHTEN", val)) || (!strcmp("EHLQ", val))) {
3793 else if ((!strcmp("DUKE", val)) || (!strcmp("DO", val))) {
3796 else if (!strcmp("CTEQ2L", val)) {
3799 else if ((!strcmp("CTEQ", val)) || (!strcmp("CTEQ3L", val))) {
3803 printf ("Error in TIsajet::SetISTRUC : \n");
3804 printf ("Invalid input string %s. Possible strings are OWENS, BAIER, EICHTEN, \n", val);
3805 printf ("EHLQ, DUKE, DO, CTEQ2L, CTEQ, and CTEQ3L.\n");
3810 /**************************************************************************/
3812 Int_t TIsajet::GetISTRUC() const
3814 return QCDPAR.istruc;
3817 /**************************************************************************/
3819 // Ends QCDPAR access.
3820 // Begins QLMASS access.
3822 /**************************************************************************/
3824 void TIsajet::SetAMLEP(Float_t val, Int_t index)
3826 Int_t length = (sizeof QLMASS.amlep / sizeof QLMASS.amlep[0]);
3827 if ((index < 0) || (index >= length)) {
3828 printf ("Error in TIsajet::SetAMLEP : \n");
3829 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3833 if (((index < 5) && (index > 7)) &&
3834 ((index < 21) && (index > 26)) &&
3835 ((index < 29) && (index > 36)) &&
3836 ((index < 39) && (index > 40)) &&
3837 ((index < 63) && (index > 71)))
3839 printf ("Error in TIsajet::SetAMLEP : \n");
3840 printf ("Index %d may not be set by the user. Valid indices are : \n", index);
3841 printf ("5-7, 21-26, 29-36, 39-40 and 63-71.\n");
3845 QLMASS.amlep[index] = val;
3848 /**************************************************************************/
3850 Float_t TIsajet::GetAMLEP(Int_t index) const
3852 Int_t length = (sizeof QLMASS.amlep / sizeof QLMASS.amlep[0]);
3853 if ((index < 0) || (index >= length)) {
3854 printf ("Error in TIsajet::GetAMLEP : \n");
3855 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3858 if ((index < 5) || (index > 71) ||
3859 ((index > 7) && (index < 21)) ||
3860 ((index > 26) && (index < 29)) ||
3861 ((index > 36) && (index < 39)) ||
3862 ((index > 40) && (index < 63)))
3864 printf ("Possible error in TIsajet::GetAMLEP : \n");
3865 printf ("Index %d may not be set by the user. Valid indices are : \n", index);
3866 printf ("5-7, 21-26, 29-36, 39-40 and 63-71. \n");
3867 printf ("To return the value of this index, use GetAnyAMLEP(Int_t index).\n");
3872 return QLMASS.amlep[index];
3875 /**************************************************************************/
3877 Float_t TIsajet::GetAnyAMLEP(Int_t index) const
3879 Int_t length = (sizeof QLMASS.amlep / sizeof QLMASS.amlep[0]);
3880 if ((index < 0) || (index >= length)) {
3881 printf ("Error in TIsajet::GetAnyAMLEP : \n");
3882 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
3886 return QLMASS.amlep[index];
3889 /**************************************************************************/
3891 void TIsajet::SetTquarkMass(Float_t val)
3893 QLMASS.amlep[5] = val;
3896 /**************************************************************************/
3898 Float_t TIsajet::GetTquarkMass() const
3900 return QLMASS.amlep[5];
3903 /**************************************************************************/
3905 void TIsajet::SetXquarkMass(Float_t val)
3907 QLMASS.amlep[6] = val;
3910 /**************************************************************************/
3912 Float_t TIsajet::GetXquarkMass() const
3914 return QLMASS.amlep[6];
3917 /**************************************************************************/
3919 void TIsajet::SetYquarkMass(Float_t val)
3921 QLMASS.amlep[7] = val;
3924 /**************************************************************************/
3926 Float_t TIsajet::GetYquarkMass() const
3928 return QLMASS.amlep[7];
3931 /**************************************************************************/
3933 void TIsajet::SetUtildeMass(Float_t val)
3935 QLMASS.amlep[21] = val;
3938 /**************************************************************************/
3940 Float_t TIsajet::GetUtildeMass() const
3942 return QLMASS.amlep[21];
3945 /**************************************************************************/
3947 void TIsajet::SetDtildeMass(Float_t val)
3949 QLMASS.amlep[22] = val;
3952 /**************************************************************************/
3954 Float_t TIsajet::GetDtildeMass() const
3956 return QLMASS.amlep[22];
3959 /**************************************************************************/
3961 void TIsajet::SetStildeMass(Float_t val)
3963 QLMASS.amlep[23] = val;
3966 /**************************************************************************/
3968 Float_t TIsajet::GetStildeMass() const
3970 return QLMASS.amlep[23];
3973 /**************************************************************************/
3975 void TIsajet::SetCtildeMass(Float_t val)
3977 QLMASS.amlep[24] = val;
3980 /**************************************************************************/
3982 Float_t TIsajet::GetCtildeMass() const
3984 return QLMASS.amlep[24];
3987 /**************************************************************************/
3989 void TIsajet::SetBtildeMass(Float_t val)
3991 QLMASS.amlep[25] = val;
3994 /**************************************************************************/
3996 Float_t TIsajet::GetBtildeMass() const
3998 return QLMASS.amlep[25];
4001 /**************************************************************************/
4003 void TIsajet::SetTtildeMass(Float_t val)
4005 QLMASS.amlep[26] = val;
4008 /**************************************************************************/
4010 Float_t TIsajet::GetTtildeMass() const
4012 return QLMASS.amlep[26];
4015 /**************************************************************************/
4017 void TIsajet::SetGtildeMass(Float_t val)
4019 QLMASS.amlep[29] = val;
4022 /**************************************************************************/
4024 Float_t TIsajet::GetGtildeMass() const
4026 return QLMASS.amlep[29];
4029 /**************************************************************************/
4031 void TIsajet::SetGammatildeMass(Float_t val)
4033 QLMASS.amlep[30] = val;
4036 /**************************************************************************/
4038 Float_t TIsajet::GetGammatildeMass() const
4040 return QLMASS.amlep[30];
4043 /**************************************************************************/
4045 void TIsajet::SetNuEtildeMass(Float_t val)
4047 QLMASS.amlep[31] = val;
4050 /**************************************************************************/
4052 Float_t TIsajet::GetNuEtildeMass() const
4054 return QLMASS.amlep[31];
4057 /**************************************************************************/
4059 void TIsajet::SetEtildeMass(Float_t val)
4061 QLMASS.amlep[32] = val;
4064 /**************************************************************************/
4066 Float_t TIsajet::GetEtildeMass() const
4068 return QLMASS.amlep[32];
4071 /**************************************************************************/
4073 void TIsajet::SetNuMutildeMass(Float_t val)
4075 QLMASS.amlep[33] = val;
4078 /**************************************************************************/
4080 Float_t TIsajet::GetNuMutildeMass() const
4082 return QLMASS.amlep[33];
4085 /**************************************************************************/
4087 void TIsajet::SetMutildeMass(Float_t val)
4089 QLMASS.amlep[34] = val;
4092 /**************************************************************************/
4094 Float_t TIsajet::GetMutildeMass() const
4096 return QLMASS.amlep[34];
4099 /**************************************************************************/
4101 void TIsajet::SetNuTautildeMass(Float_t val)
4103 QLMASS.amlep[35] = val;
4106 /**************************************************************************/
4108 Float_t TIsajet::GetNuTautildeMass() const
4110 return QLMASS.amlep[35];
4113 /**************************************************************************/
4115 void TIsajet::SetTautildeMass(Float_t val)
4117 QLMASS.amlep[36] = val;
4120 /**************************************************************************/
4122 Float_t TIsajet::GetTautildeMass() const
4124 return QLMASS.amlep[36];
4127 /**************************************************************************/
4129 void TIsajet::SetWplustildeMass(Float_t val)
4131 QLMASS.amlep[39] = val;
4134 /**************************************************************************/
4136 Float_t TIsajet::GetWplustildeMass() const
4138 return QLMASS.amlep[39];
4141 /**************************************************************************/
4143 void TIsajet::SetZ0tildeMass(Float_t val)
4145 QLMASS.amlep[40] = val;
4148 /**************************************************************************/
4150 Float_t TIsajet::GetZ0tildeMass() const
4152 return QLMASS.amlep[40];
4155 /**************************************************************************/
4157 void TIsajet::SetHiggsMesonMass(Float_t val, Int_t index)
4159 if ((index < 1) || (index > 9)) {
4160 printf ("Error in TIsajet::SetHiggsMesonMass : \n");
4161 printf ("Invalid Higgs meson number index %d; range is 1-9.\n", index);
4165 QLMASS.amlep[62 + index] = val;
4168 /**************************************************************************/
4170 Float_t TIsajet::GetHiggsMesonMass(Int_t index) const
4172 if ((index < 1) || (index > 9)) {
4173 printf ("Error in TIsajet::GetHiggsMesonMass : \n");
4174 printf ("Invalid Higgs meson number index %d; range is 1-9.\n", index);
4178 return QLMASS.amlep[62 + index];
4181 /**************************************************************************/
4183 Int_t TIsajet::GetNQLEP() const
4185 return QLMASS.nqlep;
4188 /**************************************************************************/
4190 Int_t TIsajet::GetNMES() const
4195 /**************************************************************************/
4197 Int_t TIsajet::GetNBARY() const
4199 return QLMASS.nbary;
4202 /**************************************************************************/
4204 // Ends QLMASS access.
4205 // Begins SEED access.
4207 /**************************************************************************/
4209 void TIsajet::SetSEED(const Char_t val[24])
4211 Int_t length = (sizeof SEED.xseed / sizeof SEED.xseed[0]);
4213 for (Int_t i = 0; i < length; i++) {
4214 SEED.xseed[i] = val[i];
4218 /**************************************************************************/
4220 Char_t* TIsajet::GetSEED() const
4225 /**************************************************************************/
4227 // Ends SEED access - short and sweet, wasn't it?
4228 // Begins SUGNU access, an entirely different business.
4230 /**************************************************************************/
4232 void TIsajet::SetXNUSUG(Float_t val, Int_t index)
4234 Int_t length = (sizeof SUGNU.xnusug / sizeof SUGNU.xnusug[0]);
4235 if ((index < 0) || (index >= length)) {
4236 printf ("Error in TIsajet::SetXNUSUG : \n");
4237 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
4241 SUGNU.xnusug[index] = val;
4244 /**************************************************************************/
4246 Float_t TIsajet::GetXNUSUG(Int_t index) const
4248 Int_t length = (sizeof SUGNU.xnusug / sizeof SUGNU.xnusug[0]);
4249 if ((index < 0) || (index >= length)) {
4250 printf ("Error in TIsajet::GetXNUSUG : \n");
4251 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
4255 return SUGNU.xnusug[index];
4258 /**************************************************************************/
4260 void TIsajet::SetGauginoMass(Float_t val, Int_t index)
4262 if ((index < 1) || (index > 9)) {
4263 printf ("Error in TIsajet::SetGauginoMass : \n");
4264 printf ("Invalid gaugino number %d; range is 1-3.\n", index);
4268 SUGNU.xnusug[index-1] = val;
4271 /**************************************************************************/
4273 Float_t TIsajet::GetGauginoMass(Int_t index) const
4275 if ((index < 1) || (index > 3)) {
4276 printf ("Error in TIsajet::GetGauginoMass : \n");
4277 printf ("Invalid gaugino number %d; range is 1-3.\n", index);
4281 return SUGNU.xnusug[index-1];
4284 /**************************************************************************/
4286 void TIsajet::SetAtau(Float_t val)
4288 SUGNU.xnusug[3] = val;
4291 /**************************************************************************/
4293 Float_t TIsajet::GetAtau() const
4295 return SUGNU.xnusug[3];
4298 /**************************************************************************/
4300 void TIsajet::SetAb(Float_t val)
4302 SUGNU.xnusug[4] = val;
4305 /**************************************************************************/
4307 Float_t TIsajet::GetAb() const
4309 return SUGNU.xnusug[4];
4312 /**************************************************************************/
4314 void TIsajet::SetAt(Float_t val)
4316 SUGNU.xnusug[5] = val;
4319 /**************************************************************************/
4321 Float_t TIsajet::GetAt() const
4323 return SUGNU.xnusug[5];
4326 /**************************************************************************/
4328 void TIsajet::SetHiggsDmass(Float_t val)
4330 SUGNU.xnusug[6] = val;
4333 /**************************************************************************/
4335 Float_t TIsajet::GetHiggsDmass() const
4337 return SUGNU.xnusug[6];
4340 /**************************************************************************/
4342 void TIsajet::SetHiggsUmass(Float_t val)
4344 SUGNU.xnusug[7] = val;
4347 /**************************************************************************/
4349 Float_t TIsajet::GetHiggsUmass() const
4351 return SUGNU.xnusug[7];
4354 /**************************************************************************/
4356 void TIsajet::SetERmass(Float_t val)
4358 SUGNU.xnusug[8] = val;
4361 /**************************************************************************/
4363 Float_t TIsajet::GetERmass() const
4365 return SUGNU.xnusug[8];
4368 /**************************************************************************/
4370 void TIsajet::SetELmass(Float_t val)
4372 SUGNU.xnusug[9] = val;
4375 /**************************************************************************/
4377 Float_t TIsajet::GetELmass() const
4379 return SUGNU.xnusug[9];
4382 /**************************************************************************/
4384 void TIsajet::SetDRmass(Float_t val)
4386 SUGNU.xnusug[10] = val;
4389 /**************************************************************************/
4391 Float_t TIsajet::GetDRmass() const
4393 return SUGNU.xnusug[10];
4396 /**************************************************************************/
4398 void TIsajet::SetURmass(Float_t val)
4400 SUGNU.xnusug[11] = val;
4403 /**************************************************************************/
4405 Float_t TIsajet::GetURmass() const
4407 return SUGNU.xnusug[11];
4410 /**************************************************************************/
4412 void TIsajet::SetULmass(Float_t val)
4414 SUGNU.xnusug[12] = val;
4417 /**************************************************************************/
4419 Float_t TIsajet::GetULmass() const
4421 return SUGNU.xnusug[12];
4424 /**************************************************************************/
4426 void TIsajet::SetTauRmass(Float_t val)
4428 SUGNU.xnusug[13] = val;
4431 /**************************************************************************/
4433 Float_t TIsajet::GetTauRmass() const
4435 return SUGNU.xnusug[13];
4438 /**************************************************************************/
4440 void TIsajet::SetTauLmass(Float_t val)
4442 SUGNU.xnusug[14] = val;
4445 /**************************************************************************/
4447 Float_t TIsajet::GetTauLmass() const
4449 return SUGNU.xnusug[14];
4452 /**************************************************************************/
4454 void TIsajet::SetBRmass(Float_t val)
4456 SUGNU.xnusug[15] = val;
4459 /**************************************************************************/
4461 Float_t TIsajet::GetBRmass() const
4463 return SUGNU.xnusug[15];
4466 /**************************************************************************/
4468 void TIsajet::SetTRmass(Float_t val)
4470 SUGNU.xnusug[16] = val;
4473 /**************************************************************************/
4475 Float_t TIsajet::GetTRmass() const
4477 return SUGNU.xnusug[16];
4480 /**************************************************************************/
4482 void TIsajet::SetTLmass(Float_t val)
4484 SUGNU.xnusug[17] = val;
4487 /**************************************************************************/
4489 Float_t TIsajet::GetTLmass() const
4491 return SUGNU.xnusug[17];
4494 /**************************************************************************/
4496 // Ends XNUSUG access.
4497 // Begins TCPAR access.
4499 /**************************************************************************/
4501 void TIsajet::SetTCMRHO(Float_t val)
4506 /**************************************************************************/
4508 Float_t TIsajet::GetTCMRHO() const
4510 return TCPAR.tcmrho;
4513 /**************************************************************************/
4515 void TIsajet::SetTCGRHO(Float_t val)
4520 /**************************************************************************/
4522 Float_t TIsajet::GetTCGRHO() const
4524 return TCPAR.tcgrho;
4527 /**************************************************************************/
4529 // Ends TCPAR access.
4530 // Begins TYPES access.
4532 /**************************************************************************/
4534 Int_t TIsajet::GetLOC(Int_t index) const
4536 Int_t length = (sizeof TYPES.loc / sizeof TYPES.loc[0]);
4537 if ((index < 0) || (index >= length)) {
4538 printf ("Error in TIsajet::GetLOC : \n");
4539 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
4543 return TYPES.loc[index];
4546 /**************************************************************************/
4548 Int_t TIsajet::GetNTYP() const
4553 /**************************************************************************/
4555 Int_t TIsajet::GetNJTTYP(Int_t index) const
4557 Int_t length = (sizeof TYPES.njttyp / sizeof TYPES.njttyp[0]);
4558 if ((index < 0) || (index >= length)) {
4559 printf ("Error in TIsajet::GetNJTYP : \n");
4560 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
4564 return TYPES.njttyp[index];
4567 /**************************************************************************/
4569 Int_t TIsajet::GetNWWTYP(Int_t index) const
4571 Int_t length = (sizeof TYPES.nwwtyp / sizeof TYPES.nwwtyp[0]);
4572 if ((index < 0) || (index >= length)) {
4573 printf ("Error in TIsajet::GetNWWTYP : \n");
4574 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
4578 return TYPES.nwwtyp[index];
4581 /**************************************************************************/
4583 Int_t TIsajet::GetNWMODE(Int_t index) const
4585 Int_t length = (sizeof TYPES.nwmode / sizeof TYPES.nwmode[0]);
4586 if ((index < 0) || (index >= length)) {
4587 printf ("Error in TIsajet::GetNWMODE : \n");
4588 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
4592 return TYPES.nwmode[index];
4595 /**************************************************************************/
4597 // Ends TYPES access.
4598 // Begins XMSSM access.
4600 /**************************************************************************/
4602 Bool_t TIsajet::GetGOMSSM() const
4604 return XMSSM.gomssm;
4607 /**************************************************************************/
4609 Bool_t TIsajet::GetGOSUG() const
4614 /**************************************************************************/
4616 Bool_t TIsajet::GetGOGMSB() const
4618 return XMSSM.gogmsb;
4621 /**************************************************************************/
4623 Bool_t TIsajet::GetGOAMSB() const
4625 return XMSSM.goamsb;
4628 /**************************************************************************/
4630 Bool_t TIsajet::GetAL3UNI() const
4632 return XMSSM.al3uni;
4635 /**************************************************************************/
4637 void TIsajet::SetXGLSS(Float_t val)
4642 /**************************************************************************/
4644 Float_t TIsajet::GetXGLSS() const
4649 /**************************************************************************/
4651 void TIsajet::SetXMUSS(Float_t val)
4656 /**************************************************************************/
4658 Float_t TIsajet::GetXMUSS() const
4663 /**************************************************************************/
4665 void TIsajet::SetXHASS(Float_t val)
4670 /**************************************************************************/
4672 Float_t TIsajet::GetXHASS() const
4677 /**************************************************************************/
4679 void TIsajet::SetXTBSS(Float_t val)
4684 /**************************************************************************/
4686 Float_t TIsajet::GetXTBSS() const
4691 /**************************************************************************/
4693 void TIsajet::SetXQ1SS(Float_t val)
4698 /**************************************************************************/
4700 Float_t TIsajet::GetXQ1SS() const
4705 /**************************************************************************/
4707 void TIsajet::SetXDRSS(Float_t val)
4712 /**************************************************************************/
4714 Float_t TIsajet::GetXDRSS() const
4719 /**************************************************************************/
4721 void TIsajet::SetXURSS(Float_t val)
4726 /**************************************************************************/
4728 Float_t TIsajet::GetXURSS() const
4733 /**************************************************************************/
4735 void TIsajet::SetXL1SS(Float_t val)
4740 /**************************************************************************/
4742 Float_t TIsajet::GetXL1SS() const
4747 /**************************************************************************/
4749 void TIsajet::SetXERSS(Float_t val)
4754 /**************************************************************************/
4756 Float_t TIsajet::GetXERSS() const
4761 /**************************************************************************/
4763 void TIsajet::SetXQ2SS(Float_t val)
4768 /**************************************************************************/
4770 Float_t TIsajet::GetXQ2SS() const
4775 /**************************************************************************/
4777 void TIsajet::SetXSRSS(Float_t val)
4782 /**************************************************************************/
4784 Float_t TIsajet::GetXSRSS() const
4789 /**************************************************************************/
4791 void TIsajet::SetXCRSS(Float_t val)
4796 /**************************************************************************/
4798 Float_t TIsajet::GetXCRSS() const
4803 /**************************************************************************/
4805 void TIsajet::SetXL2SS(Float_t val)
4810 /**************************************************************************/
4812 Float_t TIsajet::GetXL2SS() const
4817 /**************************************************************************/
4819 void TIsajet::SetXMRSS(Float_t val)
4824 /**************************************************************************/
4826 Float_t TIsajet::GetXMRSS() const
4831 /**************************************************************************/
4833 void TIsajet::SetXQ3SS(Float_t val)
4838 /**************************************************************************/
4840 Float_t TIsajet::GetXQ3SS() const
4845 /**************************************************************************/
4847 void TIsajet::SetXBRSS(Float_t val)
4852 /**************************************************************************/
4854 Float_t TIsajet::GetXBRSS() const
4859 /**************************************************************************/
4861 void TIsajet::SetXTRSS(Float_t val)
4866 /**************************************************************************/
4868 Float_t TIsajet::GetXTRSS() const
4873 /**************************************************************************/
4875 void TIsajet::SetXL3SS(Float_t val)
4880 /**************************************************************************/
4882 Float_t TIsajet::GetXL3SS() const
4887 /**************************************************************************/
4889 void TIsajet::SetXTARSS(Float_t val)
4894 /**************************************************************************/
4896 Float_t TIsajet::GetXTARSS() const
4898 return XMSSM.xtarss;
4901 /**************************************************************************/
4903 void TIsajet::SetXATSS(Float_t val)
4908 /**************************************************************************/
4910 Float_t TIsajet::GetXATSS() const
4915 /**************************************************************************/
4917 void TIsajet::SetXABSS(Float_t val)
4922 /**************************************************************************/
4924 Float_t TIsajet::GetXABSS() const
4929 /**************************************************************************/
4931 void TIsajet::SetXATASS(Float_t val)
4936 /**************************************************************************/
4938 Float_t TIsajet::GetXATASS() const
4940 return XMSSM.xatass;
4943 /**************************************************************************/
4945 void TIsajet::SetXM1SS(Float_t val)
4950 /**************************************************************************/
4952 Float_t TIsajet::GetXM1SS() const
4957 /**************************************************************************/
4959 void TIsajet::SetXM2SS(Float_t val)
4964 /**************************************************************************/
4966 Float_t TIsajet::GetXM2SS() const
4971 /**************************************************************************/
4973 void TIsajet::SetXM0SU(Float_t val)
4978 /**************************************************************************/
4980 Float_t TIsajet::GetXM0SU() const
4985 /**************************************************************************/
4987 void TIsajet::SetXMHSU(Float_t val)
4992 /**************************************************************************/
4994 Float_t TIsajet::GetXMHSU() const
4999 /**************************************************************************/
5001 void TIsajet::SetXA0SU(Float_t val)
5006 /**************************************************************************/
5008 Float_t TIsajet::GetXA0SU() const
5013 /**************************************************************************/
5015 void TIsajet::SetXTGBSU(Float_t val)
5020 /**************************************************************************/
5022 Float_t TIsajet::GetXTGBSU() const
5024 return XMSSM.xtgbsu;
5027 /**************************************************************************/
5029 void TIsajet::SetXSMUSU(Float_t val)
5034 /**************************************************************************/
5036 Float_t TIsajet::GetXSMUSU() const
5038 return XMSSM.xsmusu;
5041 /**************************************************************************/
5043 void TIsajet::SetXLAMGM(Float_t val)
5048 /**************************************************************************/
5050 Float_t TIsajet::GetXLAMGM() const
5052 return XMSSM.xlamgm;
5055 /**************************************************************************/
5057 void TIsajet::SetXMESGM(Float_t val)
5062 /**************************************************************************/
5064 Float_t TIsajet::GetXMESGM() const
5066 return XMSSM.xmesgm;
5069 /**************************************************************************/
5071 void TIsajet::SetXN5GM(Float_t val)
5076 /**************************************************************************/
5078 Float_t TIsajet::GetXN5GM() const
5083 /**************************************************************************/
5085 void TIsajet::SetXCMGV(Float_t val)
5090 /**************************************************************************/
5092 Float_t TIsajet::GetXCMGV() const
5097 /**************************************************************************/
5099 void TIsajet::SetMGVTO(Float_t val)
5104 /**************************************************************************/
5106 Float_t TIsajet::GetMGVTO() const
5111 /**************************************************************************/
5113 void TIsajet::SetXRSLGM(Float_t val)
5118 /**************************************************************************/
5120 Float_t TIsajet::GetXRSLGM() const
5122 return XMSSM.xrslgm;
5125 /**************************************************************************/
5127 void TIsajet::SetXDHDGM(Float_t val)
5132 /**************************************************************************/
5134 Float_t TIsajet::GetXDHDGM() const
5136 return XMSSM.xdhdgm;
5139 /**************************************************************************/
5141 void TIsajet::SetXDHUGM(Float_t val)
5146 /**************************************************************************/
5148 Float_t TIsajet::GetXDHUGM() const
5150 return XMSSM.xdhugm;
5153 /**************************************************************************/
5155 void TIsajet::SetXDYGM(Float_t val)
5160 /**************************************************************************/
5162 Float_t TIsajet::GetXDYGM() const
5167 /**************************************************************************/
5169 void TIsajet::SetXN51GM(Float_t val)
5174 /**************************************************************************/
5176 Float_t TIsajet::GetXN51GM() const
5178 return XMSSM.xn51gm;
5181 /**************************************************************************/
5183 void TIsajet::SetXN52GM(Float_t val)
5188 /**************************************************************************/
5190 Float_t TIsajet::GetXN52GM() const
5192 return XMSSM.xn52gm;
5195 /**************************************************************************/
5197 void TIsajet::SetXN53GM(Float_t val)
5202 /**************************************************************************/
5204 Float_t TIsajet::GetXN53GM() const
5206 return XMSSM.xn53gm;
5209 /**************************************************************************/
5211 void TIsajet::SetXMN3NR(Float_t val)
5216 /**************************************************************************/
5218 Float_t TIsajet::GetXMN3NR() const
5220 return XMSSM.xmn3nr;
5223 /**************************************************************************/
5225 void TIsajet::SetXMAJNR(Float_t val)
5230 /**************************************************************************/
5232 Float_t TIsajet::GetXMAJNR() const
5234 return XMSSM.xmajnr;
5237 /**************************************************************************/
5239 void TIsajet::SetXANSS(Float_t val)
5244 /**************************************************************************/
5246 Float_t TIsajet::GetXANSS() const
5251 /**************************************************************************/
5253 void TIsajet::SetXNRSS(Float_t val)
5258 /**************************************************************************/
5260 Float_t TIsajet::GetXNRSS() const
5265 /**************************************************************************/
5267 void TIsajet::SetXSBCS(Float_t val)
5272 /**************************************************************************/
5274 Float_t TIsajet::GetXSBCS() const
5279 /**************************************************************************/
5281 // Ends XMSSM access.
5282 // Begins XTYPES access.
5284 /**************************************************************************/
5286 Char_t* TIsajet::GetPARTYP(Int_t index) const
5288 Int_t length = (sizeof XTYPES.partyp / sizeof XTYPES.partyp[0]);
5289 if ((index < 0) || (index >= length)) {
5290 printf ("Error in TIsajet::GetPARTYP : \n");
5291 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
5295 return XTYPES.partyp[index];
5298 /**************************************************************************/
5300 void TIsajet::SetTITLE(Char_t *val)
5302 title = XTYPES.title = val;
5305 /**************************************************************************/
5306 Char_t* TIsajet::GetTITLE() const
5308 return XTYPES.title;
5311 /**************************************************************************/
5313 void TIsajet::SetJETYP(Int_t index, Char_t val[])
5315 Int_t col_num = (sizeof XTYPES.jetyp[0] / sizeof XTYPES.jetyp[0][0]);
5316 Int_t row_num = (sizeof XTYPES.jetyp / (sizeof XTYPES.jetyp[0][0] * col_num));
5318 if ((index < 0) || (index >= row_num)) {
5319 printf ("Error in TIsajet::SetJETYP : \n");
5320 printf ("Invalid array row index %d; range is 0-%d.\n", index, row_num-1);
5324 if (TYPES.njttyp[index] >= col_num) {
5325 printf ("Error in TIsajet::SetJETYP : \n");
5326 printf ("Cannot set more than %d jet types.\n", col_num-1);
5330 if ((!strcmp(val, "ALL")) || (!strcmp(val, "GL")) ||
5331 (!strcmp(val, "UP")) || (!strcmp(val, "UB")) ||
5332 (!strcmp(val, "DN")) || (!strcmp(val, "DB")) ||
5333 (!strcmp(val, "ST")) || (!strcmp(val, "SB")) ||
5334 (!strcmp(val, "CH")) || (!strcmp(val, "CB")) ||
5335 (!strcmp(val, "BT")) || (!strcmp(val, "BB")) ||
5336 (!strcmp(val, "TP")) || (!strcmp(val, "TB")) ||
5337 (!strcmp(val, "X")) || (!strcmp(val, "XB")) ||
5338 (!strcmp(val, "Y")) || (!strcmp(val, "YB")) ||
5339 (!strcmp(val, "E-")) || (!strcmp(val, "E+")) ||
5340 (!strcmp(val, "MU-")) || (!strcmp(val, "MU+")) ||
5341 (!strcmp(val, "TAU-")) || (!strcmp(val, "TAU+")) ||
5342 (!strcmp(val, "NUS")) || (!strcmp(val, "GM")) ||
5343 (!strcmp(val, "W+")) || (!strcmp(val, "W-")) ||
5344 (!strcmp(val, "Z0"))) {
5346 XTYPES.jetyp[index][TYPES.njttyp[index]++] = val;
5349 printf ("Error in TIsajet::SetJETYP : \n");
5350 printf ("Invalid jet type %s; valid types are\n", val);
5351 printf ("ALL, GL, UP, UB, DN, DB, ST, SB,\n");
5352 printf ("CH, CB, BT, BB, TP, TB, X, XB, Y, YB,\n");
5353 printf ("E-, E+, MU-, MU+, TAU-, TAU+, NUS, GM,\n");
5354 printf ("W+, W- and Z0.\n");
5358 if (index == 0) setJettype1 = true;
5359 else if (index == 1) setJettype2 = true;
5360 else if (index == 2) setJettype3 = true;
5363 /**************************************************************************/
5365 Char_t* TIsajet::GetJETYP(Int_t index1, Int_t index2) const
5367 Int_t col_num = (sizeof XTYPES.jetyp[0] / sizeof XTYPES.jetyp[0][0]);
5368 Int_t row_num = (sizeof XTYPES.jetyp / (sizeof XTYPES.jetyp[0][0] * col_num));
5370 if ((index1 < 0) || (index1 >= row_num)) {
5371 printf ("Error in TIsajet::GetJETYP : \n");
5372 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5376 if ((index2 < 0) || (index2 >= col_num)) {
5377 printf ("Error in TIsajet::GetJETYP : \n");
5378 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5382 return XTYPES.jetyp[index1][index2];
5385 /**************************************************************************/
5387 void TIsajet::SetWWTYP(Char_t val[], Int_t index1, Int_t index2)
5389 Int_t col_num = (sizeof XTYPES.wwtyp[0] / sizeof XTYPES.wwtyp[0][0]);
5390 Int_t row_num = (sizeof XTYPES.wwtyp / (sizeof XTYPES.wwtyp[0][0] * col_num));
5392 if ((index1 < 0) || (index1 >= row_num)) {
5393 printf ("Error in TIsajet::SetWWTYP : \n");
5394 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5398 if ((index2 < 0) || (index2 >= col_num)) {
5399 printf ("Error in TIsajet::SetWWTYP : \n");
5400 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5404 XTYPES.wwtyp[index1][index2] = val;
5407 /**************************************************************************/
5409 void TIsajet::SetAllWWTYP(Char_t* val[2][30])
5411 for (Int_t i = 0; i < 2; i++) {
5412 for (Int_t j = 0; j < 30; j++) {
5413 SetWWTYP(val[i][j], i, j);
5418 /**************************************************************************/
5420 void TIsajet::SetColumnWWTYP(Char_t* val[], Int_t col)
5422 Int_t col_num = (sizeof XTYPES.wwtyp[0] / sizeof XTYPES.wwtyp[0][0]);
5423 Int_t row_num = (sizeof XTYPES.wwtyp / (sizeof XTYPES.wwtyp[0][0] * col_num));
5425 if ((col < 0) || (col >= col_num)) {
5426 printf ("Error in TIsajet::SetColumnWWTYP : \n");
5427 printf ("Invalid column index %d, range is 0-%d.\n", col, col_num-1);
5431 for (Int_t i = 0; i < row_num; i++) {
5432 SetWWTYP(val[i], i, col);
5436 /**************************************************************************/
5438 Char_t* TIsajet::GetWWTYP(Int_t index1, Int_t index2) const
5440 Int_t col_num = (sizeof XTYPES.wwtyp[0] / sizeof XTYPES.wwtyp[0][0]);
5441 Int_t row_num = (sizeof XTYPES.wwtyp / (sizeof XTYPES.wwtyp[0][0] * col_num));
5443 if ((index1 < 0) || (index1 >= row_num)) {
5444 printf ("Error in TIsajet::GetWWTYP : \n");
5445 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5449 if ((index2 < 0) || (index2 >= col_num)) {
5450 printf ("Error in TIsajet::GetWWTYP : \n");
5451 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5455 return XTYPES.wwtyp[index1][index2];
5458 /**************************************************************************/
5460 void TIsajet::SetWMODES(Char_t val[], Int_t index1, Int_t index2)
5462 Int_t col_num = (sizeof XTYPES.wmodes[0] / sizeof XTYPES.wmodes[0][0]);
5463 Int_t row_num = (sizeof XTYPES.wmodes / (sizeof XTYPES.wmodes[0][0] * col_num));
5465 if ((index1 < 0) || (index1 >= row_num)) {
5466 printf ("Error in TIsajet::SetWMODES : \n");
5467 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5471 if ((index2 < 0) || (index2 >= col_num)) {
5472 printf ("Error in TIsajet::SetWMODES : \n");
5473 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5477 XTYPES.wmodes[index1][index2] = val;
5480 /**************************************************************************/
5482 void TIsajet::SetAllWMODES(Char_t* val[2][30])
5484 for (Int_t i = 0; i < 2; i++) {
5485 for (Int_t j = 0; j < 30; j++) {
5486 SetWMODES(val[i][j], i, j);
5491 /**************************************************************************/
5493 void TIsajet::SetColumnWMODES(Char_t* val[], Int_t col)
5495 Int_t col_num = (sizeof XTYPES.wmodes[0] / sizeof XTYPES.wmodes[0][0]);
5496 Int_t row_num = (sizeof XTYPES.wmodes / (sizeof XTYPES.wmodes[0][0] * col_num));
5498 if ((col < 0) || (col >= col_num)) {
5499 printf ("Error in TIsajet::SetColumnWMODES : \n");
5500 printf ("Invalid column index %d, range is 0-%d.\n", col, col_num-1);
5504 for (Int_t i = 0; i < row_num; i++) {
5505 SetWMODES(val[i], i, col);
5509 /**************************************************************************/
5511 Char_t* TIsajet::GetWMODES(Int_t index1, Int_t index2) const
5513 Int_t col_num = (sizeof XTYPES.wmodes[0] / sizeof XTYPES.wmodes[0][0]);
5514 Int_t row_num = (sizeof XTYPES.wmodes / (sizeof XTYPES.wmodes[0][0] * col_num));
5516 if ((index1 < 0) || (index1 >= row_num)) {
5517 printf ("Error in TIsajet::GetWMODES : \n");
5518 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5522 if ((index2 < 0) || (index2 >= col_num)) {
5523 printf ("Error in TIsajet::GetWMODES : \n");
5524 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5528 return XTYPES.wmodes[index1][index2];
5531 /**************************************************************************/
5533 // Ends XTYPES access.
5534 // Begins WCON access.
5536 /**************************************************************************/
5538 void TIsajet::SetSIN2W(Float_t val)
5543 /**************************************************************************/
5545 Float_t TIsajet::GetSIN2W() const
5550 /**************************************************************************/
5552 void TIsajet::SetWMASS(Float_t w, Float_t z)
5555 // This is how the FORTRAN does it. Don't ask me why.
5558 WCON.wmass[1] = WCON.wmass[2] = w;
5562 /**************************************************************************/
5564 Float_t TIsajet::GetWMASS(Int_t index) const
5566 Int_t length = (sizeof WCON.wmass / sizeof WCON.wmass[0]);
5567 if ((index < 0) || (index >= length)) {
5568 printf ("Error in TIsajet::GetWMASS : \n");
5569 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
5573 return WCON.wmass[index];
5576 /**************************************************************************/
5578 void TIsajet::SetWMass(Float_t val)
5580 WCON.wmass[1] = WCON.wmass[2] = val;
5583 /**************************************************************************/
5585 void TIsajet::SetZMass(Float_t val)
5587 WCON.wmass[3] = val;
5590 /**************************************************************************/
5592 Float_t TIsajet::GetWGAM(Int_t index) const
5594 Int_t length = (sizeof WCON.wgam / sizeof WCON.wgam[0]);
5595 if ((index < 0) || (index >= length)) {
5596 printf ("Error in TIsajet::GetWGAM : \n");
5597 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
5601 return WCON.wgam[index];
5604 /**************************************************************************/
5606 Float_t TIsajet::GetAQ(Int_t index1, Int_t index2) const
5608 Int_t col_num = (sizeof WCON.aq[0] / sizeof WCON.aq[0][0]);
5609 Int_t row_num = (sizeof WCON.aq / (sizeof WCON.aq[0][0] * col_num));
5611 if ((index1 < 0) || (index1 >= row_num)) {
5612 printf ("Error in TIsajet::GetAQ : \n");
5613 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5617 if ((index2 < 0) || (index2 >= col_num)) {
5618 printf ("Error in TIsajet::GetAQ : \n");
5619 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5623 return WCON.aq[index1][index2];
5626 /**************************************************************************/
5628 Float_t TIsajet::GetBQ(Int_t index1, Int_t index2) const
5630 Int_t col_num = (sizeof WCON.bq[0] / sizeof WCON.bq[0][0]);
5631 Int_t row_num = (sizeof WCON.bq / (sizeof WCON.bq[0][0] * col_num));
5633 if ((index1 < 0) || (index1 >= row_num)) {
5634 printf ("Error in TIsajet::GetBQ : \n");
5635 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5639 if ((index2 < 0) || (index2 >= col_num)) {
5640 printf ("Error in TIsajet::GetBQ : \n");
5641 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5645 return WCON.bq[index1][index2];
5648 /**************************************************************************/
5650 Float_t TIsajet::GetCOUT(Int_t index) const
5652 Int_t length = (sizeof WCON.cout / sizeof WCON.cout[0]);
5653 if ((index < 0) || (index >= length)) {
5654 printf ("Error in TIsajet::GetCOUT : \n");
5655 printf ("Invalid array index %d; range is 0-%d.\n", index, length-1);
5659 return WCON.cout[index];
5662 /**************************************************************************/
5664 Int_t TIsajet::GetMATCH() const
5669 /**************************************************************************/
5671 Float_t TIsajet::GetWCBR(Int_t index1, Int_t index2) const
5673 Int_t col_num = (sizeof WCON.wcbr[0] / sizeof WCON.wcbr[0][0]);
5674 Int_t row_num = (sizeof WCON.wcbr / (sizeof WCON.wcbr[0][0] * col_num));
5676 if ((index1 < 0) || (index1 >= row_num)) {
5677 printf ("Error in TIsajet::GetWCBR : \n");
5678 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5682 if ((index2 < 0) || (index2 >= col_num)) {
5683 printf ("Error in TIsajet::GetWCBR : \n");
5684 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5688 return WCON.wcbr[index1][index2];
5691 /**************************************************************************/
5693 void TIsajet::SetCUTOFF(Float_t val)
5698 /**************************************************************************/
5700 Float_t TIsajet::GetCUTOFF() const
5705 /**************************************************************************/
5707 void TIsajet::SetCUTPOW(Float_t val)
5712 /**************************************************************************/
5714 Float_t TIsajet::GetCUTPOW() const
5719 /**************************************************************************/
5721 Float_t TIsajet::GetTBRWW(Int_t index1, Int_t index2) const
5723 Int_t col_num = (sizeof WCON.tbrww[0] / sizeof WCON.tbrww[0][0]);
5724 Int_t row_num = (sizeof WCON.tbrww / (sizeof WCON.tbrww[0][0] * col_num));
5726 if ((index1 < 0) || (index1 >= row_num)) {
5727 printf ("Error in TIsajet::GetTBRWW : \n");
5728 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5732 if ((index2 < 0) || (index2 >= col_num)) {
5733 printf ("Error in TIsajet::GetTBRWW : \n");
5734 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5738 return WCON.tbrww[index1][index2];
5741 /**************************************************************************/
5743 Float_t TIsajet::GetRBRWW(Int_t index1, Int_t index2, Int_t index3) const
5745 Int_t elem_Size = sizeof WCON.rbrww[0][0][0];
5746 Int_t thd_Dim_Length = (sizeof WCON.rbrww[0][0] / elem_Size);
5747 Int_t sec_Dim_Length = (sizeof WCON.rbrww[0] / (elem_Size * thd_Dim_Length));
5748 Int_t fst_Dim_Length = (sizeof WCON.rbrww / (elem_Size * thd_Dim_Length * sec_Dim_Length));
5750 if ((index1 < 0) || (index1 >= fst_Dim_Length)) {
5751 printf ("Error in TIsajet::GetRBRWW : \n");
5752 printf ("Invalid first index %d; range is 0-%d.\n", index1, fst_Dim_Length-1);
5756 if ((index2 < 0) || (index2 >= sec_Dim_Length)) {
5757 printf ("Error in TIsajet::GetRBRWW : \n");
5758 printf ("Invalid second index %d; range is 0-%d.\n", index2, sec_Dim_Length-1);
5762 if ((index3 < 0) || (index3 >= thd_Dim_Length)) {
5763 printf ("Error in TIsajet::GetRBRWW : \n");
5764 printf ("Invalid third index %d; range is 0-%d.\n", index3, thd_Dim_Length-1);
5768 return WCON.rbrww[index1][index2][index3];
5772 /**************************************************************************/
5774 Float_t TIsajet::GetEZ() const
5779 /**************************************************************************/
5781 Float_t TIsajet::GetAQDP(Int_t index1, Int_t index2) const
5783 Int_t col_num = (sizeof WCON.aqdp[0] / sizeof WCON.aqdp[0][0]);
5784 Int_t row_num = (sizeof WCON.aqdp / (sizeof WCON.aqdp[0][0] * col_num));
5786 if ((index1 < 0) || (index1 >= row_num)) {
5787 printf ("Error in TIsajet::GetAQDP : \n");
5788 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5792 if ((index2 < 0) || (index2 >= col_num)) {
5793 printf ("Error in TIsajet::GetAQDP : \n");
5794 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5798 return WCON.aqdp[index1][index2];
5801 /**************************************************************************/
5803 Float_t TIsajet::GetBQDP(Int_t index1, Int_t index2) const
5805 Int_t col_num = (sizeof WCON.bqdp[0] / sizeof WCON.bqdp[0][0]);
5806 Int_t row_num = (sizeof WCON.bqdp / (sizeof WCON.bqdp[0][0] * col_num));
5808 if ((index1 < 0) || (index1 >= row_num)) {
5809 printf ("Error in TIsajet::GetBQDP : \n");
5810 printf ("Invalid array row index %d; range is 0-%d.\n", index1, row_num-1);
5814 if ((index2 < 0) || (index2 >= col_num)) {
5815 printf ("Error in TIsajet::GetBQDP : \n");
5816 printf ("Invalid array column index %d; range is 0-%d.\n", index2, col_num-1);
5820 return WCON.bqdp[index1][index2];
5823 /**************************************************************************/
5825 Float_t TIsajet::GetEZDP() const
5830 /**************************************************************************/
5832 void TIsajet::SetWFUDGE(Float_t val)
5837 /**************************************************************************/
5839 Float_t TIsajet::GetWFUDGE() const
5844 /**************************************************************************/
5846 // Ends WCON access.
5849 # define isaini isaini_
5850 # define isaevt isaevt_
5851 # define isabeg isabeg_
5852 # define isabg2 isabg2_
5853 # define openfiles openfiles_
5854 # define pdfinit pdfinit_
5856 # define type_of_call
5858 # define isaini ISAINI
5859 # define isaevt ISAEVT
5860 # define isabeg ISABEG
5861 # define isabg2 ISABG2
5862 # define openfiles OPENFILES
5863 # define pdfinit PDFINIT
5865 # define type_of_call _stdcall
5868 extern "C" void type_of_call isaini(Int_t& j, Int_t& k, Int_t& m, Int_t& n);
5869 extern "C" void type_of_call isaevt(Int_t& j, Int_t& k, Int_t& m);
5870 extern "C" void type_of_call openfiles();
5871 extern "C" void type_of_call pdfinit();
5872 extern "C" void type_of_call isabeg(Int_t& ifl);
5873 extern "C" void type_of_call isabg2(Int_t& ifl);
5875 void TIsajet::Isaini(Int_t& j, Int_t& k, Int_t& m, Int_t& n)
5880 void TIsajet::Isaevt(Int_t& j, Int_t& k, Int_t& m)
5885 void TIsajet::Openfiles()
5890 void TIsajet::PDFinit()
5892 pdfinit(pdfpar, pdfval);
5895 void TIsajet::Isabeg(Int_t& ifl)
5900 void TIsajet::Isabg2(Int_t& ifl)
5906 Double_t type_of_call ranf(Int_t & /*idum*/)
5909 do r=sRandom->Rndm(); while(0 >= r || r >= 1);